/** * Opravila pri ustvarjanju nove entitete * * @param Gostovanje $object * @param Parameters $params */ public function create($object, $params = null) { if (!empty($params['dogodek'])) { $this->expect(is_array($params['dogodek']), "Parameter dogodek mora biti array id-jev", 1001950); $dogodekIds = $params['dogodek']; $dogR = $this->getEntityManager()->getRepository('Koledar\\Entity\\Dogodek'); /* * dodam podrejene dogodke */ foreach ($dogodekIds as $dogId) { $dog = $dogR->findOneById($dogId); $this->expect($dog, "Dogodek ({$dogId}) ne obstaja", 1001951); /* * da ni težave v expectu */ $dogGostovanjeId = $dog->getNadrejenoGostovanje() ? $dog->getNadrejenoGostovanje()->getId() : ""; $this->expect(!$dog->getNadrejenoGostovanje(), "Dogodek ({$dogId}) že obstaja v gostovanju (" . $dogGostovanjeId . ")", 1001952); $dog->setNadrejenoGostovanje($object); $object->getPodrejeniDogodki()->add($dog); } } if ($object->dogodek) { /** @var Dogodki $rep */ $rep = $this->getEntityManager()->getRepository('Koledar\\Entity\\Dogodek'); $rep->create($object->getDogodek(), $params); } parent::create($object, $params); }
/** * Preverim, če ima šifro * @param TipPopa $object * @param array $params */ public function create($object, $params = null) { if (empty($object->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setSifra($num->generate('tipvaje')); } parent::create($object, $params); }
public function create($object, $params = null) { if (!$object->getStevilka()) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setStevilka($num->generate('besedilo')); } parent::create($object, $params); }
/** * * @param type $object entiteta * @param type $params */ public function create($object, $params = null) { if ($object->getBesedilo()) { $object->getBesedilo()->getAvtorji()->add($object); } // preračunamo vrednosti v smeri navzgor $object->preracunaj(\Max\Consts::UP); parent::create($object, $params); }
/** * Opravila pri ustvarjanju nove entitete * * @param DogodekSplosni $object * @param Parameters $params */ public function create($object, $params = null) { if ($object->dogodek) { /** @var Dogodki $rep */ $rep = $this->getEntityManager()->getRepository('Koledar\\Entity\\Dogodek'); $rep->create($object->getDogodek(), $params); } parent::create($object, $params); // TODO: Change the autogenerated stub }
/** * * * @param Oseba $object * @param array $params */ public function create($object, $params = null) { if (empty($object->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setSifra($num->generate('oseba')); } // preračunamo vrednosti v smeri navzgor $object->preracunaj(\Max\Consts::UP); parent::create($object, $params); }
/** * * @param type $object entiteta * @param type $params */ public function create($object, $params = null) { $this->expect(!$this->zaklenjenProgramDela($object), "Program dela je že zaklenjen/zaključen. Spremembe niso več mogoče", 1000600); if ($object->getEnotaPrograma()) { $object->getEnotaPrograma()->getDrugiViri()->add($object); } // preračunamo vrednosti v smeri navzgor $object->preracunaj(\Max\Consts::UP); parent::create($object, $params); }
/** * * @param type $object * @param type $params */ public function create($object, $params = null) { if (empty($object->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setSifra($num->generate('sezona')); } $this->preveriSezone($object); parent::create($object, $params); $this->preracunajSezoneVDogodkih($object, 'create'); }
/** * @param Alternacija $object * @param array $params */ public function create($object, $params = null) { /** * preverim, če ima šifro */ if (empty($object->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setSifra($num->generate('zvrstuprizoritve')); } parent::create($object, $params); }
/** * * @param type $object entiteta * @param type $params */ public function create($object, $params = null) { $this->expect(!$this->zaklenjenProgramDela($object), "Program dela je že zaklenjen/zaključen. Spremembe niso več mogoče", 1000510); // zaenkrat ne računamo v globino (DOWN), ampak vedno le v smeri UP $object->preracunaj(); if (empty($object->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setSifra($num->generate('programdela', new \DateTime())); } parent::create($object, $params); }
/** * * @param type $object entiteta * @param type $params */ public function create($object, $params = null) { $this->expect(!$this->zaklenjenProgramDela($object), "Program dela je že zaklenjen/zaključen. Spremembe niso več mogoče", 1000520); $this->nastaviFlagImaKoprodukcijo($object); $object->preracunaj(); //$ da se naš delež za koprodukcije ustrezno postavi $this->azurirajKoprodukcije($object); // preračunamo vrednosti v smeri navzgor $object->preracunaj(\Max\Consts::UP); parent::create($object, $params); }
/** * Opravila pri ustvarjanju nove entitete * * @param Vaja $object * @param Parameters $params */ public function create($object, $params = null) { if ($object->dogodek) { /** @var Dogodki $rep */ $rep = $this->getEntityManager()->getRepository('Koledar\\Entity\\Dogodek'); $rep->create($object->getDogodek(), $params); } if ($object->getUprizoritev()) { $object->getUprizoritev()->getVaje()->add($object); } $this->preracunajZaporedne($object, 'create'); parent::create($object, $params); }
public function create($object, $params = null) { if (empty($object->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setSifra($num->generate('uprizoritev')); } $object->preracunaj(); parent::create($object, $params); }
/** * * @param type $object * @param type $params */ public function create($object, $params = null) { /* * $$ vprašanje je, ali bo ta kontrola tukaj in ali bo jo potrebno prilagoditi, ko bomo delili dogodek? * * $$ morda še bomo vključili, ko bomo popravili fixturje in teste */ // $this->expect(!$object->getDogodek(), "Kreiranje termina storitve ni možno, če je vezan na dogodek", 1001800); parent::create($object, $params); }
/** * Preverim, če ima šifro in če je oseba zaposlena * @param Alternacija $object * @param array $params */ public function create($object, $params = null) { if ($object->getFunkcija()) { $object->getFunkcija()->getAlternacije()->add($object); } $object->preracunaj(); /** * le pri creatu napolni zaposlitev iz osebe, če je še ni: */ if (empty($object->getZaposlitev()) && !empty($object->getOseba())) { $zaposlitev = null; //init $zdaj = new \DateTime(); $danes = $zdaj->format('Y-m-d'); /** * najdi, če obstaja ustrezna zaposlitev glede na osebo * zaenkrat je narejeno poenostavljeno, da preverja , če je konec zaposlitve večji od danes * natančneje bi lahko preverjal, če je interval alternacije znotraj intervala zaposlitve. $$ */ foreach ($object->getOseba()->getZaposlitve() as $zap) { if ($zap->getStatus() == 'A' && (empty($zap->getKonec()) || $zap->getKonec()->format('Y-m-d') <= $danes)) { $zaposlitev = $zap; } } $object->setZaposlitev($zaposlitev); } if (empty($object->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $object->setSifra($num->generate('alternacija')); } $this->preveriZaposlitev($object); $this->nastaviEnPrivzeti($object->getFunkcija()); parent::create($object, $params); }
/** * Opravila pri ustvarjanju nove entitete * * @param Dogodek $object * @param Parameters $params */ public function create($object, $params = null) { if ($object->getNadrejenoGostovanje()) { $object->getNadrejenoGostovanje()->getPodrejeniDogodki()->add($object); } if (!$object->getStatus()) { $object->setStatus(Dogodek::PLANIRAN); } if (!empty($params['alternacija'])) { $this->expect(is_array($params['alternacija']), "Parameter alternacija mora biti array id-jev", 1000584); $alternacijaIds = $params['alternacija']; } else { $alternacijaIds = []; } if (!empty($params['dezurni'])) { $this->expect(is_array($params['dezurni']), "Parameter dezurni mora biti array id-jev", 1000588); $dezurniIds = $params['dezurni']; } else { $dezurniIds = []; } if (!empty($params['gost'])) { $this->expect(is_array($params['gost']), "Parameter gost mora biti array id-jev", 1000588); $gostIds = $params['gost']; } else { $gostIds = []; } if (!empty($params['sodelujoc'])) { $this->expect(is_array($params['sodelujoc']), "Parameter sodelujoč mora biti array id-jev", 1000588); $sodelujocIds = $params['sodelujoc']; } else { $sodelujocIds = []; } $this->preracunajSezono($object); parent::create($object, $params); /* * preberemo delte iz opcij */ $optionR = $this->getEntityManager()->getRepository('App\\Entity\\Option'); $option = $optionR->findOneByName("dogodek.delte"); $this->expect($option, "Opcija dogodek.delte ne obstaja", 1000587); $delte = $option->getDefaultValue(); /* * init delt */ switch ($object->getRazred()) { case $object::PREDSTAVA: $deltaZacetek = $delte['delPreZac']['value']; $deltaKonec = $delte['delPreKon']['value']; $deltaZacetekTeh = $delte['delPreZacTeh']['value']; $deltaKonecTeh = $delte['delPreKonTeh']['value']; break; case $object::VAJA: $deltaZacetek = $delte['delVajZac']['value']; $deltaKonec = $delte['delVajKon']['value']; $deltaZacetekTeh = $delte['delVajZacTeh']['value']; $deltaKonecTeh = $delte['delVajKonTeh']['value']; break; case $object::SPLOSNO: $deltaZacetek = $deltaZacetekTeh = $delte['delSplZac']['value']; $deltaKonec = $deltaKonecTeh = $delte['delSplKon']['value']; break; case $object::TEHNICNI: $deltaZacetek = $deltaZacetekTeh = $delte['delTehZac']['value']; $deltaKonec = $deltaKonecTeh = $delte['delTehKon']['value']; break; case $object::GOSTOVANJE: $deltaZacetek = $deltaZacetekTeh = $delte['delGosZac']['value']; $deltaKonec = $deltaKonecTeh = $delte['delGosKon']['value']; break; default: $deltaZacetek = $deltaZacetekTeh = $deltaKonecTeh = $deltaKonec = 0; break; } /* * če obstajajo delta parmetri, z njimi povozimo vrednosti: */ if (!empty($params['deltaZac'])) { $deltaZacetek = $params['deltaZac']; } if (!empty($params['deltaZacTeh'])) { $deltaZacetekTeh = $params['deltaZacTeh']; } if (!empty($params['deltaKon'])) { $deltaKonec = $params['deltaKon']; } if (!empty($params['deltaKonTeh'])) { $deltaKonecTeh = $params['deltaKonTeh']; } $terminStoritveR = $this->getEntityManager()->getRepository('Prisotnost\\Entity\\TerminStoritve'); $altR = $this->getEntityManager()->getRepository('Produkcija\\Entity\\Alternacija'); $osebaR = $this->getEntityManager()->getRepository('App\\Entity\\Oseba'); /* * kreiram termine storitve za alternacije */ foreach ($alternacijaIds as $altId) { $alt = $altR->findOneById($altId); $this->expect($alt, "Alternacija ({$altId}) ne obstaja", 1000586); $aliTehnik = false; //init if ($alt->getFunkcija()) { if ($alt->getFunkcija()->getPodrocje() == 'tehnik') { $aliTehnik = true; } } $ts = new \Prisotnost\Entity\TerminStoritve(); $ts->setDogodek($object); $ts->setAlternacija($alt); $deltaZ = $aliTehnik ? $deltaZacetekTeh : $deltaZacetek; $ts->setPlaniranZacetek($this->dodajInterval($object->getZacetek(), $deltaZ)); $deltaK = $aliTehnik ? $deltaKonecTeh : $deltaKonec; $ts->setPlaniranKonec($this->dodajInterval($object->getKonec(), $deltaK)); $ts->setDezurni(false); $ts->setGost(false); $ts->setZasedenost(false); $ts->setVirtZasedenost(false); $ts->setSodelujoc(FALSE); $ts->setUra(null); $object->terminiStoritve->add($ts); // verjetno to ni potrebno $terminStoritveR->create($ts); } /* * kreiram termine storitve za goste */ foreach ($gostIds as $gostId) { $oseba = $osebaR->findOneById($gostId); $this->expect($oseba, "Oseba gost ({$gostId}) ne obstaja", 1000589); $ts = new \Prisotnost\Entity\TerminStoritve(); $ts->setDogodek($object); $ts->setGost(true); $ts->setOseba($oseba); $deltaZ = $deltaZacetek; $ts->setPlaniranZacetek($this->dodajInterval($object->getZacetek(), $deltaZ)); $deltaK = $deltaKonec; $ts->setPlaniranKonec($this->dodajInterval($object->getKonec(), $deltaK)); $ts->setDezurni(false); $ts->setSodelujoc(FALSE); $ts->setZasedenost(false); $ts->setVirtZasedenost(false); $ts->setUra(null); $object->terminiStoritve->add($ts); // verjetno to ni potrebno $terminStoritveR->create($ts); } /* * kreiram termine storitve za dežurne */ foreach ($dezurniIds as $dezurniId) { $oseba = $osebaR->findOneById($dezurniId); $this->expect($oseba, "Oseba dezurni ({$dezurniId}) ne obstaja", 1000590); $ts = new \Prisotnost\Entity\TerminStoritve(); $ts->setDogodek($object); $ts->setDezurni(TRUE); $ts->setOseba($oseba); $deltaZ = $deltaZacetek; $ts->setPlaniranZacetek($this->dodajInterval($object->getZacetek(), $deltaZ)); $deltaK = $deltaKonec; $ts->setPlaniranKonec($this->dodajInterval($object->getKonec(), $deltaK)); $ts->setGost(false); $ts->setSodelujoc(FALSE); $ts->setZasedenost(false); $ts->setVirtZasedenost(false); $ts->setUra(null); $object->terminiStoritve->add($ts); // verjetno to ni potrebno $terminStoritveR->create($ts); } /* * kreiram termine storitve za sodelujoče */ foreach ($sodelujocIds as $sodelujocId) { $oseba = $osebaR->findOneById($sodelujocId); $this->expect($oseba, "Oseba sodelujoč ({$sodelujocId}) ne obstaja", 1000590); $ts = new \Prisotnost\Entity\TerminStoritve(); $ts->setDogodek($object); $ts->setSodelujoc(TRUE); $ts->setOseba($oseba); $deltaZ = $deltaZacetek; $ts->setPlaniranZacetek($this->dodajInterval($object->getZacetek(), $deltaZ)); $deltaK = $deltaKonec; $ts->setPlaniranKonec($this->dodajInterval($object->getKonec(), $deltaK)); $ts->setDezurni(false); $ts->setGost(false); $ts->setZasedenost(false); $ts->setVirtZasedenost(false); $ts->setUra(null); $object->terminiStoritve->add($ts); // verjetno to ni potrebno $terminStoritveR->create($ts); } }