/** * Set id of this object to null if it's cloned */ public function __clone() { $this->id = null; $this->session_id = null; $this->itemPackageRelatedBySurItemIds = new ArrayCollection(); $this->itemPackageRelatedBySubItemIds = new ArrayCollection(); #$this->itemVariants = new ArrayCollection(); $code = new Code(); $code->genCode(); $this->setCode($code); $this->setPackage(null); $itemVariants = new ArrayCollection(); foreach ($this->getItemVariants() as $variant) { $newVariant = clone $variant; $newVariant->setItem($this); $itemVariants[] = $newVariant; } $this->itemVariants = $itemVariants; /*$itemPackages = $this->getItemPackageRelatedBySurItemIds(); $this->itemPackageRelatedBySubItemIds = new ArrayCollection(); foreach($itemPackages as $package) { $newPackage = clone $package; $newPackage->setSurItem($this); #$itemPackageRelatedBySubItemIds[] = $newPackage; $this->addItemPackageRelatedBySurItemId($newPackage); }*/ $this->created = null; }
public function __construct() { parent::__construct(); $this->matches = new ArrayCollection(); $this->packages = new ArrayCollection(); $this->orderStatus = new ArrayCollection(); $this->genHash(); $code = new Code(); $code->genCode(); $this->setCode($code); }
/** * Set id of this object to null if it's cloned */ public function __clone() { $this->id = null; #$this->session_id = null; $this->items = new ArrayCollection(); # generate new code for new package $code = new Code(); $code->genCode(); $this->setCode($code); $this->setOrder(null); $this->setOrderId(null); $this->created = null; }
public function barcodetestAction() { $logger = $this->getServiceLocator()->get('Logger'); $start = microtime(true); $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $codes = array(); $count = 0; $found = 0; while (true) { $code = new Entity\Code(); $code->genCode(); $code = $em->getRepository("ErsBase\\Entity\\Code")->findOneBy(array('value' => $code->getValue())); #if(in_array($code->getValue(), $codes)) { if ($code) { $logger->info('found existing code after ' . $count . ' tries.'); $logger->info('time spend: ' . (microtime(true) - $start)); $found++; return new ViewModel(); if ($found >= 5) { return new ViewModel(); } } if (!$code->checkCode()) { $logger->info('BARCODE IS NOT VALID'); $logger->info('time spend: ' . (microtime(true) - $start)); return new ViewModel(); } #$codes[] = $code->getValue(); #$logger->info('added code: '.$code->getValue().' '.(microtime(true)-$start)); $em->persist($code); $em->flush(); $count++; if ($count % 1000 == 0) { $logger->info('time spend: ' . (microtime(true) - $start)); } } return new ViewModel(); }
public function acceptParticipantChangeAction() { $logger = $this->getServiceLocator()->get('Logger'); $user_id = (int) $this->params()->fromQuery('user_id', 0); $item_id = (int) $this->params()->fromQuery('item_id', 0); $form = new Form\AcceptParticipantChangeItem(); $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $request = $this->getRequest(); if ($request->isPost()) { $inputFilter = $this->getServiceLocator()->get('Admin\\InputFilter\\AcceptParticipantChangeItem'); #$form->setInputFilter($inputFilter->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $data = $form->getData(); $user = $em->getRepository("ErsBase\\Entity\\User")->findOneBy(array('id' => $data['user_id'])); $item = $em->getRepository("ErsBase\\Entity\\Item")->findOneBy(array('id' => $data['item_id'])); $log = new Entity\Log(); $log->setUser($this->zfcUserAuthentication()->getIdentity()); $log->setData('changed participant for item ' . $item->getCode()->getValue() . ': ' . $data['comment']); $em->persist($log); #$em->flush(); $package = $item->getPackage(); # initialize new package $newPackage = new Entity\Package(); $code = new Entity\Code(); $code->genCode(); $codecheck = 1; while ($codecheck != null) { $code->genCode(); $codecheck = $em->getRepository("ErsBase\\Entity\\Code")->findOneBy(array('value' => $code->getValue())); } $newPackage->setCode($code); # set order for package $newPackage->setOrder($package->getOrder()); $cloneService = $this->getServiceLocator()->get('ErsBase\\Service\\CloneService'); $cloneService->setTransfer(true); $newItem = $cloneService->cloneItem($item); #$newItem = clone $item; $newPackage->addItem($newItem); $item->setStatus('transferred'); #$item->setTransferredItem($newItem); $code = new Entity\Code(); $code->genCode(); $codecheck = 1; while ($codecheck != null) { $code->genCode(); $codecheck = $em->getRepository("ErsBase\\Entity\\Code")->findOneBy(array('value' => $code->getValue())); } $newItem->setCode($code); $em->persist($item); $em->persist($newItem); #$newPackage->setTransferredPackage($package); $newPackage->setParticipant($user); $em->persist($newPackage); #$em->persist($package); $em->flush(); $order = $package->getOrder(); return $this->redirect()->toRoute('admin/order', array('action' => 'detail', 'id' => $order->getId())); } else { $logger->warn($form->getMessages()); } } $user = null; if ($user_id != 0) { $user = $em->getRepository("ErsBase\\Entity\\User")->findOneBy(array('id' => $user_id)); } $item = null; if ($item_id != 0) { $item = $em->getRepository("ErsBase\\Entity\\Item")->findOneBy(array('id' => $item_id)); } $form->get('item_id')->setValue($item->getId()); $form->get('user_id')->setValue($user->getId()); $forrest = new Service\BreadcrumbService(); if (!$forrest->exists('item')) { $forrest->set('item', 'admin/order', array('action' => 'search')); } return new ViewModel(array('form' => $form, 'user' => $user, 'item' => $item, 'breadcrumb' => $forrest->get('package'))); }