Beispiel #1
0
 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);
             }
         }
     }
 }
Beispiel #2
0
 public static function getGiftCardsBySaleAndDate($idSale)
 {
     $model = new Default_Model_DailySalesGift();
     $select = $model->getMapper()->getDbTable()->select()->where('idSale = ?', $idSale);
     $result = $model->fetchAll($select);
     return $result;
 }