Example #1
0
 /**
  * Get list of items. Returns JSON  reply with
  * ORM object field data;
  * Filtering, pagination and search are available
  * Sends JSON reply in the result
  * and closes the application.
  */
 public function listAction()
 {
     $pager = Request::post('pager', 'array', array());
     $filter = Request::post('filter', 'array', array());
     $query = Request::post('search', 'string', false);
     $filter = array_merge($filter, Request::extFilters());
     $dataModel = Model::factory($this->_objectName);
     if (isset($filter['date']) && !empty($filter['date'])) {
         $date = date('Y-m-d', strtotime($filter['date']));
         $filter['date'] = new Db_Select_Filter('date', array($date . ' 00:00:00', $date . ' 23:59:59'), Db_Select_Filter::BETWEEN);
     }
     $data = $dataModel->getListVc($pager, $filter, $query, $this->_listFields);
     if (empty($data)) {
         Response::jsonSuccess(array(), array('count' => 0));
     }
     $userIds = Utils::fetchCol('user_id', $data);
     $userData = array();
     if (!empty($userIds)) {
         $userData = Model::factory('User')->getList(false, array('id' => $userIds), array('id', 'name'));
         if (!empty($userData)) {
             $userData = Utils::rekey('id', $userData);
         }
         foreach ($data as $k => &$v) {
             if (isset($userData[$v['user_id']])) {
                 $v['user_name'] = $userData[$v['user_id']]['name'];
             } else {
                 $v['user_name'] = '';
             }
         }
     }
     unset($v);
     Response::jsonSuccess($data, array('count' => $dataModel->getCount($filter, $query)));
 }
Example #2
0
 /**
  * Get list of items. Returns JSON  reply with
  * ORM object field data;
  * Filtering, pagination and search are available
  * Sends JSON reply in the result
  * and closes the application.
  */
 public function listAction()
 {
     $pager = Request::post('pager', 'array', array());
     $filter = Request::post('filter', 'array', array());
     $query = Request::post('search', 'string', false);
     $filter = array_merge($filter, Request::extFilters());
     $dataModel = Model::factory($this->_objectName);
     $data = $dataModel->getListVc($pager, $filter, $query, $this->_listFields);
     if (empty($data)) {
         Response::jsonSuccess(array(), array('count' => 0));
     }
     Response::jsonSuccess($data, array('count' => $dataModel->getCount($filter, $query)));
 }
Example #3
0
File: Vc.php Project: vgrish/dvelum
 /**
  * (non-PHPdoc)
  * @see Backend_Controller_Crud::listAction()
  */
 public function listAction()
 {
     $pager = Request::post('pager', 'array', array());
     $filter = Request::post('filter', 'array', array());
     $query = Request::post('search', 'string', false);
     $filter = array_merge($filter, Request::extFilters());
     $dataModel = Model::factory($this->_objectName);
     $vc = Model::factory('vc');
     $data = $dataModel->getListVc($pager, $filter, $query, $this->_listFields, 'user', 'updater');
     if (empty($data)) {
         Response::jsonSuccess(array(), array('count' => 0));
     }
     $ids = Utils::fetchCol('id', $data);
     $maxRevisions = $vc->getLastVersion($this->_objectName, $ids);
     foreach ($data as $k => &$v) {
         if (isset($maxRevisions[$v['id']])) {
             $v['last_version'] = $maxRevisions[$v['id']];
         } else {
             $v['last_version'] = 0;
         }
     }
     Response::jsonSuccess($data, array('count' => $dataModel->getCount($filter, $query)));
 }