Ejemplo n.º 1
0
 public function actionIndex()
 {
     if ($this->getModule()->userList) {
         $this->addBreadcrumb(UserModule::t("Users"), Mindy::app()->urlManager->reverse('user:list'));
     }
     $qs = User::objects()->active();
     $pager = new Pagination($qs);
     echo $this->render('user/list.html', ['pager' => $pager, 'models' => $pager->paginate()]);
 }
Ejemplo n.º 2
0
 public function actionList()
 {
     $qs = User::objects()->asArray();
     $request = $this->getRequest();
     if ($request->get->get('for_select', false)) {
         $qs->select(['value' => 'id', 'label' => 'username']);
     } else {
         $qs->select(User::TRUSTED_FIELDS);
     }
     if ($request->get->get('pager', true) == false) {
         $objects = $qs->all();
         echo $this->json(['status' => true, 'objects' => $objects]);
     } else {
         $pager = new Pagination($qs, ['pageKey' => 'page', 'pageSizeKey' => 'page_size']);
         $pager->paginate();
         echo $this->json(array_merge(['status' => true], $pager->toJson()));
     }
 }
Ejemplo n.º 3
0
 /**
  * @param $admin
  * @return array
  */
 protected function processAjaxSelect($admin)
 {
     $json = [];
     if (isset($_GET['select2'])) {
         $q = $_GET['select2'];
         $field = $_GET['field'];
         $modelField = $_GET['modelField'];
         $sourceModel = $admin->getModel();
         if (!$sourceModel->hasField($field)) {
             return ['items' => [], 'total_count' => []];
         }
         $cls = $sourceModel->getField($field)->modelClass;
         $model = new $cls();
         $qs = $model->objects()->filter([$modelField . '__startswith' => $q]);
         $total = $qs->count();
         $pager = new Pagination($qs, ['pageSize' => isset($_GET['pageSize']) ? $_GET['pageSize'] : 10]);
         $pager->setPage(isset($_GET['page']) ? (int) $_GET['page'] : 1);
         $models = [];
         foreach ($pager->paginate() as $model) {
             $models[] = ['text' => (string) $model, 'id' => $model->pk];
         }
         return ['items' => $models, 'total_count' => $total];
     }
     return $json;
 }