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();
 }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
 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();
 }
Esempio n. 5
0
 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();
 }
Esempio n. 6
0
 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();
 }
Esempio n. 7
0
 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);
     }
 }
Esempio n. 8
0
 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();
 }