Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions controllers/AnnouncementController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use app\core\Controller;
use app\core\Request;
use app\model\Course;
use app\model\SiteAnnouncement;
use app\model\CourseAnnouncement;

Expand Down Expand Up @@ -31,11 +32,13 @@ public function displayCourseAnnouncements(Request $request)
{
$body = $request->getBody();
$params['course_code'] = $body['course_code'];
$params['course'] = Course::getCourse($body['course_code']);
$params['announcements'] = CourseAnnouncement::getCourseAnnouncements($params['course_code']);
return $this->render(
view: 'course/course_announcement',
params: $params
);

}

/**
Expand Down
5 changes: 4 additions & 1 deletion controllers/CourseController.php
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,9 @@ public function displayAllSubmissions(Request $request)
{
$body = $request->getBody();
$params['course_code'] = $body['course_code'];
$params['submission'] = Course::getCourse($body['course_code']);
$params['submissions'] = Submission::getSubmission($params['course_code']);
$params['remaining_points'] = count($params['submissions']) > 0 ? $params['submissions'][0]->remainingPoints : 100;
return $this->render(
view: '/submissions',
allowedRoles: ['Lecturer'],
Expand All @@ -195,9 +197,10 @@ public function CreateSubmission(Request $request)
topic: $body['heading'],
description: $body['content'],
dueDate: $dueDate->format('Y-m-d H:i:s'),
remainingPoints: (int)$body['remainingPoint'] ?? 0,
allocatedMark: (int)$body['mark'] ?? 0,
allocatedPoint: (int)$body['point'] ?? 0,
visibility: $body['visibility'] ?? false,
visibility: $body['visibility'] ?? false
);

$submission_id = $course_submissions->getLastSubmissionId()+1;
Expand Down
26 changes: 23 additions & 3 deletions model/Submission.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ class Submission
private string $dueDate;
private bool $visibility;
private string $location;
public int $remainingPoints;


private function __construct() {}

public static function createNewSubmission($courseCode, $topic, $description, $dueDate, $allocatedMark=0, $allocatedPoint=0, $visibility=false, $location="",$submissionId="") {
public static function createNewSubmission($courseCode, $topic, $description, $dueDate, $remainingPoints, $allocatedMark=0, $allocatedPoint=0, $visibility=false, $location="",$submissionId="") {
$submission = new Submission();
if ($submissionId != ""){
$submission->submissionId = $submissionId;
Expand All @@ -33,6 +34,7 @@ public static function createNewSubmission($courseCode, $topic, $description, $d
$submission->dueDate = $dueDate;
$submission->visibility = $visibility;
$submission->location = $location;
$submission->remainingPoints = $remainingPoints;
return $submission;
}

Expand All @@ -44,17 +46,29 @@ public static function getSubmission($course_code): array
where: ['course_code' => $course_code],
order: 'submission_id DESC'
);

$total_allocated_marks = Application::$db->select(
table: 'coursesubmission',
columns: ['SUM(allocated_point)'],
where: ['course_code' => $course_code],
limit: 1
);
$marks_row = mysqli_fetch_assoc($total_allocated_marks);
$total_allocated_points = $marks_row['SUM(allocated_point)'] * 100 / 100;
$remaining_points = 100 - $total_allocated_points;

while ($sub = Application::$db->fetch($results)){
$assignmentSubmissions[] = self::createNewSubmission(
courseCode: $sub['course_code'],
topic: $sub['topic'],
description: $sub['description'],
dueDate: $sub['due_date'],
remainingPoints: $remaining_points,
allocatedMark: $sub['allocated_mark'],
allocatedPoint: $sub['allocated_point'],
visibility: $sub['visibility'],
location: $sub['attachments']?? '',
submissionId: $sub['submission_id']
submissionId: $sub['submission_id'] // Pass the remaining points to each submission
);
}
return $assignmentSubmissions;
Expand Down Expand Up @@ -314,5 +328,11 @@ public function setLocation(string $location): void
$this->location = $location;
}


/**
* @return int
*/
public function getRemainingPoints(): int
{
return $this->remainingPoints;
}
}
2 changes: 2 additions & 0 deletions views/course/course_announcement.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
<link rel="stylesheet" href="css/announcement.css">

<div class="main-container border v-center flex-gap responsive-container">
<h3><?php echo $course->getCourseName()?></h3>
<h3><?php echo $course_code?></h3>

<?php if ($_SESSION['user-role'] == 'Lecturer' or $_SESSION['user-role'] == 'Coordinator') {?>
<form method="post" action="course_announcement" class="announcement-card border">
<input type="text" value="<?php echo $course_code?>" name="course_code" hidden>
Expand Down
4 changes: 3 additions & 1 deletion views/submissions.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<link rel="stylesheet" href="css/submissions.css">

<div id="file-upload-container" class="main-container border v-center flex-gap responsive-container">
<h3><?php echo $submission->getCourseName()?></h3>
<h3><?php echo $course_code?></h3>

<form id="add-attachment" class="flex flex-column" action="/submissions" method="post" enctype="multipart/form-data">
Expand All @@ -16,7 +17,8 @@ class="add-headline text-bold v-center text-justify" id="" wrap="hard"></textare
<div class="submissions-card-inside border">
<div class="container-heading-input grid h-justify v-center">
<div class="view-points-and-marks">Marks Allocated:- <input id="add_mark" type="number" name="mark" placeholder="Add Marks ..." class="add-points-and-marks" min="0" pattern="\d+"></div>
<div class="view-points-and-marks">Points Allocated:- <input id="add_point" type="number" name="point" placeholder="Add Points..." class="add-points-and-marks" min="0" pattern="\d+"></div>
<div class="view-points-and-marks">Points Allocated:- <input id="add_point" type="number" name="point" placeholder="Add Points..." class="add-points-and-marks" max="<?php echo $remaining_points; ?>" min="0" pattern="\d+"></div>
<input type="hidden" name="remaining_points" value="<?= $params['remaining_points'] ?>">
<label for="duetime">Due date:- </label>
<input type="datetime-local" id="duetime" name="duetime" class="due-date">
</div>
Expand Down