/**
  * @param Objective $objective
  */
 public function setObjective(Objective $objective)
 {
     $this->objective = $objective;
     $this->objectiveName = $objective->getName();
 }
Esempio n. 2
0
 private function getObjectiveProgress(Objective $objective, User $user)
 {
     if (!isset($this->cachedObjectiveProgresses[$objective->getId()])) {
         $progress = $this->objectiveProgressRepo->findOneBy(['objective' => $objective, 'user' => $user]);
         if (!$progress) {
             $progress = new ObjectiveProgress();
             $progress->setObjective($objective);
             $progress->setUser($user);
             $this->om->persist($progress);
         } else {
             $this->om->persist($progress->makeLog());
         }
         $this->cachedObjectiveProgresses[$objective->getId()] = $progress;
     }
     return $this->cachedObjectiveProgresses[$objective->getId()];
 }
 protected function persistObjective($name, array $competenciesData)
 {
     $objective = new Objective();
     $objective->setName($name);
     foreach ($competenciesData as $competencyData) {
         $link = new ObjectiveCompetency();
         $link->setCompetency($competencyData[0]);
         $link->setFramework($competencyData[1]);
         $link->setLevel($competencyData[2]);
         $this->om->persist($link);
         $objective->addObjectiveCompetency($link);
     }
     $this->om->persist($objective);
     return $objective;
 }
 private function doLoadObjectiveCompetencies(Objective $objective, $loadAbilities)
 {
     $links = $objective->getObjectiveCompetencies();
     $competencies = [];
     foreach ($links as $link) {
         $competency = $this->competencyManager->loadCompetency($link->getCompetency(), $loadAbilities);
         $competency['originalId'] = $competency['id'];
         $competency['id'] = $link->getId();
         // link is treated as the competency itself on client-side
         $competency['framework'] = $link->getFramework()->getName();
         $competency['level'] = $link->getLevel()->getName();
         $competency['levelValue'] = $link->getLevel()->getValue();
         $competencies[] = $competency;
     }
     return $competencies;
 }