コード例 #1
0
ファイル: RoleController.php プロジェクト: kimthangatm/zcms
 public function indexAction()
 {
     //Add toolbar button
     $this->_toolbar->addNewButton();
     $this->_toolbar->addEditButton();
     $this->_toolbar->addDeleteButton();
     $this->updateRules();
     UserRoles::updateModuleMenu();
     $this->updateACLCache();
     //Add filter
     $this->addFilter("filter_order", "role_id", "string");
     $this->addFilter("filter_order_dir", "ASC", "string");
     $conditions = [];
     $conditions[] = 'ar.is_super_admin != 1';
     //Get all filter
     $filter = $this->getFilter();
     $items = $this->modelsManager->createBuilder()->columns('ar.role_id AS id, ar.name AS name, ar.is_default, ar.location, ar.updated_at AS updated_at, ar.updated_by AS updated_by, ar.created_at AS created_at')->addFrom('ZCMS\\Core\\Models\\UserRoles', "ar")->where(implode(' AND ', $conditions))->orderBy($filter['filter_order'] . ' ' . $filter['filter_order_dir']);
     $currentPage = $this->request->getQuery("page", "int", 1);
     $paginationLimit = $this->config->pagination->limit;
     //Create pagination
     $this->view->setVar('_page', ZPagination::getPaginationQueryBuilder($items, $paginationLimit, $currentPage));
     //Set search value
     $this->view->setVar('_filter', $filter);
     //Set column name, value
     $this->view->setVar('_pageLayout', [['type' => 'check_all'], ['type' => 'index', 'title' => '#'], ['type' => 'link', 'title' => 'm_system_role_form_name', 'column' => 'name', 'link' => '/admin/system/role/edit/', 'access' => $this->acl->isAllowed('system|role|edit')], ['type' => 'text', 'title' => 'gb_is_default', 'column' => 'is_default', 'class' => 'text-center col-location', 'label' => [['condition' => '==', 'condition_value' => '1', 'class' => 'glyphicon glyphicon-star orange', 'text' => ''], ['condition' => '==', 'condition_value' => '0', 'class' => 'glyphicon glyphicon-star grey', 'text' => '']]], ['type' => 'text', 'title' => 'gb_location', 'class' => 'text-center col-location', 'column' => 'location', 'label' => [['condition' => '==', 'condition_value' => 'backend', 'class' => 'label label-sm label-success', 'text' => 'gb_backend'], ['condition' => '!=', 'condition_value' => 'backend', 'class' => 'label label-sm label-warning', 'text' => 'gb_frontend']], 'translation' => true], ['type' => 'date', 'title' => 'gb_created_at', 'column' => 'created_at'], ['type' => 'date', 'title' => 'gb_updated_at', 'column' => 'updated_at'], ['type' => 'id', 'title' => 'gb_id', 'column' => 'id']]);
 }
コード例 #2
0
ファイル: IndexController.php プロジェクト: kimthangatm/zcms
 /**
  * Set item to view
  *
  * @param string $condition
  * @param array $filter
  */
 private function setItemsToView($condition, $filter)
 {
     //Limit
     $paginationLimit = $this->config->pagination->limit;
     $currentPage = $this->request->getQuery('page', 'int');
     $items = $this->modelsManager->createBuilder()->columns("b.id as id, bts.name as bug_tracking_status, CONCAT(u.first_name, ' ', u.last_name) as full_name, zcms_cut_string(b.description, 63) as description, b.created_at as b_created_at, ur.created_at as user_role_created_at, ur.name as name, btt.name as btt_name, btp.name as btp_name ")->addFrom('\\ZCMS\\Core\\Models\\BugTracking', 'b')->join('\\ZCMS\\Core\\Models\\UserRoles', 'b.role_id = ur.id', 'ur')->join('\\ZCMS\\Core\\Models\\BugTrackingPriority', 'b.bug_tracking_priority_id = btp.id', 'btp')->join('\\ZCMS\\Core\\Models\\BugTrackingType', 'b.bug_tracking_type_id = btt.id', 'btt')->join('\\ZCMS\\Core\\Models\\BugTrackingStatus', 'b.bug_tracking_status_id = bts.id', 'bts')->join('\\ZCMS\\Core\\Models\\Users', 'b.created_by = u.id', 'u')->where($condition)->orderBy($filter['filter_order'] . ' ' . $filter['filter_order_dir']);
     $this->view->setVar('_page', ZPagination::getPaginationQueryBuilder($items, $paginationLimit, $currentPage));
     //Set search value
     $this->view->setVar('_filter', $filter);
 }