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()]); }
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())); } }
/** * @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; }