Exemplo n.º 1
0
 /**
  * Vrne Osebe bodis zasedene bodisi nezasedene v obliki [funId => osebaId]
  * 
  * @param \Produkcija\Entity\Funkcija $funkcija
  * @param array $zasedeneOsebe
  * @param type $izpisiZasedene
  * @return string
  */
 private function getOsebe(\Produkcija\Entity\Funkcija $funkcija, array $zasedeneOsebe = [], $izpisiZasedene = false)
 {
     $rezultat = [];
     $privzetoIme = "";
     foreach ($funkcija->getAlternacije() as $alter) {
         /* @var $alter \Produkcija\Entity\Alternacija */
         if ($alter->getOseba()) {
             $osebaId = $alter->getOseba()->getId();
             if ($izpisiZasedene && in_array($osebaId, $zasedeneOsebe) || !$izpisiZasedene && !in_array($osebaId, $zasedeneOsebe)) {
                 $rezultat[] = $osebaId;
             }
         }
     }
     return $rezultat;
 }
Exemplo n.º 2
0
 /**
  * če nima nobena funkcija alternacije nastavljenega privzeti na true 
  * in če collection ni prazen
  * potem nastavi prvega v collection-u
  * 
  * @param entity $funkcija
  */
 public function nastaviEnPrivzeti(Funkcija $funkcija)
 {
     if ($funkcija && $funkcija->getAlternacije()->count() >= 1) {
         if (!$funkcija->getAlternacije()->exists(function ($key, $alt) use(&$id) {
             return $alt->getPrivzeti();
             //vrne true, če obstaja vsaj ena alternacija s privzeti
         })) {
             $altPr = $funkcija->getAlternacije()->first();
             $altPr->setPrivzeti(true);
             $funkcija->setPrivzeti($altPr);
         }
     } else {
         /**
          * če brišemo zadnjo alternacijo pri funkciji
          */
         $funkcija->setPrivzeti(null);
     }
 }