19 declare(strict_types=1);
99 $cmd = $this->
ctrl->getCmd(self::CMD_SHOW) .
'Cmd';
108 protected function init(
bool $skill_profile_enabled): void
111 $this->testPassesSelector->setActiveId($this->testSession->getActiveId());
112 $this->testPassesSelector->setLastFinishedPass($this->testSession->getLastFinishedPass());
114 $assSettings =
new ilSetting(
'assessment');
117 $this->logging_services,
118 $this->test_obj->getTestId(),
119 $this->test_obj->getRefId(),
120 $this->skills_service->profile(),
121 $this->skills_service->personal()
125 $skillEvaluation->setActiveId($this->
getTestSession()->getActiveId());
127 $skillEvaluation->setNumRequiredBookingsForSkillTriggering((
int) $assSettings->get(
128 'ass_skl_trig_num_answ_barrier',
134 $availableSkillProfiles = $skillEvaluation->getAssignedSkillMatchingSkillProfiles();
136 $skillEvaluation->noProfileMatchingAssignedSkillExists($availableSkillProfiles)
141 $evaluationPasses = $this->testPassesSelector->getExistingPasses();
143 $availableSkills = [];
145 foreach ($evaluationPasses as $evalPass) {
146 $testResults = $this->test_obj->getTestResult($this->
getTestSession()->getActiveId(), $evalPass,
true);
148 $skillEvaluation->setPass($evalPass);
149 $skillEvaluation->evaluate($testResults);
151 if ($skill_profile_enabled && self::INVOLVE_SKILLS_BELOW_NUM_ANSWERS_BARRIER_FOR_GAP_ANALASYS) {
152 $skills = $skillEvaluation->getSkillsInvolvedByAssignment();
154 $skills = $skillEvaluation->getSkillsMatchingNumAnswersBarrier();
157 $availableSkills = array_merge($availableSkills, $skills);
165 $selected_skill_profile = $this->testrequest->int(self::SKILL_PROFILE_PARAM);
166 $skill_profile_enabled = $this->testrequest->isset(self::SKILL_PROFILE_PARAM);
168 $this->
init($skill_profile_enabled);
174 $evaluation_toolbar_gui->getSelectedEvaluationMode(),
178 $this->tpl->setContent(
179 $this->
ctrl->getHTML($evaluation_toolbar_gui) . $this->
ctrl->getHTML($personal_skills_gui)
193 $gui->setSelectedEvaluationMode($selectedSkillProfileId);
202 ?
int $selectedSkillProfileId,
203 array $availableSkills
208 $gui->setSelectedSkillProfile($selectedSkillProfileId);
209 $gui->setUsrId($usrId);
setAvailableSkillProfiles(array $availableSkillProfiles)
Provides fluid interface to LoggingServices.
setAvailableSkills(array $availableSkills)
buildEvaluationToolbarGUI(int $selectedSkillProfileId)
ilTestPassesSelector $testPassesSelector
const DEFAULT_SKL_TRIG_NUM_ANSWERS_BARRIER
isNoSkillProfileOptionEnabled()
init(bool $skill_profile_enabled)
setObjectiveOrientedContainer($objectiveOrientedContainer)
const INVOLVE_SKILLS_BELOW_NUM_ANSWERS_BARRIER_FOR_GAP_ANALASYS
setQuestionList($questionList)
ilAssQuestionList $questionList
getObjectiveOrientedContainer()
buildPersonalSkillsGUI(int $usrId, ?int $selectedSkillProfileId, array $availableSkills)
setNoSkillProfileOptionEnabled(bool $noSkillProfileOptionEnabled)
setAvailableSkills(array $availableSkills)
array $availableSkillProfiles
ilTestObjectiveOrientedContainer $objectiveOrientedContainer
const SKILL_PROFILE_PARAM
bool $noSkillProfileOptionEnabled
getAvailableSkillProfiles()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(private ilObjTest $test_obj, private ilCtrl $ctrl, private ilGlobalTemplateInterface $tpl, private ilLanguage $lng, private ilDBInterface $db, private LoggingServices $logging_services, private SkillService $skills_service, private InternalRequestService $testrequest)
setTestSession(ilTestSession $testSession)
ilTestSession $testSession