コード例 #1
0
ファイル: GroupsController.php プロジェクト: valizr/MMA
 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();
 }
コード例 #2
0
ファイル: Groups.php プロジェクト: valizr/MMA
 public function fetchRow($select, Default_Model_Groups $model)
 {
     $result = $this->getDbTable()->fetchRow($select);
     if (0 == count($result)) {
         return;
     }
     $model->setOptions($result->toArray());
     return $model;
 }