Example #1
0
 public function copyAction()
 {
     $id = $this->_getParam('id', 0);
     $invoiceDb = new Sales_Model_DbTable_Invoice();
     $data = $invoiceDb->getInvoice($id);
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper('layout')->disableLayout();
     unset($data['id'], $data['invoiceid']);
     $data['title'] = $data['title'] . ' 2';
     $data['invoicedate'] = '0000-00-00';
     $data['state'] = 100;
     $data['created'] = $this->_date;
     $data['createdby'] = $this->_user['id'];
     $data['modified'] = '0000-00-00';
     $data['modifiedby'] = 0;
     $data['locked'] = 0;
     $data['clientid'] = $this->_user['clientid'];
     $invoice = new Sales_Model_DbTable_Invoice();
     echo $invoiceid = $invoice->addInvoice($data);
     $positions = $this->getPositions($id);
     $positionsDb = new Sales_Model_DbTable_Invoicepos();
     foreach ($positions as $position) {
         $dataPosition = $position->toArray();
         $dataPosition['invoiceid'] = $invoiceid;
         $dataPosition['created'] = $this->_date;
         $dataPosition['createdby'] = $this->_user['id'];
         $dataPosition['modified'] = '0000-00-00';
         $dataPosition['modifiedby'] = 0;
         unset($dataPosition['id']);
         $positionsDb->addPosition($dataPosition);
     }
     $this->_flashMessenger->addMessage('MESSAGES_SUCCESFULLY_COPIED');
 }
Example #2
0
 public function generateinvoiceAction()
 {
     $id = $this->_getParam('id', 0);
     $quoteDb = new Sales_Model_DbTable_Quote();
     $data = $quoteDb->getQuote($id);
     unset($data['id'], $data['quoteid'], $data['quotedate']);
     $data['invoicedate'] = '0000-00-00';
     $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'];
     $invoice = new Sales_Model_DbTable_Invoice();
     $invoiceid = $invoice->addInvoice($data);
     $positions = $this->getPositions($id);
     $positionsInvoiceDb = new Sales_Model_DbTable_Invoicepos();
     foreach ($positions as $position) {
         $dataPosition = $position->toArray();
         $dataPosition['invoiceid'] = $invoiceid;
         $dataPosition['created'] = $this->_date;
         $dataPosition['createdby'] = $this->_user['id'];
         $dataPosition['modified'] = '0000-00-00';
         $dataPosition['modifiedby'] = 0;
         unset($dataPosition['id'], $dataPosition['quoteid']);
         $positionsInvoiceDb->addPosition($dataPosition);
     }
     $this->_flashMessenger->addMessage('MESSAGES_INVOICE_SUCCESFULLY_GENERATED');
     $this->_helper->redirector->gotoSimple('edit', 'invoice', null, array('id' => $invoiceid));
 }
Example #3
0
 public function copyAction()
 {
     $this->_helper->viewRenderer->setNoRender();
     $this->_helper->getHelper('layout')->disableLayout();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $id = (int) $this->_getParam('id', 0);
         $position = new Sales_Model_DbTable_Invoicepos();
         $data = $position->getPosition($id);
         $orderings = $this->getOrdering($data['invoiceid']);
         foreach ($orderings as $ordering => $positionId) {
             if ($ordering > $data['ordering']) {
                 $position->updatePosition($positionId, array('ordering' => $ordering + 1));
             }
         }
         $data['ordering'] += 1;
         $data['created'] = $this->_date;
         $data['createdby'] = $this->_user['id'];
         $data['modified'] = '0000-00-00';
         $data['modifiedby'] = 0;
         unset($data['id']);
         $position->addPosition($data);
         //Calculate
         $this->_helper->Calculate($data['invoiceid'], $this->_currency, $this->_date, $this->_user['id']);
     }
 }