public function generatequoterequestAction() { $id = $this->_getParam('id', 0); $quoteDb = new Sales_Model_DbTable_Quote(); $data = $quoteDb->getQuote($id); unset($data['id'], $data['quoteid'], $data['quotedate']); $data['quoterequestdate'] = '0000-00-00'; $data['billingname1'] = ''; $data['billingname2'] = ''; $data['billingdepartment'] = ''; $data['billingstreet'] = ''; $data['billingpostcode'] = ''; $data['billingcity'] = ''; $data['billingcountry'] = ''; if (!$data['shippingname1']) { $data['shippingname1'] = $data['billingname1']; $data['shippingname2'] = $data['billingname2']; $data['shippingdepartment'] = $data['billingdepartment']; $data['shippingstreet'] = $data['billingstreet']; $data['shippingpostcode'] = $data['billingpostcode']; $data['shippingcity'] = $data['billingcity']; $data['shippingcountry'] = $data['billingcountry']; $data['shippingphone'] = ''; } $data['state'] = 100; $data['created'] = $this->_date; $data['createdby'] = $this->_user['id']; $data['modified'] = '0000-00-00'; $data['modifiedby'] = 0; $data['clientid'] = $this->_user['clientid']; $quoterequest = new Purchases_Model_DbTable_Quoterequest(); $quoterequestid = $quoterequest->addQuoterequest($data); $positions = $this->getPositions($id); $positionsQuoterequestDb = new Purchases_Model_DbTable_Quoterequestpos(); foreach ($positions as $position) { $dataPosition = $position->toArray(); $dataPosition['quoterequestid'] = $quoterequestid; $dataPosition['created'] = $this->_date; $dataPosition['createdby'] = $this->_user['id']; $dataPosition['modified'] = '0000-00-00'; $dataPosition['modifiedby'] = 0; unset($dataPosition['id'], $dataPosition['quoteid']); $positionsQuoterequestDb->addPosition($dataPosition); } //Add document relation $documentrelationDb = new Application_Model_DbTable_Documentrelation(); $documentrelationDb->addDocumentrelation($data['contactid'], $quoterequestid, "purchases", "quoterequest", $this->_date, $this->_user['id']); $this->_flashMessenger->addMessage('MESSAGES_QUOTE_REQUEST_SUCCESFULLY_GENERATED'); $this->_helper->redirector->gotoSimple('edit', 'quoterequest', 'purchases', array('id' => $quoterequestid)); }
protected function getPositions($quoterequestid) { $positionsDb = new Purchases_Model_DbTable_Quoterequestpos(); $positions = $positionsDb->fetchAll($positionsDb->select()->where('quoterequestid = ?', $quoterequestid)->where('clientid = ?', $this->_user['clientid'])->order('ordering')); return $positions; }