コード例 #1
0
 /**
  * @param entity $programDela
  * @return bool uspeh
  * @throws \Max\Exception\UnauthException
  */
 protected function preveriStZapisov($programDela)
 {
     $zaplR = $this->getEm()->getRepository('Zapisi\\Entity\\ZapisLastnik');
     $tr = $this->getServiceLocator()->get('translator');
     /**
      * premiere 2 zapisa
      */
     foreach ($programDela->getPremiere() as $ep) {
         $minPriponk = $ep->getImaKoprodukcije() ? 1 : 0;
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 1 + $minPriponk) {
             throw new \Max\Exception\UnauthException($tr->translate('Program premierne uprizoritve (zaporedna ' . $ep->getSort() . ") mora imeti vsaj 1 utemeljitev in {$minPriponk} priponk ,ima pa " . $stZapisov), 1000967);
         }
     }
     /**
      * ponovitev premiere 1 zapis
      */
     foreach ($programDela->getPonovitvePremiere() as $ep) {
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 1) {
             throw new \Max\Exception\UnauthException($tr->translate('Program ponovitve premierne uprizoritve (zaporedna ' . $ep->getSort() . ') mora imeti vsaj 1 priponko ,ima pa ' . $stZapisov), 1000968);
         }
     }
     /**
      * ponovitev prejšnjih 1 zapis
      */
     foreach ($programDela->getPonovitvePrejsnjih() as $ep) {
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 1) {
             throw new \Max\Exception\UnauthException($tr->translate('Program ponovitve prejšnjih sezon (zaporedna ' . $ep->getSort() . ') mora imeti vsaj 1 priponko ,ima pa ' . $stZapisov), 1000969);
         }
     }
     /**
      * gostujoča 1 zapis
      */
     foreach ($programDela->getGostujoci() as $ep) {
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 1) {
             throw new \Max\Exception\UnauthException($tr->translate('Program gostujočih uprizoritev (zaporedna ' . $ep->getSort() . ') mora imeti vsaj 1 utemeljitev, ima pa ' . $stZapisov), 1001220);
         }
     }
     /**
      * gostovanja 2 zapisa
      */
     foreach ($programDela->getGostovanja() as $ep) {
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 2) {
             throw new \Max\Exception\UnauthException($tr->translate('Program mednarodnih gostovanj (zaporedna ' . $ep->getSort() . ') mora imeti vsaj 1 utemeljitev in 1 priponko, ima pa ' . $stZapisov), 1001221);
         }
     }
     /**
      * festivali 3 zapise
      */
     foreach ($programDela->getProgramiFestival() as $ep) {
         $minPriponk = 1;
         if ($ep->getImaKoprodukcije()) {
             $minPriponk += 1;
         }
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 1 + $minPriponk) {
             throw new \Max\Exception\UnauthException($tr->translate('Program festivali (zaporedna ' . $ep->getSort() . ") mora imeti vsaj 1 utemeljitev in {$minPriponk} priponk, ima pa {$stZapisov}"), 1001222);
         }
     }
     /**
      * razno 2 zapisa
      */
     foreach ($programDela->getProgramiRazno() as $ep) {
         $minPriponk = $ep->getImaKoprodukcije() ? 1 : 0;
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 1 + $minPriponk) {
             throw new \Max\Exception\UnauthException($tr->translate('Program razno (zaporedna ' . $ep->getSort() . ") mora imeti vsaj 1 utemeljitev in {$minPriponk} priponk, ima pa " . $stZapisov), 1001223);
         }
     }
     /**
      * izjemni 3 zapisa
      */
     foreach ($programDela->getIzjemni() as $ep) {
         $minPriponk = $ep->getImaKoprodukcije() ? 1 : 0;
         if ($ep->getPonoviZamejo() + $ep->getPonoviGost() > 0) {
             $minPriponk += 1;
         }
         $stZapisov = count($zaplR->findByLastnik($ep->getId()));
         if ($stZapisov < 1 + $minPriponk) {
             throw new \Max\Exception\UnauthException($tr->translate('Program izjemni dogodki (zaporedna ' . $ep->getSort() . ") mora imeti vsaj 1 utemeljitev in {$minPriponk} priponk, ima pa {$stZapisov}"), 1001224);
         }
     }
     return true;
 }