Beispiel #1
0
 public function getUprizoritev()
 {
     if ($this->dogodek && $this->dogodek->getPodrobno() && method_exists($this->dogodek->getPodrobno(), "getUprizoritev")) {
         return $this->dogodek->getPodrobno()->getUprizoritev();
     }
     return null;
 }
Beispiel #2
0
 function dodajDogodek()
 {
     $this->dogodek = new Dogodek();
     $this->dogodek->setGostovanje($this);
     $this->dogodek->setRazred(Dogodek::GOSTOVANJE);
 }
Beispiel #3
0
 function dodajDogodek()
 {
     $this->dogodek = new Dogodek();
     $this->dogodek->setTehnicni($this);
     $this->dogodek->setRazred(Dogodek::TEHNICNI);
 }
Beispiel #4
0
 /**
  * dodaj dogodek
  */
 public function dodajDogodek()
 {
     $this->dogodek = new Dogodek();
     $this->dogodek->setVaja($this);
     $this->dogodek->setRazred(Dogodek::VAJA);
 }
Beispiel #5
0
 /**
  * 
  * @param \Koledar\Entity\Dogodek $dogodek
  * @param datetime $zacetekD                začetek novega dogodka
  * @return boolean
  */
 public function kopirajDogodek(\Koledar\Entity\Dogodek $dogodek, $zacetekD)
 {
     $this->expect(in_array($dogodek->getStatus(), [\Koledar\Entity\Dogodek::PLANIRAN, \Koledar\Entity\Dogodek::PREGLEDAN, \Koledar\Entity\Dogodek::POTRJEN]), "Kopirati je možno planirane,pregledane ali potrjene dogodke", 1001271);
     $this->expect($dogodek->getRazred() != \Koledar\Entity\Dogodek::GOSTOVANJE, "Gostovanja ni možno kopirati", 1001272);
     $this->expect(!$dogodek->getNadrejenoGostovanje(), "Dogodka, ki je del gostovanja, ni možno kopirati", 1001273);
     $em = $this->serviceLocator->get("\\Doctrine\\ORM\\EntityManager");
     $dogR = $em->getRepository("Koledar\\Entity\\Dogodek");
     $newDog = $dogodek->copy();
     $this->getEm()->persist($newDog);
     $newDog->setStatus(\Koledar\Entity\Dogodek::PLANIRAN);
     $cas = clone $zacetekD;
     // $$ da kasneje v uow ne spreminja začetka dogodka
     $newDog->setZacetek($cas);
     /**
      * novi dogodek je enako dolg kot stari
      */
     $delta = (int) (($dogodek->getKonec()->getTimestamp() - $dogodek->getZacetek()->getTimestamp()) / 60);
     $newDog->setKonec($dogR->dodajInterval($zacetekD, $delta));
     /*
      * spraznimo array collectione
      */
     $newDog->setTerminiStoritve(new \Doctrine\Common\Collections\ArrayCollection());
     /*
      * razčisti polja:
      *  sezona  - se pri update-u sama preračuna
      */
     if ($dogodek->getVaja()) {
         $newPodDog = $dogodek->getVaja()->copy();
         $this->getEm()->persist($newPodDog);
         $newPodDog->setDogodek($newDog);
         $newDog->setVaja($newPodDog);
     }
     if ($dogodek->getPredstava()) {
         $newPodDog = $dogodek->getPredstava()->copy();
         $this->getEm()->persist($newPodDog);
         /*
          *   abonmaji  - many to many relacij tehnično ni potrebno spreminjati
          */
         $newPodDog->setDogodek($newDog);
         $newDog->setPredstava($newPodDog);
     }
     if ($dogodek->getSplosni()) {
         $newPodDog = $dogodek->getSplosni()->copy();
         $this->getEm()->persist($newPodDog);
         $newPodDog->setDogodek($newDog);
         $newDog->setSplosni($newPodDog);
     }
     if ($dogodek->getTehnicni()) {
         $newPodDog = $dogodek->getTehnicni()->copy();
         $this->getEm()->persist($newPodDog);
         $newPodDog->setDogodek($newDog);
         $newDog->setTehnicni($newPodDog);
     }
     if ($dogodek->getGostovanje()) {
         /*
          * še en expect za vsak slučaj
          */
         $this->expect(false, "Gostovanja ni možno kopirati", 1001274);
     }
     if ($dogodek->getNadrejenoGostovanje()) {
         /*
          * še en expect za vsak slučaj
          */
         $this->expect(false, "Dogodka, ki je del gostovanja, ni možno kopirati", 1001275);
     }
     $coll = $dogodek->getTerminiStoritve();
     foreach ($coll as $ts) {
         $newTS = $ts->copy();
         $this->getEm()->persist($newTS);
         $newTS->setUra(null);
         $newTS->setDogodek($newDog);
         $newDog->getTerminiStoritve()->add($newTS);
     }
     $dogR->update($newDog);
     // da na novo preračuna termine storitve
     return $newDog->getId();
 }
Beispiel #6
0
 function dodajDogodek()
 {
     $this->dogodek = new Dogodek();
     $this->dogodek->setSplosni($this);
     $this->dogodek->setRazred(Dogodek::SPLOSNO);
 }
Beispiel #7
0
 /**
  * dodaj dogodek
  */
 public function dodajDogodek()
 {
     $this->dogodek = new Dogodek();
     $this->dogodek->setPredstava($this);
     $this->dogodek->setRazred(Dogodek::PREDSTAVA);
 }
Beispiel #8
0
 /**
  * Osveži termine storitve dogodka
  * 
  * @param Dogodek $object
  */
 private function osveziTS(\Koledar\Entity\Dogodek $object)
 {
     $tsR = $this->getEntityManager()->getRepository('Prisotnost\\Entity\\TerminStoritve');
     foreach ($object->getTerminiStoritve() as $ts) {
         $ts->setPlaniranZacetek($this->dodajInterval($object->getZacetek(), $ts->getDeltaPlaniranZacetek()));
         $ts->setPlaniranKonec($this->dodajInterval($object->getKonec(), $ts->getDeltaPlaniranKonec()));
         $tsR->update($ts);
     }
 }