private function buildPersonalSkillsGUI($usrId, $selectedSkillProfileId)
 {
     $availableSkills = $this->skillEvaluation->getUniqueAssignedSkillsForPersonalSkillGUI();
     $reachedSkillLevels = $this->skillEvaluation->getReachedSkillLevelsForPersonalSkillGUI();
     $gui = new ilTestPersonalSkillsGUI($this->lng, $this->getObjectId());
     $gui->setAvailableSkills($availableSkills);
     $gui->setSelectedSkillProfile($selectedSkillProfileId);
     $gui->setReachedSkillLevels($reachedSkillLevels);
     $gui->setUsrId($usrId);
     return $gui;
 }
 private function performSkillTriggering($activeId, $finishedPass, $userId)
 {
     require_once 'Modules/Test/classes/class.ilTestSkillEvaluation.php';
     $skillEvaluation = new ilTestSkillEvaluation($this->db, $this->object);
     $skillEvaluation->init()->trigger($activeId, $finishedPass, $userId);
 }
 /**
  * @param ilTestSession $testSession
  */
 protected function handleSkillTriggering(ilTestSession $testSession)
 {
     $questionList = $this->buildTestPassQuestionList();
     $questionList->load();
     $testResults = $this->object->getTestResult($testSession->getActiveId(), $testSession->getPass(), true);
     require_once 'Modules/Test/classes/class.ilTestSkillEvaluation.php';
     $skillEvaluation = new ilTestSkillEvaluation($this->db, $this->object->getTestId(), $this->object->getRefId());
     $skillEvaluation->setUserId($testSession->getUserId());
     $skillEvaluation->setActiveId($testSession->getActiveId());
     $skillEvaluation->setPass($testSession->getPass());
     $skillEvaluation->setNumRequiredBookingsForSkillTriggering($this->assSettings->get('ass_skl_trig_num_answ_barrier', ilObjAssessmentFolder::DEFAULT_SKL_TRIG_NUM_ANSWERS_BARRIER));
     $skillEvaluation->init($questionList);
     $skillEvaluation->evaluate($testResults);
     $skillEvaluation->handleSkillTriggering();
 }