Esempio n. 1
0
 /**
  * populate entity from base entities
  * 
  * @param \ErsBase\Entity\ProductVariant $variant
  * @param \ErsBase\Entity\ProductVariantValue $value
  * @return \ErsBase\Entity\ItemVariant
  */
 public function populateFromEntity(ProductVariant $variant, ProductVariantValue $value)
 {
     $this->setName($variant->getName());
     $this->setProductVariantId($variant->getId());
     $this->setValue($value->getValue());
     $this->setProductVariantValueId($value->getId());
     return $this;
 }
Esempio n. 2
0
 public function addAction()
 {
     $product_id = (int) $this->params()->fromRoute('id', 0);
     if (!$product_id) {
         return $this->redirect()->toRoute('admin/product');
     }
     $forrest = new Service\BreadcrumbService();
     if (!$forrest->exists('product-variant')) {
         $forrest->set('product-variant', 'admin/product-variant');
     }
     $form = new Form\ProductVariant();
     $form->get('submit')->setValue('Add');
     $form->get('Product_id')->setValue($product_id);
     $options['text'] = 'Text';
     $options['select'] = 'Select';
     $options['date'] = 'Date';
     $options['datetime'] = 'Datetime';
     $form->get('type')->setAttribute('options', $options);
     $request = $this->getRequest();
     if ($request->isPost()) {
         $productvariant = new Entity\ProductVariant();
         #$form->setInputFilter($productvariant->getInputFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
             $productvariant->populate($form->getData());
             $product = $em->getRepository("ErsBase\\Entity\\Product")->findOneBy(array('id' => $productvariant->getProductId()));
             $productvariant->setProduct($product);
             $em->persist($productvariant);
             $em->flush();
             $breadcrumb = $forrest->get('product-variant');
             return $this->redirect()->toRoute($breadcrumb->route, $breadcrumb->params, $breadcrumb->options);
         } else {
             $logger = $this->getServiceLocator()->get('Logger');
             $logger->warn($form->getMessages());
         }
     }
     $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
     $product = $em->getRepository("ErsBase\\Entity\\Product")->findOneBy(array('id' => $product_id));
     $breadcrumb = $forrest->get('product-variant');
     return new ViewModel(array('breadcrumb' => $breadcrumb, 'product' => $product, 'form' => $form));
 }