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