From 618b08acbd5f1d85bed2a38d3d87908f7ef662cf Mon Sep 17 00:00:00 2001
From: MHEN2606 <matthew.mahendra@gmail.com>
Date: Fri, 10 Nov 2023 14:54:09 +0700
Subject: [PATCH] feat: Get Assignment Data from REST

---
 app/controllers/assignments.php |  6 ++++-
 app/models/application.php      |  2 +-
 app/views/assignments/index.php | 13 +++++-----
 public/js/assignments.js        | 46 +++++++++++++++++++++++++++++++++
 4 files changed, 58 insertions(+), 9 deletions(-)
 create mode 100644 public/js/assignments.js

diff --git a/app/controllers/assignments.php b/app/controllers/assignments.php
index 942219b..78c5817 100644
--- a/app/controllers/assignments.php
+++ b/app/controllers/assignments.php
@@ -1,7 +1,11 @@
 <?php
-
+require_once ("app/models/SOAP.php");
 class Assignments extends Controller{
     public function index(){
+        $client = new SOAP("ScholarshipAcceptance?wsdl");
+        $param = Array("user_id_student" => $_SESSION['user_id']);
+        $response = $client->doRequest("getAcceptanceStatus", $param);
+        $data['assignments'] = json_encode($response->return);
         $data['judul'] = 'Assignment';
         $data['style'] = "/public/css/dashboard.css";
         $data['style'] = "/public/css/userlist.css";
diff --git a/app/models/application.php b/app/models/application.php
index f6b833e..fbbcc11 100644
--- a/app/models/application.php
+++ b/app/models/application.php
@@ -26,7 +26,7 @@ class Application{
 
                     $user_id_student = $response->return[$i]->user_id_student;
                     $user_id_scholarship = $response->return[$i]->user_id_scholarship;
-                    $scholarship_id = $response->return[$i]->scholarship_id;
+                    $scholarship_id = $response->return[$i]->scholarship_id_php;
                     $status = $response->return[$i]->status;
 
                     $query = "SELECT ? as user_id_student, user_id as user_id_scholarship, scholarship_id, title, description, coverage, ? as status FROM scholarship WHERE user_id = ? AND scholarship_id = ?";
diff --git a/app/views/assignments/index.php b/app/views/assignments/index.php
index 387398f..a571013 100644
--- a/app/views/assignments/index.php
+++ b/app/views/assignments/index.php
@@ -3,13 +3,12 @@
     <div class="container" id="content">
 
         <!-- Iterate Here -->
-        <div class="box">
-            <h2 class="name">Title</h2>
-            <div class="attribute">Description:</div>
-            <button class="btn btn-primary" onclick="">Submit</button>
-            <!-- To-Do: Pindah ke Halaman Submit untuk Upload -->
-        </div> 
 
     </div>
 
-</div>
\ No newline at end of file
+</div>
+
+<script>
+    const assignmentsData = <?php echo $data['assignments'];?>
+</script>
+<script src="/public/js/assignments.js"></script>
\ No newline at end of file
diff --git a/public/js/assignments.js b/public/js/assignments.js
new file mode 100644
index 0000000..e1c70b0
--- /dev/null
+++ b/public/js/assignments.js
@@ -0,0 +1,46 @@
+function renderAssignments(){
+    /* For elements in assignmentsData, get the data of assignment from 
+     * the REST data
+     */
+
+    const element = document.getElementById("content");
+
+    const xhr = new XMLHttpRequest();
+    xhr.open("GET", "http://localhost:5000/api/assignment")
+
+    xhr.onload = () => {
+        const res = JSON.parse(xhr.response);
+
+        console.log(res.data);
+        element.innerHTML = '';
+        if (res.status === 'success') {
+            assignmentsData.forEach((assignmentData) => {
+                /* For elements in the assignmentsData, match the id on res.data */
+                console.log(assignmentData.scholarship_id_rest)
+                const matchingAssignment = res.data.find((assignment) => assignment.scholarship_id === assignmentData.scholarship_id_rest);
+
+                if(matchingAssignment){
+                    element.innerHTML += `
+                    <div class="box">   
+                        <h2 class="name">${matchingAssignment.assignment_name} - ${matchingAssignment.scholarship_name}</h2>
+                        <div class="attribute">Description: ${matchingAssignment.assignment_description}</div>
+                        <button class="btn btn-primary" onclick="openAssignment(${matchingAssignment.scholarship_id}, ${matchingAssignment.assignment_id})">Submit</button>
+                    </div>
+                    `;
+                }
+            })
+            // element.innerHTML = "";
+
+        } else {
+            alertModal.style.display = "block";
+        }
+    };
+
+    xhr.send()
+}
+
+function openAssignment(sid, aid){
+    window.location.href=`assignments/submit?sid=${sid}&aid=${aid}`
+}
+
+document.addEventListener("DOMContentLoaded", renderAssignments);
\ No newline at end of file
-- 
GitLab