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->validateEuroGE0($this->celotnaVrednost, "Celotna vrednost", 1000622); $this->validateEuroGE0($this->nasDelez, "Naš delež", 1000623); $this->validateEuroGE0($this->celotnaVrednostMat, "Celotna vrednost na matičnem odru", 1000624); $this->validateEuroGE0($this->celotnaVrednostGostovSZ, "Celotna vrednost gostovanj v Slo in zamejstvu", 1000625); $this->validateEuroGE0($this->zaproseno, "Zaprošeno", 1000626); // $this->validateEuroGE0($this->lastnaSredstva, "Lastna sredstva", 1000627); $this->validateEuroGE0($this->avtorskiHonorarji, "Avtorski honorarji", 1000628); $this->validateEuroGE0($this->avtorskiHonorarjiSamoz, "Avtorski honorarji samozaposlenih", 1000629); $this->validateEuroGE0($this->tantieme, "Tantieme", 1000680); $this->validateEuroGE0($this->avtorskePravice, "Avtorske pravice", 1000681); $this->validateEuroGE0($this->vlozekGostitelja, "Vložek gostitelja", 1000682); $this->validateEuroGE0($this->drugiJavni, "Drugi javni", 1000683); $this->validateIntGE0($this->stZaposlenih, "", 1000684); $this->validateIntGE0($this->stZaposUmet, "", 1000685); $this->validateIntGE0($this->stZaposDrug, "", 1000686); $this->validateIntGE0($this->stHonorarnihZun, "", 1000687); $this->validateIntGE0($this->stHonorarnihZunIgr, "", 1000688); $this->validateIntGE0($this->stHonorarnihZunIgrTujJZ, "", 1000689); $this->validateIntGE0($this->stHonorarnihZunSamoz, "", 1000690); $this->validateIntGE0($this->obiskDoma, "", 1000691); $this->validateIntGE0($this->obiskKopr, "", 1001201); $this->validateIntGE0($this->obiskGost, "", 1000692); $this->validateIntGE0($this->obiskZamejo, "", 1000693); $this->validateIntGE0($this->obiskInt, "", 1000694); $this->validateIntGE0($this->ponoviDoma, "", 1000695); $this->validateNumberGE0($this->ponoviZamejo, "", 1000696); $this->validateNumberGE0($this->ponoviKoprZamejo, "", 1001205); $this->validateNumberGE0($this->ponoviGost, "", 1000697); $this->validateNumberGE0($this->ponoviKoprGost, "", 1001206); $this->validateIntGE0($this->ponoviInt, "", 1000698); $this->validateIntGE0($this->ponoviKopr, "", 1001202); $this->validateIntGE0($this->sort, "", 1000699); $this->validateEuroGE0($this->materialni, "Materialni", 1001200); /** * pred primerjanjem damo števila s plavajočo vejico v string */ $nd = \Max\Functions::euroRoundS($this->getNasDelez()); $cv = \Max\Functions::euroRoundS($this->getCelotnaVrednost()); $cvSZ = \Max\Functions::euroRoundS($this->celotnaVrednostGostovSZ); $this->expect($nd <= $cv, "Delež matičnega JZ (" . $nd . ") ne sme biti večji od celotne vrednosti (" . $cv . ")", 1000621); $this->expect($cvSZ <= $cv, "Celotna vrednost gostovanj v Slo in zam. (" . $cvSZ . ") ne sme biti večja od celotne vrednosti (" . $cv . ")", 1000622); $ah = \Max\Functions::euroRoundS($this->getAvtorskiHonorarji()); $ahs = \Max\Functions::euroRoundS($this->getAvtorskiHonorarjiSamoz()); $this->expect($ahs <= $ah, "Avtorski honorarji samozaposlenih (" . $ahs . ") ne smejo biti večji od avtorskih honorarjev (" . $ah . ")", 1001204); /** * za tiste ep, ki imajo uprizoritev je lahko obisk doma lahko največ število ponovitev doma * kapaciteta matičnega odra */ if ($this->uprizoritev) { $this->expect($this->obiskDoma <= $this->ponoviDoma * $this->uprizoritev->getMaticniOder()->getKapaciteta(), "Obisk doma ne sme biti večji kot št. ponovitev doma * kapaciteta matičnega odra (" . $this->uprizoritev->getMaticniOder()->getKapaciteta() . ")", 1001203); } }
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(); }