public function validate($mode = 'update') { $this->expect($this->getUprizoritev(), "Uprizoritev je obvezen podatek", 1000452); if ($this->getDokument()) { // preveriti, ali že obstaja program pon. prem. z isto uprizoritvijo $obstaja = true; //init if ($this->getDokument()->getPonovitvePremiere()) { $id = $this->getId(); $obstaja = $this->getDokument()->getPonovitvePremiere()->exists(function ($key, $ponovitvePremiere) use(&$id) { return $ponovitvePremiere->getUprizoritev() == $this->getUprizoritev() && $ponovitvePremiere->getId() !== $id; //vrne true, če obstaja drug program pon. prem. z isto uprizoritvijo }); $this->expect(!$obstaja, "Program premiere z isto uprizoritvijo že obstaja v programu dela", 1000450); } } $zaproseno = \Max\Functions::euroRoundS($this->zaproseno); $maxZaproseno = \Max\Functions::euroRoundS(0.7 * ($this->avtorskiHonorarji + $this->tantieme)); // glede na procent upravičenih stroškov $this->expect($zaproseno <= $maxZaproseno, "Zaprošeno (" . $zaproseno . ") je lahko največ 70% vsote avt.honor in tantiem (" . $maxZaproseno . ")", 1000452); parent::validate(); }
public function validate($mode = 'update') { $this->expect(!$this->getTipProgramskeEnote(), "Tip programske enote obstaja, a ne sme obstajati za program izjemni", 1000541); $this->expect(!$this->getUprizoritev(), "Uprizoritev obstaja, a ne sme obstajati za program izjemni", 1000542); $this->expect($this->getNaziv(), "Naziv ne sme biti prazen", 1000545); $this->expect($this->getTrajanje(), "Trajanje ne sme biti prazno", 1000546); $this->expect($this->getPrizorisce(), "Prizorišče ne sme biti prazno", 1000547); $this->expect($this->getZvrst(), "Zvrst je obvezen podatek", 1000548); $this->expect($this->getAvtor(), "Avtor je obvezen podatek", 1001230); $this->expect($this->getReziser(), "Režiser je obvezen podatek", 1001231); $this->expect($this->getDatum(), "Datum je obvezen podatek", 1001232); $nd = \Max\Functions::euroRoundS($this->getNasDelez()); $sumStr = \Max\Functions::euroRoundS($this->avtorskiHonorarji + $this->tantieme + $this->avtorskePravice + $this->materialni); $this->expect($nd >= $sumStr, "Našega delež (" . $nd . ") mora biti večji ali enak vsoti avtorskih honor, tantiem, avt.pravic in mat. str. (" . $sumStr . ")", 1000543); $zaproseno = \Max\Functions::euroRoundS($this->zaproseno); $maxZaproseno = \Max\Functions::euroRoundS(1.0 * $this->nasDelez); // glede na procent upravičenih stroškov $this->expect($zaproseno <= $maxZaproseno, "Zaprošeno (" . $zaproseno . ") je lahko največ 100% deleža mat. JZ(" . $maxZaproseno . ")", 1000544); parent::validate(); }
public function validate($mode = 'update') { $this->expect($this->getTipProgramskeEnote(), "Tip programske enote ne obstaja", 1000443); $this->expect($this->getUprizoritev(), "Uprizoritev je obvezen podatek", 1000444); $this->validateIntGE0($this->obiskDoma, "", 1000447); /** * preveri vrednost za tip programske enote * - glede na vrednost matičnega * - glede na vsoto koproducentov (v entiteti prod. delitev) */ $this->validateNumberGE0($this->kpe, "Koeficient programske enote", 1000445); $kpe = \Max\Functions::numberRoundS($this->kpe); $maxfaktor = \Max\Functions::numberRoundS($this->getTipProgramskeEnote()->getMaxFaktor()); $this->expect($kpe <= $maxfaktor, "Koeficient programske enote (" . $kpe . ") ne sme biti večji kot maks. koeficient (" . $maxfaktor . ")", 1000446); if ($this->getDokument()) { /** * preveriti, ali že obstaja programpremiere z isto uprizoritvijo */ $obstaja = true; //init if (!$this->getDokument()->getPremiere()->isEmpty()) { $id = $this->getId(); $obstaja = $this->getDokument()->getPremiere()->exists(function ($key, $progPremiere) use(&$id) { return !empty($this->getUprizoritev()) && $progPremiere->getUprizoritev() == $this->getUprizoritev() && $progPremiere->getId() !== $id; //vrne true, če obstaja drug programpremiere z isto uprizoritvijo }); $this->expect(!$obstaja, "Program premiere z isto uprizoritvijo že obstaja v programu dela", 1000440); } } $zaproseno = \Max\Functions::euroRoundS($this->zaproseno); $maxZaproseno = \Max\Functions::euroRoundS(0.7 * $this->nasDelez); // glede na procent upravičenih stroškov $this->expect($zaproseno <= $maxZaproseno, "Zaprošeno (" . $zaproseno . ") je lahko največ 70% deleža mat. JZ(" . $maxZaproseno . ")", 1000442); parent::validate(); }
public function validate($mode = 'update') { $this->validateIntGE0($this->stPredstav, "Št. predstav", 1000534); $this->validateIntGE0($this->stOkroglihMiz, "Št. okroglih miz", 1000535); $this->validateIntGE0($this->stPredstavitev, "Št. predstavitev", 1000536); $this->validateIntGE0($this->stDelavnic, "Št. delavnic", 1000537); $this->validateIntGE0($this->stDrugiDogodki, "Št. drugih dogodkov", 1000538); $this->validateIntGE0($this->stProdukcij, "Št. produkcij", 1000539); $this->validateIntGE0($this->stTujihSelektorjev, "Št. tujih selektorev", 1000700); $this->expect(!$this->getTipProgramskeEnote(), "Tip programske enote obstaja, a ne sme obstajati za program festival", 1000531); $this->expect(!$this->getUprizoritev(), "Uprizoritev obstaja, a ne sme obstajati za program festival", 1000532); $this->expect($this->getNaziv(), "Naziv ne sme biti prazen", 1000570); $zaproseno = \Max\Functions::euroRoundS($this->zaproseno); $maxZaproseno = \Max\Functions::euroRoundS(0.7 * $this->nasDelez); // glede na procent upravičenih stroškov $this->expect($zaproseno <= $maxZaproseno, "Zaprošeno (" . $zaproseno . ") je lahko največ 70% deleža mat. JZ(" . $maxZaproseno . ")", 1000533); parent::validate(); }
public function validate($mode = 'update') { $this->expect($this->getUprizoritev(), "Uprizoritev je obvezen podatek", 1000434); $this->validateEuroGE0($this->strosekOdkPred, "Strošek odkupa predstave", 1000433); if ($this->getDokument()) { // preveriti, ali že obstaja programgostujoča z isto uprizoritvijo $obstaja = true; //init if (!$this->getDokument()->getGostujoci()->isEmpty()) { $id = $this->getId(); $obstaja = $this->getDokument()->getGostujoci()->exists(function ($key, $progGostujoca) use(&$id) { return $progGostujoca->getUprizoritev() == $this->getUprizoritev() && $progGostujoca->getId() !== $id; //vrne true, če obstaja drug programGostujoča z isto uprizoritvijo }); $this->expect(!$obstaja, "Program gostujoča z isto uprizoritvijo že obstaja v programu dela", 1000430); } } $this->expect(!$this->getTipProgramskeEnote(), "Tip programske enote obstaja, a ne sme obstajati za gostujočo", 1000431); $zaproseno = \Max\Functions::euroRoundS($this->zaproseno); $maxZaproseno = \Max\Functions::euroRoundS(0.5 * $this->strosekOdkPred); // glede na procent upravičenih stroškov $this->expect($zaproseno <= $maxZaproseno, "Zaprošeno (" . $zaproseno . ") je lahko največ 50% stroška odkupa predstave (" . $maxZaproseno . ")", 1000432); $strOdkPred = \Max\Functions::euroRoundS($this->strosekOdkPred); $nd = \Max\Functions::euroRoundS($this->nasDelez); $this->expect($strOdkPred <= $nd, "Strošek odkupa predstave (" . $strOdkPred . ") ne sme biti večji od našega deleža (" . $nd . ")", 1000433); parent::validate(); }
public function validate($mode = 'update') { $this->expect($this->getUprizoritev(), "Uprizoritev je obvezen podatek", 1001303); $this->expect($this->getGostitelj(), "Gostitelj je obvezen podatek", 1001304); $this->expect($this->getDrzavaGostovanja(), "Država gostovanja je obvezen podatek", 1001305); $this->validateEuroGE0($this->transportniStroski, "Transportni stroški", 1001300); $this->validateEuroGE0($this->dnevPrvZad, "Dnevnice za prvi in zadnji dan", 1001301); $this->expect(!$this->getTipProgramskeEnote(), "Tip programske enote obstaja, a ne sme obstajati za gostovanje", 1001302); $zaproseno = \Max\Functions::euroRoundS($this->zaproseno); $maxZaproseno = \Max\Functions::euroRoundS(0.6 * $this->avtorskiHonorarji + 1.0 * $this->transportniStroski + 1.0 * $this->dnevPrvZad); // glede na procent upravičenih stroškov $this->expect($zaproseno <= $maxZaproseno, "Zaprošeno (" . $zaproseno . ") je lahko največ 60% avtorskih in tantiem in 70% odkupa avtorskih pravic in transportnih stroskov in dnevnic za 1. in zadnji dan (" . $maxZaproseno . ")", 1001304); parent::validate(); }
public function validate($mode = 'update') { $this->validateIntGE0($this->stPE, "Št. PE", 1000555); $this->expect(!$this->getTipProgramskeEnote(), "Tip programske enote obstaja, a ne sme obstajati za program razno", 1000551); $this->expect(!$this->getUprizoritev(), "Uprizoritev obstaja, a ne sme obstajati za program razno", 1000552); $this->expect($this->naziv, "Nima naziva. Naziv je obvezen podatek", 1000553); $zaproseno = \Max\Functions::euroRoundS($this->zaproseno); $maxZaproseno = \Max\Functions::euroRoundS(0.7 * $this->nasDelez); // glede na procent upravičenih stroškov $this->expect($zaproseno <= $maxZaproseno, "Zaprošeno (" . $zaproseno . ") je lahko največ 70% deleža mat. JZ(" . $maxZaproseno . ")", 1000554); parent::validate(); }