public function indexAction() { $auth = Zend_Auth::getInstance(); $authAccount = $auth->getStorage()->read(); $params = array(); $conditions = array(); if ($this->getRequest()->getParam('nameSearch')) { $params['nameSearch'] = $this->getRequest()->getParam('nameSearch'); } if ($this->getRequest()->getParam('idGroupSearch')) { $params['idGroupSearch'] = $this->getRequest()->getParam('idGroupSearch'); } if ($this->getRequest()->getParam('fromDate')) { $params['fromDate'] = date("Y-m-d", strtotime($this->getRequest()->getParam('fromDate'))); } if ($this->getRequest()->getParam('toDate')) { $params['toDate'] = date("Y-m-d", strtotime($this->getRequest()->getParam('toDate'))); } //BEGIN:SELECT EXPENSES $conditions['pagination'] = true; $expenses = new Default_Model_RecurrentExpenses(); $select = $expenses->getMapper()->getDbTable()->select()->from(array('p' => 'recurrent_expenses'), array('p.id', 'p.name', 'p.price', 'p.date', 'p.created', 'p.deleted'))->where('p.type=?', 0)->where('NOT p.deleted')->where('idMember=?', Zend_Registry::get('user')->getId()); if (!empty($params['nameSearch'])) { $select->where('p.name LIKE ?', '%' . $params['nameSearch'] . '%'); } if (!empty($params['idGroupSearch'])) { $select->where('p.idGroup = ?', $params['idGroupSearch']); } if (!empty($params['fromDate'])) { $select->where('p.date >= ?', $params['fromDate']); } if (!empty($params['toDate'])) { $select->where('p.date <= ?', $params['toDate']); } $select->joinLeft(array('uf' => 'uploaded_files'), 'p.`id` = uf.`idMessage`', array('ufiles' => 'uf.id', 'recurrent' => 'uf.idUser'))->setIntegrityCheck(false); $select->order(array('date DESC')); $resultExpense = Needs_Tools::showRecurrentExpensesDashboardbyDate(!empty($params['fromDate']) ? $params['fromDate'] : date('Y-m-01'), !empty($params['toDate']) ? $params['toDate'] : date('Y-m-d')); $this->view->resultExpense = $resultExpense; //END:SELECT PROJECTS $form = new Default_Form_RecurrentExpenses(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/recurrent-expenses/add-expense.phtml')))); $this->view->form = $form; if ($this->getRequest()->isPost() && $this->getRequest()->getParam('control') == 'addExpense') { if ($form->isValid($this->getRequest()->getPost())) { $post = $this->getRequest()->getPost(); $model = new Default_Model_RecurrentExpenses(); $model->setOptions($form->getValues()); $model->setDate(date("Y-m-d", strtotime($post["date"]))); $model->setType('0'); $idGroup = $this->getRequest()->getParam('idGroup'); $model->setIdGroup($idGroup); if ($expenseId = $model->save()) { if (!empty($post['galleryFiles']) && is_array($post['galleryFiles'])) { foreach ($post['galleryFiles'] as $valuesGallery) { $tmpFiles = new Default_Model_TempFiles(); if ($tmpFiles->find($valuesGallery)) { $post = $this->getRequest()->getPost(); $gallery = new Default_Model_FileManager(); $gallery->setOptions($form->getValues()); $gallery->setType($tmpFiles->getFileType()); $gallery->setSize($tmpFiles->getFileSize()); $gallery->setModule('sharedfiles'); $gallery->setIdMessage($expenseId); $gallery->setIdUser(1); $gallery->setName($tmpFiles->getFileName()); $savedId = $gallery->save(); if ($savedId) { $shared = new Default_Model_SharedList(); $shared->setIdUser(Zend_Registry::get('user')->getId()); $shared->setIdFile($savedId); $shared->save(); } //copy picture and crop $tempFile = APPLICATION_PUBLIC_PATH . '/media/temps/' . $tmpFiles->getFileName(); $targetFile = APPLICATION_PUBLIC_PATH . '/media/files/' . $tmpFiles->getFileName(); @copy($tempFile, $targetFile); @unlink($tempFile); $tmpFiles->delete(); } } //END:SAVE ATTACHMENTS } $idGroup = $this->getRequest()->getParam('idGroup'); $modelGroup = new Default_Model_ProductGroups(); $modelGroup->setIdProduct($expenseId); $modelGroup->setIdGroup($idGroup); $modelGroup->setRepeated(1); $modelGroup->save(); //mesaj de succes $this->_flashMessenger->addMessage("<div class='success canhide'><p>Recurrent expense was added successfully<a href='javascript:;'></a><p></div>"); } else { //mesaj de eroare $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Recurrent expense was not added<a href='javascript:;'></a><p></div>"); } //redirect $this->_redirect(WEBROOT . 'recurrent-expenses'); } } $formsearch = new Default_Form_RecurrentExpenseSearch(); $formsearch->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/recurrent-expenses/expense-search.phtml')))); $this->view->formsearch = $formsearch; $this->view->search = $params; // pagination $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select)); $paginator->setItemCountPerPage(15); $paginator->setCurrentPageNumber($this->_getParam('page')); $paginator->setPageRange(5); Zend_Paginator::setDefaultScrollingStyle('Sliding'); Zend_View_Helper_PaginationControl::setDefaultViewPartial(array('_pagination.phtml', $params)); $this->view->result = $paginator; $this->view->itemCountPerPage = $paginator->getItemCountPerPage(); $this->view->totalItemCount = $paginator->getTotalItemCount(); }
public function fetchRow($select, Default_Model_RecurrentExpenses $model) { $result = $this->getDbTable()->fetchRow($select); if (0 == count($result)) { return; } $model->setOptions($result->toArray()); return $model; }