예제 #1
0
 /**
  * Display the session history of the current test center
  */
 public function sessionHistory()
 {
     $testCenter = $this->getCurrentTestCenter();
     $delivery = $this->getCurrentDelivery(false);
     $sessions = $this->getRequestParameter('session');
     $requestOptions = $this->getRequestOptions(['sortby' => 'timestamp', 'sortorder' => 'desc', 'periodStart' => '', 'periodEnd' => '', 'detailed' => false]);
     if (!is_array($sessions)) {
         $sessions = $sessions ? explode(',', $sessions) : [];
     }
     $breadcrumbs = [BreadcrumbsHelper::testCenters(), BreadcrumbsHelper::testCenter($testCenter, TestCenterHelper::getTestCenters()), BreadcrumbsHelper::deliveries($testCenter, [BreadcrumbsHelper::diagnostics($testCenter)])];
     $viewData = ['testCenter' => $testCenter->getUri(), 'set' => TestCenterHelper::getSessionHistory($sessions, true, $requestOptions), 'sessions' => $sessions, 'sortBy' => $requestOptions['sortBy'], 'sortOrder' => $requestOptions['sortOrder'], 'periodStart' => $requestOptions['periodStart'], 'periodEnd' => $requestOptions['periodEnd']];
     if ($delivery) {
         $breadcrumbs[] = BreadcrumbsHelper::deliveryMonitoring($testCenter, $delivery, DeliveryHelper::getDeliveries($testCenter));
         $viewData['delivery'] = $delivery->getUri();
     } else {
         $breadcrumbs[] = BreadcrumbsHelper::deliveryMonitoringAll($testCenter, DeliveryHelper::getDeliveries($testCenter));
     }
     $breadcrumbs[] = BreadcrumbsHelper::sessionHistory($testCenter, $delivery, $sessions);
     if (count($sessions) > 1) {
         $title = __('Detailed Session History of a selection');
     } else {
         $deliveryExecution = \taoDelivery_models_classes_execution_ServiceProxy::singleton()->getDeliveryExecution($sessions[0]);
         $title = __('Detailed Session History of %s', $deliveryExecution->getLabel());
     }
     $this->setData('title', $title);
     $this->composeView('session-history', $viewData, $breadcrumbs);
 }
예제 #2
0
 /**
  * Displays all delivery executions of ALL deliveries in the test center
  */
 public function monitoringAll()
 {
     $testCenter = $this->getCurrentTestCenter();
     $requestOptions = $this->getRequestOptions(['sortby' => 'date', 'sortorder' => 'desc']);
     /** @var $assessmentResultsService \oat\taoProctoring\model\AssessmentResultsService */
     $assessmentResultsService = $this->getServiceManager()->get(AssessmentResultsService::CONFIG_ID);
     /** @var $deliveryExecutionStateService \oat\taoProctoring\model\implementation\DeliveryExecutionStateService */
     $deliveryExecutionStateService = $this->getServiceManager()->get(DeliveryExecutionStateService::SERVICE_ID);
     $this->composeView('delivery-monitoring', array('testCenter' => $testCenter->getUri(), 'set' => DeliveryHelper::getAllCurrentDeliveriesExecutions($testCenter, $requestOptions), 'extrafields' => DeliveryHelper::getExtraFields(), 'categories' => $this->getAllReasonsCategories(), 'printReportButton' => json_encode($assessmentResultsService->getOption(AssessmentResultsService::OPTION_PRINT_REPORT_BUTTON)), 'timeHandling' => json_encode($deliveryExecutionStateService->getOption(DeliveryExecutionStateService::OPTION_TIME_HANDLING))), array(BreadcrumbsHelper::testCenters(), BreadcrumbsHelper::testCenter($testCenter, TestCenterHelper::getTestCenters()), BreadcrumbsHelper::deliveries($testCenter, array(BreadcrumbsHelper::diagnostics($testCenter))), BreadcrumbsHelper::deliveryMonitoringAll($testCenter, DeliveryHelper::getDeliveries($testCenter))), 'Monitoring/index.tpl');
 }