/** * * @param \Tip\Repository\IzbirneOpcije $rep * @param string $object * @param array $vals */ public function populateProdukcijskaHisa($manager, $v) { $rep = $manager->getRepository('ProgramDela\\Entity\\ProdukcijskaHisa'); // 'status' => 'zz', // 'popa' => $this->lookPopa1['id'], // $o = $rep->findOneBySifra(trim($v[0])); $nov = FALSE; if (!$o) { $o = new \ProgramDela\Entity\ProdukcijskaHisa(); $o->setSifra(trim($v[0])); $nov = true; } $o->setStatus($v[1]); $getref = $this->getReference($v[2]); $o->setPopa($getref); if ($nov) { $rep->create($o); } else { $rep->update($o); } $referenca = 'ProdukcijskaHisa-' . $v[0]; //var_dump($referenca); $this->addReference($referenca, $o); }
/** * kreiranje matičnega gledališča */ public function createMaticoAction() { $naziv = $this->params('naziv'); if (!$naziv) { echo "Naziv ne sme biti prazen" . PHP_EOL; echo "Kreiranje matičnega gledališča ni mogoče" . PHP_EOL; throw new \Exception(); } $em = $this->serviceLocator->get("\\Doctrine\\ORM\\EntityManager"); $popaR = $em->getRepository('App\\Entity\\Popa'); $phisaR = $em->getRepository('ProgramDela\\Entity\\ProdukcijskaHisa'); $drzavaR = $em->getRepository('App\\Entity\\Drzava'); $drzava = $drzavaR->findOneBySifra('SI'); $optionR = $em->getRepository('App\\Entity\\Option'); /** * preverimo ali matično že obstaja v opcijah */ $optionMaticno = "application.tenant.maticnopodjetje"; $option = $optionR->findOneByName($optionMaticno); if ($option) { $popaId = $option->getDefaultValue(); if (!$this->params('force')) { echo "Opcija " . $optionMaticno . " že obstaja z vrednostjo (popaId):" . $popaId . PHP_EOL; echo "Kreiranje matičnega gledališča ni mogoče" . PHP_EOL; throw new \Exception(); } } /** * zapišemo matično podjetje v popa */ $popa = new \App\Entity\Popa(); $em->persist($popa); if (empty($popa->getSifra())) { $num = $this->getServiceLocator()->get('stevilcenje.generator'); $popa->setSifra($num->generate('popa')); $sifra = $popa->getSifra(); } $popa->setNaziv($naziv); $popa->setStaKli('AK'); $popa->setDrzava($drzava); $popaId = $popa->getId(); /** * ustvarimo opcijo za matično gledališče */ if (!$option) { $option = new \App\Entity\Option(); $em->persist($option); } $option->setName($optionMaticno); $option->setDefaultValue($popaId); //$$ $popaId še prej določiti - verjetno šele po flushu?? $option->setType('string'); $option->setReadOnly(TRUE); $option->setDescription('Id matičnega podjetja v Popa'); /** * zapišemo matično podjetje v ProdukcijskaHisa */ $phisa = $phisaR->findOneByPopa($popa); if (!$phisa) { $phisa = new \ProgramDela\Entity\ProdukcijskaHisa(); $phisa->setPopa($popa); $em->persist($phisa); } $phisa->setSifra($sifra); $phisa->setStatus('AK'); $em->flush(); echo "Kreirano je matično gledališče " . $naziv . " s šifro " . $sifra . PHP_EOL; }