From c6145fc5f7227c692acf62c4eedfad9aaefed98c Mon Sep 17 00:00:00 2001
From: MHEN2606 <matthew.mahendra@gmail.com>
Date: Fri, 10 Nov 2023 20:26:30 +0700
Subject: [PATCH] chore: Change Assignment Viewing and Wireframe

---
 app/models/application.php       | 14 ++++++++------
 app/views/assignments/index.php  |  2 +-
 app/views/assignments/submit.php | 11 +++++++++--
 app/views/navbar/index.php       |  8 +-------
 public/js/applications.js        |  6 +++++-
 public/js/assignments.js         | 23 +++++++++--------------
 public/js/submit.js              | 22 ++++++++++++++++++++++
 7 files changed, 55 insertions(+), 31 deletions(-)
 create mode 100644 public/js/submit.js

diff --git a/app/models/application.php b/app/models/application.php
index 42d91ac..9ab67c2 100644
--- a/app/models/application.php
+++ b/app/models/application.php
@@ -26,14 +26,15 @@ 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_php;
+                    $scholarship_id_php = $response->return[$i]->scholarship_id_php;
+                    $scholarship_id_rest = $response->return[$i]->scholarship_id_rest;
                     $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 = ?";
+                    $query = "SELECT ? as user_id_student, user_id as user_id_scholarship, scholarship_id as scholarship_id_php, ? as scholarship_id_rest, title, description, coverage, ? as status FROM scholarship WHERE user_id = ? AND scholarship_id = ?";
 
                     $stmt = $this->db->setSTMT($query);
 
-                    mysqli_stmt_bind_param($stmt, "isii", $user_id_student, $status, $user_id_scholarship, $scholarship_id);
+                    mysqli_stmt_bind_param($stmt, "iisii", $user_id_student, $scholarship_id_rest, $status, $user_id_scholarship, $scholarship_id_php);
 
                     mysqli_stmt_execute($stmt);
 
