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();
 }
Example #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();
 }
Example #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();
 }
Example #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();
 }
Example #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();
 }
Example #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();
 }
Example #7
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();
 }