public function convertSingleToArray($event) { $arr = Utility::getSupplyItemOfSupplier($event->getId()); $html = ''; foreach ($arr as $item) { $html .= $item['name'] . "<br/><br/>"; } $array = array(); $array['phone'] = $event->getPhone(); $array['id'] = $event->getId(); $array['mobile'] = $event->getMobile(); $array['addr'] = $event->getAddr(); $array['company'] = $event->getCompanyName(); $array['contact'] = $event->getContactName(); $array['email'] = $event->getEmail(); // $array['for'] = $event->getSuplierFor(); $array['for'] = $html; return $array; }
public function addAction() { $request = $this->getRequest(); $id = $this->params()->fromRoute('id'); //insert if ($id == '') { $event = new Supplier(); $configForm = new supplierForm(); if ($request->isPost()) { $data = $this->params()->fromPost(); $event->setCompanyName($data['company']); $event->setContactName($data['name']); $event->setAddr($data['addr']); $event->setPhone($data['phone']); $event->setMobile($data['mobile']); $event->setEmail($data['email']); $event->setSuplierFor(0); $event->setIsdelete(0); $inserted = $this->modelSupplier->insert($event); $dataSuplyFor = $data['supply_for']; foreach ($dataSuplyFor as $item) { $this->insertSupplyItem($item, $inserted->getId()); } //flash $this->flashMessenger()->addSuccessMessage("Insert success"); $this->redirect()->toRoute('admin/child', array('controller' => 'supplier')); } return new ViewModel(array('data' => $event, 'title' => $this->translator->translate('Add New Supplier'), 'form' => $configForm)); } else { $event = $this->modelSupplier->findOneBy(array('id' => $id)); $configForm = new supplierForm(); $configForm->setAttribute('action', '/admin/supplier/add/' . $id); $arraySupplyfor = Utility::getSupplyItemOfSupplier($id); $configForm->get('id')->setValue($event->getId()); $configForm->get('company')->setValue($event->getCompanyName()); $configForm->get('name')->setValue($event->getContactName()); $configForm->get('phone')->setValue($event->getPhone()); $configForm->get('mobile')->setValue($event->getMobile()); $configForm->get('email')->setValue($event->getEmail()); $configForm->get('addr')->setValue($event->getAddr()); $configForm->get('supply_for')->setValue($this->parseToArraySelect($arraySupplyfor)); if ($request->isPost()) { $data = $this->params()->fromPost(); $idFormPost = $this->params()->fromPost('id'); $event = $this->modelSupplier->findOneBy(array('id' => $idFormPost)); $event->setCompanyName($data['company']); $event->setContactName($data['name']); $event->setAddr($data['addr']); $event->setPhone($data['phone']); $event->setMobile($data['mobile']); $event->setEmail($data['email']); $event->setSuplierFor(0); $event->setIsdelete(0); $this->modelSupplier->edit($event); //update supply item $this->modelSupplyFor->deleteAll(array('suppilerId' => $idFormPost)); $dataSuplyFor = $data['supply_for']; foreach ($dataSuplyFor as $item) { $this->insertSupplyItem($item, $idFormPost); } $arraySupplyfor = Utility::getSupplyItemOfSupplier($id); //update form $configForm->get('company')->setValue($event->getCompanyName()); $configForm->get('name')->setValue($event->getContactName()); $configForm->get('phone')->setValue($event->getPhone()); $configForm->get('mobile')->setValue($event->getMobile()); $configForm->get('email')->setValue($event->getEmail()); $configForm->get('addr')->setValue($event->getAddr()); $configForm->get('supply_for')->setValue($this->parseToArraySelect($arraySupplyfor)); //flash $this->flashMessenger()->addSuccessMessage("Update success"); $this->redirect()->toRoute('admin/child', array('controller' => 'supplier')); } return new ViewModel(array('data' => $event, 'title' => 'Edit : ' . $event->getCompanyName(), 'form' => $configForm)); } }