$startDate = $startDate->format('Y-m-d'); $endDate = $endDate->format('Y-m-d'); $log = $assignments->getLog($startDate, $endDate); $l10n->addResource(__DIR__ . '/l10n/seat-assignments.json'); $l10n->localizeArray($log, 'comment'); $viewFile = 'views/seat-assignments.php'; } elseif ($_GET['page'] === 'execute-script') { if ($_POST['type'] === 'reassign') { $assignments->unassignExamsSeatsInRange($_POST['start'], $_POST['end']); } //retrieve presorted and prioritized lists of exams and seats and hours of operation $maxAccommodationWeight = $assignments->getMaxAccommodationPriorityValue(); $buckets = $assignments->getAndSortData($_POST['start'], $_POST['end'], $maxAccommodationWeight); $seats = $assignments->getSeats($maxAccommodationWeight); // initialize values used in statistics $totalExamsInRange = count($model->getExamRequestsInRange($_POST['start'], $_POST['end'])); $nrOfExamsInBucket = 0; $examsScheduled = 0; $seatsAssigned = 0; if (!empty($buckets)) { //exams have been sorted based on priority and placed into buckets reprsenting exan dates foreach ($buckets as $dateBucket) { //iterate through each exam on a particular day foreach ($dateBucket as $exam) { $nrOfExamsInBucket++; //reinitalize flags for each bucket $hasConflicts = false; $noAccommodations = false; $found = false; //iterate through each active seat and check whether to seat is eligible foreach ($seats as $seat) {
$thisPage = "confirmed-requests"; $default_date_range = unserialize(EXAMS_AND_PROCTOR_DEFAULT_DATE_FILTER_RANGE); if (!empty($_GET['start']) && !empty($_GET['end'])) { $startDate = \DateTime::createFromFormat('Y-m-d', urldecode($_GET['start'])); $endDate = \DateTime::createFromFormat('Y-m-d', urldecode($_GET['end'])); } if (!$startDate) { $startDate = new \DateTime($default_date_range['start']); } if (!$endDate) { $endDate = new \DateTime($default_date_range['end']); } $startDate = $startDate->format('Y-m-d'); $endDate = $endDate->format('Y-m-d'); //get all exam requests $allRequests = $model->getExamRequestsInRange($startDate, $endDate); $buildings = $seatManagement->getAllBuildings(); foreach ($allRequests as &$req) { $req["dropped"] = $model->determineDropped($req); $req['proctor_status'] = \Ventus\Proctor\Proctor::determineStatus(array("is_cancelled" => $req['is_cancelled'], "proctor_initiated" => $req['proctor_initiated'], "official_evaluation_starttime" => \DateTime::createFromFormat(DATETIME_MYSQL, $req['official_evaluation_starttime']), "official_evaluation_endtime" => \DateTime::createFromFormat(DATETIME_MYSQL, $req['official_evaluation_endtime']), "actual_evaluation_starttime" => \DateTime::createFromFormat(DATETIME_MYSQL, $req['actual_evaluation_starttime']), "actual_evaluation_endtime" => \DateTime::createFromFormat(DATETIME_MYSQL, $req['actual_evaluation_endtime']))); } unset($req); $l10n->addResource(__DIR__ . '/l10n/confirmed-requests.json'); $l10n->localizeArray($allRequests, 'accommodations'); $viewFile = 'views/confirmed-requests.php'; } else { if ($_GET['page'] === "fetch-request-details") { //gather request and accommodation data $request = $model->getExamRequestById($_POST['request_id']); $examAccs = $model->getExamAccommodationsById($_POST['request_id']); $studentAccs = $model->getAllStudentActiveExamAndTranscriptionAccommodations($_POST['student_id'], $_POST['exam_date'], $request[0]['course_code'], $request[0]['course_section'], $request[0]['session']);