public function auditAction() { $date = $this->getRequest()->getParam('date') ? $this->getRequest()->getParam('date') : date('Y-m-d'); $idShop = $this->getRequest()->getParam('idShop') ? $this->getRequest()->getParam('idShop') : NULL; $form = new Default_Form_AuditSearch(); $form->auditSearch(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/daily-sales/search.phtml')))); $this->view->form = $form; if (!empty($date) && !empty($idShop)) { $dateNew = date('Y-m-d', strtotime($date)); $dailySales = Needs_Tools::checkIfDailySaleCompleted($dateNew, $idShop); if ($dailySales->getId() != NULL) { $errors = Needs_Tools::fetchDailySalesErrors($dailySales->getId()); $this->view->resultError = $errors; $formAudit = new Default_Form_DailySaleAudit(); $formAudit->show($dateNew, $idShop); $formAudit->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/daily-sales/audit.phtml')))); $this->view->formAudit = $formAudit; } else { //mesaj de eroare $dateShow = date('m-d-Y', strtotime($date)); $shop = Needs_Tools::getShopById($idShop); $this->_flashMessenger->addMessage("<div class='failure canhide'><p>There is no report registered on ' {$dateShow} ' in shop ' {$shop} ' ! Please select another date !<a href='javascript:;'></a><p></div>"); $this->_redirect(WEBROOT . 'daily-sales/audit'); } $post = $this->getRequest()->getPost(); if (!empty($post['action']) && $post['action'] == 'addAudit') { if ($formAudit->isValid($post)) { $post = $this->getRequest()->getPost(); $dailySales->setOptions($formAudit->getValues()); $dailySales->setOverShortNotification($post['overshort']); $dailySales->setAudited(1); $dailySales->setDateAudited(date('Y-m-d')); $dailySales->setDate($post['dateSave']); $arrayGiftNr = array(); $arrayGiftVal = array(); foreach ($post['giftNr'] as $key => $value) { $arrayGiftNr[] = $post['giftNr'][$key]; $arrayGiftVal[] = $post['giftVal'][$key]; } if ($dailySales->save()) { //BEGIN:GIFT CARDS EDIT foreach ($arrayGiftNr as $key => $value) { $model = new Default_Model_DailySalesGift(); $model->setIdSale($dailySales->getId()); $model->setNumber($arrayGiftNr[$key]); $model->setValue($arrayGiftVal[$key]); $model->save(); } //END:GIFT CARDS EDIT $products = Needs_Tools::getProductsByShop($idShop); $registryNumber = Needs_Tools::getRegistryNrByShop($idShop); foreach ($products as $value) { //find daily sales products by saleId ad prodId $model = Needs_Tools::fetchDailySalesProductbySalesId($dailySales->getId(), $value->getId()); $model->setIdSale($dailySales->getId()); $model->setIdShop($idShop); $model->setIdProduct($value->getId()); $model->setRegister1($post['register1_' . $value->getId()]); if ($registryNumber == 2) { $model->setRegister2($post['register2_' . $value->getId()]); } $model->save(); } //mesaj de succes $this->_flashMessenger->addMessage("<div class='success canhide'><p>Report was saved successfully<a href='javascript:;'></a><p></div>"); } else { //mesaj de eroare $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Report was not saved<a href='javascript:;'></a><p></div>"); } $this->_redirect(WEBROOT . 'daily-sales/audit/date/' . $date . '/idShop/' . $idShop); } } } }