예제 #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;
 }
예제 #2
0
 /**
  *
  * @param \Tip\Repository\IzbirneOpcije $rep
  * @param string $object
  * @param array $vals
  */
 public function populateFunkcija($manager, $v)
 {
     $rep = $manager->getRepository('Produkcija\\Entity\\Funkcija');
     $tipFunR = $manager->getRepository('Produkcija\\Entity\\TipFunkcije');
     $o = $rep->findOneByNaziv(trim($v[0]));
     $nov = false;
     if (!$o) {
         $o = new Funkcija();
         $o->setNaziv(trim($v[0]));
         $nov = true;
     }
     $o->setKomentar($v[1]);
     $value = $tipFunR->findOneByIme($v[2]);
     $o->setTipFunkcije($value);
     if ($v[3]) {
         $o->setVodjaEkipe($v[3]);
     }
     $o->setVelikost($v[4]);
     $o->setPomembna($v[5]);
     $o->setSort($v[6]);
     $o->setSePlanira($v[7]);
     $o->setDovoliPrekrivanje($v[8]);
     if ($v[9]) {
         $getref = $this->getReference($v[9]);
         $o->setUprizoritev($getref);
     }
     // ker ni v isti skupini fixtur-jev, ne deluje getReference
     if ($nov) {
         $rep->create($o);
     } else {
         $rep->update($o);
     }
     $referenca = 'Funkcija-' . $v[0];
     //var_dump($referenca);
     $this->addReference($referenca, $o);
 }
예제 #3
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);
     }
 }