19 declare(strict_types=1);
34 $this->
ctrl->saveParameter($this,
"active_id");
36 switch ($this->
ctrl->getNextClass($this)) {
37 case 'ilassquestionpagegui':
39 $forwarder->setTestObj($this->
object);
40 $forwarder->forward();
44 $cmd = $this->
ctrl->getCmd(
'showVirtualPass') .
'Cmd';
52 $tableGUI->resetOffset();
53 $tableGUI->writeFilterToSession();
60 $tableGUI->resetOffset();
61 $tableGUI->resetFilter();
67 $test_session = $this->testSessionFactory->getSession();
69 if (!$this->
object->getShowPassDetails()) {
70 $executable = $this->
object->isExecutable($test_session, $test_session->getUserId());
72 if ($executable[
"executable"]) {
73 $this->
ctrl->redirectByClass(
"ilobjtestgui",
"infoScreen");
80 $virtual_sequence = $this->service->buildVirtualSequence($test_session);
81 $user_results = $this->service->getVirtualSequenceUserResults($virtual_sequence);
86 $objectives_list->loadObjectivesTitles();
90 $test_result_header_label_builder->setObjectiveOrientedContainerId($test_session->getObjectiveOrientedContainerId());
91 $test_result_header_label_builder->setUserId($test_session->getUserId());
92 $test_result_header_label_builder->setTestObjId($this->
object->getId());
93 $test_result_header_label_builder->setTestRefId($this->
object->getRefId());
94 $test_result_header_label_builder->initObjectiveOrientedMode();
96 $tpl =
new ilTemplate(
'tpl.il_as_tst_virtual_pass_details.html',
false,
false,
'Modules/Test');
98 foreach (array_keys($objectives_list->getObjectives()) as $lo_id) {
99 $user_results_for_lo = $objectives_list->filterResultsByObjective($user_results, $lo_id);
102 $user_results_for_lo,
103 $test_session->getActiveId(),
104 $test_session->getPass(),
110 $overview_table_gui->setTitle(
111 $test_result_header_label_builder->getVirtualPassDetailsHeaderLabel(
112 $objectives_list->getObjectiveTitleById($lo_id)
124 $lo_status->setUsrId($test_session->getUserId());
125 $lo_status_html = $lo_status->getHTML($lo_id);
showVirtualPassSetTableFilterCmd()
getObjectiveOrientedContainer()
ilGlobalTemplateInterface ilTemplate $tpl
sk 2023-08-01: We need this union type, even if it is wrong! To change this
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
buildUserTestResultsToolbarGUI()
static getInstance(ilTestSession $a_test_session)
populateContent($content)
buildPassDetailsOverviewTableGUI(ilTestServiceGUI|ilParticipantsTestResultsGUI $target_gui, string $target_cmd)
showVirtualPassResetTableFilterCmd()
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
getPassDetailsOverviewTableGUI(array $result_array, int $active_id, int $pass, ilTestServiceGUI|ilParticipantsTestResultsGUI $target_gui, string $target_cmd, ilTestQuestionRelatedObjectivesList $objectives_list=null, bool $multiple_objectives_involved=true)
buildQuestionRelatedObjectivesList(ilLOTestQuestionAdapter $objectives_adapter, ilTestQuestionSequence $test_sequence)
Service GUI class for tests.
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.