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'); } //BEGIN:SELECT GROUPS $conditions['pagination'] = true; $groups = new Default_Model_Groups(); $select = $groups->getMapper()->getDbTable()->select()->from(array('g' => 'groups'), array('g.id', 'g.name', 'g.created', 'g.deleted'))->joinLeft(array('pg' => 'product_groups'), 'g.id = pg.idGroup', array('productsNr' => 'COUNT(pg.id)'))->where('NOT g.deleted'); if (!empty($params['nameSearch'])) { $select->where('name LIKE ?', '%' . $params['nameSearch'] . '%'); } $select->group('g.id'); $select->setIntegrityCheck(false); $select->order(array('name ASC')); //END:SELECT GROUPS $form = new Default_Form_Groups(); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/groups/add-group.phtml')))); $this->view->form = $form; $this->view->color = "#fff"; //$this->view->search=$params; if ($this->getRequest()->getParam('idGroup')) { $id = $this->getRequest()->getParam('idGroup'); $model = new Default_Model_Groups(); if ($model->find($id)) { $form = new Default_Form_Groups(); $form->edit($model); $form->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/groups/edit-group.phtml')))); $this->view->form = $form; $this->view->color = $model->getColor(); $this->view->idGroup = $model->getId(); if ($this->getRequest()->isPost()) { if ($this->getRequest()->getPost('submit')) { if ($form->isValid($this->getRequest()->getPost())) { $model->setOptions($form->getValues()); if ($groupId = $model->save()) { //mesaj de succes $this->_flashMessenger->addMessage("<div class='success canhide'><p>Group was modified successfully<a href='javascript:;'></a></p></div>"); } else { $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Group was not modified<a href='javascript:;'></a></p></div>"); } $this->_redirect(WEBROOT . 'groups'); } } } } } elseif ($this->getRequest()->isPost()) { // && $this->getRequest()->getParam('action') == 'add' if ($form->isValid($this->getRequest()->getPost())) { $post = $this->getRequest()->getPost(); $model = new Default_Model_Groups(); $model->setOptions($form->getValues()); if ($groupId = $model->save()) { //mesaj de succes $this->_flashMessenger->addMessage("<div class='success canhide'><p>Group was added successfully<a href='javascript:;'></a><p></div>"); } else { //mesaj de eroare $this->_flashMessenger->addMessage("<div class='failure canhide'><p>Group was not added<a href='javascript:;'></a><p></div>"); } //redirect $this->_redirect(WEBROOT . 'groups'); } } $formsearch = new Default_Form_GroupSearch(); $formsearch->setDecorators(array('ViewScript', array('ViewScript', array('viewScript' => 'forms/groups/group-search.phtml')))); $this->view->formsearch = $formsearch; $this->view->search = $params; // pagination $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select)); $paginator->setItemCountPerPage(20); $paginator->setCurrentPageNumber($this->_getParam('page')); $paginator->setPageRange(5); Zend_Paginator::setDefaultScrollingStyle('Sliding'); Zend_View_Helper_PaginationControl::setDefaultViewPartial(array('_pagination.phtml', array())); $this->view->result = $paginator; $this->view->itemCountPerPage = $paginator->getItemCountPerPage(); $this->view->totalItemCount = $paginator->getTotalItemCount(); }
public function fetchRow($select, Default_Model_Groups $model) { $result = $this->getDbTable()->fetchRow($select); if (0 == count($result)) { return; } $model->setOptions($result->toArray()); return $model; }