@@ -49,13 +50,14 @@ class Application{
 
                 $user_id_student = $returnElement->user_id_student;
                 $user_id_scholarship = $returnElement->user_id_scholarship;
-                $scholarship_id = $returnElement->scholarship_id_php;
+                $scholarship_id_php = $returnElement->scholarship_id_php;
+                $scholarship_id_rest = $returnElement->scholarship_id_rest;
                 $status = $returnElement->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 = ?";
+                $query = "SELECT ? as user_id_student, user_id as user_id_scholarship, scholarship_id as scholarship_id_php, title, description, coverage, ? as scholarship_id_rest, ? as status FROM scholarship WHERE user_id = ? AND scholarship_id = ?";
                 $stmt = $this->db->setSTMT($query);
 
-                mysqli_stmt_bind_param($stmt, "isii", $user_id_student, $status, $user_id_scholarship, $scholarship_id);
+                mysqli_stmt_bind_param($stmt, "iisii", $user_id_student, $scholarship_id_rest, $status, $user_id_scholarship, $scholarship_id_php);
                 mysqli_stmt_execute($stmt);
 
                 $result = mysqli_stmt_get_result($stmt);
diff --git a/app/views/assignments/index.php b/app/views/assignments/index.php
index a571013..cc9eb0e 100644
--- a/app/views/assignments/index.php
+++ b/app/views/assignments/index.php
@@ -9,6 +9,6 @@
 </div>
 
 <script>
-    const assignmentsData = <?php echo $data['assignments'];?>
+    const sid = <?php echo $_GET['sid'];?>
 </script>
 <script src="/public/js/assignments.js"></script>
\ No newline at end of file
diff --git a/app/views/assignments/submit.php b/app/views/assignments/submit.php
index adf0acc..decc23c 100644
--- a/app/views/assignments/submit.php
+++ b/app/views/assignments/submit.php
@@ -1,5 +1,6 @@
 <div class="add-document">
-    <h1>Assignment Submission</h1>
+    <h1 id="assignment_name"></h1>
+    <p id="description"></p>
     <div class="form">
         <form action="javascript:;" onsubmit="return submitForm()" enctype="multipart/form-data">
             <div class="input-container">
@@ -12,4 +13,10 @@
             </div>
         </form>
     </div>
-</div>
\ No newline at end of file
+</div>
+
+<script>
+    var sid = <?php echo $_GET['sid'];?>;
+    var aid = <?php echo $_GET['aid'];?>;
+</script>
+<script src="/public/js/submit.js"></script>
\ No newline at end of file
diff --git a/app/views/navbar/index.php b/app/views/navbar/index.php
index e6e6644..29a76ee 100644
--- a/app/views/navbar/index.php
+++ b/app/views/navbar/index.php
@@ -19,13 +19,7 @@
                     <li><a href="/dashboard">Dashboard</a></li>
                     <li><a href="/scholarships">Scholarships</a></li>
                     <li><a href="/bookmarks">Bookmarks</a></li>
-                    <div class="dropdown">
-                        <a class="dropdownHead">Applications<span class="arrow-down-nav"></span></a>
-                        <div class="dropdown-content">
-                            <a href="/applications">Scholarship Applications</a>
-                            <a href="/assignments">Assignments</a>
-                        </div>
-                    </div>
+                    <li><a href="/applications">Applications</a></li>
                     <div class="dropdown">
                         <a class="dropdownHead">Document Preparation<span class="arrow-down-nav"></span></a>
                         <div class="dropdown-content">
diff --git a/public/js/applications.js b/public/js/applications.js
index e1dac0d..b81dc95 100644
--- a/public/js/applications.js
+++ b/public/js/applications.js
@@ -20,7 +20,7 @@ const getApplications = () => {
                         <td class="comment">${element.description}</td>
                         <td class="comment">$${element.coverage.toLocaleString("id-ID")}</td>
                         <td class="comment">${element.status}</td>
-                        ${element.status == 'accepted' ? '<td class="comment"><button class="button-style" onclick="">View Assignments</button></td>' : ''}
+                        <td class="comment"><button class="button-style" onclick="viewAssignments(${element.scholarship_id_rest})">View Assignments</button></td>
                     </tr>`
                     // To-Do: Create a Function to move to /assignments. Pass along the user_id_student, user_id_scholarship, and scholarship_id
                     scholarshipsTableBody.innerHTML += row;
@@ -37,4 +37,8 @@ const getApplications = () => {
     xhr.send()
 }
 
+const viewAssignments = (sid) => {
+    window.location.href=`/assignments?sid=${sid}`
+}
+
 document.addEventListener("DOMContentLoaded", getApplications);
\ No newline at end of file
diff --git a/public/js/assignments.js b/public/js/assignments.js
index e1c70b0..35ffe78 100644
--- a/public/js/assignments.js
+++ b/public/js/assignments.js
@@ -6,7 +6,7 @@ function renderAssignments(){
     const element = document.getElementById("content");
 
     const xhr = new XMLHttpRequest();
-    xhr.open("GET", "http://localhost:5000/api/assignment")
+    xhr.open("GET", `http://localhost:5000/api/assignment/${sid}`)
 
     xhr.onload = () => {
         const res = JSON.parse(xhr.response);
@@ -14,23 +14,18 @@ function renderAssignments(){
         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){
+            if(res.data.length === 0){
+                element.innerHTML = "No Assignments Found";
+            }else{
+                res.data.forEach(el => {
                     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>
+                        <h2 class="name">${el.assignment_name}</h2>
+                        <button class="btn btn-primary" onclick="openAssignment(${el.scholarship_id}, ${el.assignment_id})">Submit</button>
                     </div>
                     `;
-                }
-            })
-            // element.innerHTML = "";
-
+                });
+            }
         } else {
             alertModal.style.display = "block";
         }
diff --git a/public/js/submit.js b/public/js/submit.js
new file mode 100644
index 0000000..d7efc0d
--- /dev/null
+++ b/public/js/submit.js
@@ -0,0 +1,22 @@
+const render = () => {
+    const xhr = new XMLHttpRequest();
+    xhr.open("GET", `http://localhost:5000/api/assignment/${sid}/${aid}`)
+
+    xhr.onload = () => {
+        const res = JSON.parse(xhr.response);
+        console.log(res.data);
+
+        if (res.status === 'success') {
+
+            title.innerHTML = res.data.assignment_name
+            description.innerHTML = res.data.assignment_description
+
+        }
+    }
+
+    xhr.send()
+}
+const title = document.getElementById("assignment_name");
+const description = document.getElementById("description");
+
+document.addEventListener("DOMContentLoaded", render);
\ No newline at end of file
-- 
GitLab