fix pages and add distribution system
Tests / PHPUnit (push) Failing after 1m13s

This commit is contained in:
root
2026-07-15 23:03:51 -04:00
parent 7f3b24e47f
commit ba87598d3a
38 changed files with 1362 additions and 658 deletions
+27 -19
View File
@@ -73,30 +73,37 @@ class PrintRequests extends BaseController
public function admin_index()
{
$db = \Config\Database::connect();
$query = $db->query("
SELECT
pr.*,
u.firstname,
u.lastname,
$context = $this->resolveSchoolYearContext();
$schoolYear = $context->yearName();
$printRequestsQuery = $this->printRequestModel
->select('
print_requests.*,
u.firstname,
u.lastname,
cs.class_section_name,
admins.firstname AS admin_firstname,
admins.lastname AS admin_lastname
FROM print_requests pr
LEFT JOIN users u ON u.id = pr.teacher_id
LEFT JOIN classSection cs ON cs.class_section_id = pr.class_id
LEFT JOIN users admins ON admins.id = pr.admin_id
ORDER BY
')
->join('users u', 'u.id = print_requests.teacher_id', 'left')
->join('classSection cs', 'cs.class_section_id = print_requests.class_id', 'left')
->join('users admins', 'admins.id = print_requests.admin_id', 'left');
$this->applyPrintRequestSchoolYearScope($printRequestsQuery, $schoolYear);
$data['print_requests'] = $printRequestsQuery
->orderBy("
CASE
WHEN pr.status = 'not_assigned' THEN 1
WHEN pr.status = 'assigned' THEN 2
WHEN pr.status = 'done' THEN 3
WHEN pr.status = 'delivered' THEN 4
WHEN print_requests.status = 'not_assigned' THEN 1
WHEN print_requests.status = 'assigned' THEN 2
WHEN print_requests.status = 'done' THEN 3
WHEN print_requests.status = 'delivered' THEN 4
ELSE 5
END ASC,
pr.required_by ASC
");
$data['print_requests'] = $query->getResultArray();
END
", 'ASC', false)
->orderBy('print_requests.required_by', 'ASC')
->findAll();
$data['isSchoolYearReadonly'] = $context->isReadonly();
return view('print_requests/admin_index', $data);
}
@@ -156,6 +163,7 @@ class PrintRequests extends BaseController
// Case 1: Admin status update
if ($this->request->getPost('status')) {
$this->assertSchoolYearWritable($this->resolveSchoolYearContext());
$user_id = session()->get('user_id');
$current_status = $request['status'];
$new_status = $this->request->getPost('status');