示例#1
0
 public function editAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper('layout')->disableLayout();
     $request = $this->getRequest();
     $locale = Zend_Registry::get('Zend_Locale');
     $id = $this->_getParam('id', 0);
     $processid = $this->_getParam('processid', 0);
     $form = new Processes_Form_Processpos();
     $form->uom->addMultiOptions($this->_helper->Uom->getUoms());
     $form->shippingmethod->addMultiOptions($this->_helper->ShippingMethod->getShippingMethods($this->_user['clientid']));
     $form->ordering->addMultiOptions($this->getOrdering($processid));
     if ($request->isPost()) {
         $data = $request->getPost();
         $element = key($data);
         if (isset($form->{$element}) && $form->isValidPartial($data)) {
             $data['modified'] = $this->_date;
             $data['modifiedby'] = $this->_user['id'];
             if ($element == 'price' || $element == 'quantity' || $element == 'supplierinvoicetotal') {
                 $data[$element] = Zend_Locale_Format::getNumber($data[$element], array('precision' => 2, 'locale' => $locale));
             }
             $position = new Processes_Model_DbTable_Processpos();
             $position->updatePosition($id, $data);
         } else {
             throw new Exception('Form is invalid');
         }
     }
 }