add assessment feature
Deploy to Shared Hosting / Shared hosting deploy (push) Failing after 49s
Tests / PHPUnit (push) Successful in 1m36s

This commit is contained in:
root
2026-09-10 06:44:24 -04:00
parent ac19226bf0
commit b5e719382d
31 changed files with 1712 additions and 65 deletions
+39
View File
@@ -1304,6 +1304,45 @@ $routes->get('/access_denied', 'ErrorController::accessDenied');
$routes->post('administrator/students/update', 'View\StudentController::editStudentData', ['filter' => 'auth:edit_student,update']);
// Shared assessment management (all administrative roles).
$assessmentAdminFilter = 'auth:admin_category';
$routes->group('administrator/assessments', ['filter' => $assessmentAdminFilter], static function ($routes) {
$routes->get('', 'View\AssessmentController::forms');
$routes->get('pools', 'View\AssessmentController::pools');
$routes->get('pools/(:num)', 'View\AssessmentController::pool/$1');
$routes->post('pools/(:num)/questions', 'View\AssessmentController::storeQuestion/$1');
$routes->post('questions/(:num)/update', 'View\AssessmentController::updateQuestion/$1');
$routes->post('questions/(:num)/delete', 'View\AssessmentController::deleteQuestion/$1');
$routes->post('questions/(:num)/move', 'View\AssessmentController::moveQuestion/$1');
$routes->get('forms', 'View\AssessmentController::forms');
$routes->get('forms/new', 'View\AssessmentController::newForm');
$routes->post('forms', 'View\AssessmentController::storeForm');
$routes->get('forms/(:num)/edit', 'View\AssessmentController::editForm/$1');
$routes->post('forms/(:num)', 'View\AssessmentController::updateForm/$1');
$routes->post('forms/(:num)/publish', 'View\AssessmentController::publishForm/$1');
$routes->get('forms/(:num)/preview', 'View\AssessmentController::preview/$1');
$routes->get('students', 'View\AssessmentController::newStudentRoster');
$routes->get('students/(:num)', 'View\AssessmentController::studentAssignments/$1');
$routes->post('students/(:num)/start', 'View\AssessmentController::startInterview/$1');
$routes->post('students/(:num)/assign', 'View\AssessmentController::assign/$1');
$routes->post('attempts/(:num)/progress', 'View\AssessmentController::saveAdminProgress/$1');
$routes->post('attempts/(:num)/note', 'View\AssessmentController::saveAdminNote/$1');
$routes->post('attempts/(:num)/complete', 'View\AssessmentController::completeAdminInterview/$1');
$routes->get('review/(:num)', 'View\AssessmentController::grade/$1');
$routes->post('review/(:num)', 'View\AssessmentController::saveGrade/$1');
$routes->get('grade/(:num)', 'View\AssessmentController::grade/$1');
$routes->post('grade/(:num)', 'View\AssessmentController::saveGrade/$1');
$routes->get('results/(:num)', 'View\AssessmentController::results/$1');
});
$routes->group('student/assessments', ['filter' => 'auth:student|parent'], static function ($routes) {
$routes->get('', 'View\AssessmentController::myAssessments');
$routes->get('(:num)', 'View\AssessmentController::take/$1');
$routes->post('(:num)/progress', 'View\AssessmentController::saveProgress/$1');
$routes->post('(:num)/submit', 'View\AssessmentController::submit/$1');
$routes->get('(:num)/results', 'View\AssessmentController::myResults/$1');
});
/*
* --------------------------------------------------------------------
* routes for View\SupportController