コード例 #1
0
ファイル: Job.php プロジェクト: CATSInformatica/CatsSys
 /**
  * Define o cargo imediatamente superior e o papel herdado.
  * 
  * Se já existe um cargo pai retira o papel correspondente ao cargo filho. Se não existe, adiciona o papel 
  * correspondente ao cargo filho. A referência do pai anterior deve ser guardada para ser salva no banco.
  * 
  * @param \AdministrativeStructure\Entity\Job $parent
  * @return Self
  */
 public function setParent(Job $parent)
 {
     $this->initRole();
     if (isset($this->parent) && $parent->getJobId() !== $this->parent->getJobId()) {
         $this->parentBuffer = $this->parent;
         $this->parentBuffer->removeChildren(new ArrayCollection([$this]));
     }
     $parent->addChildren(new ArrayCollection([$this]));
     $this->parent = $parent;
     return $this;
 }