[ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : NULL, ], ]; } public function actionProject() { $projects = new ActiveDataProvider([ 'query' => Project::find(), 'pagination' => [ 'pageSize' => 9, ], ]); return $this->render('project', [ 'projects' => $projects, ]); } public function actionCustomer() { $model = new CustomerSearch(); $dataProvider = $model->search(Yii::$app->request->queryParams); $dataProvider->setPagination([ 'pageSize' => 5, ]); $dataProvider->setSort([ 'defaultOrder' => [ 'name' => SORT_ASC, ], 'attributes' => [ 'name' => [ 'asc' => [ 'company_info.name' => SORT_ASC, 'firstname' => SORT_ASC, 'lastname' => SORT_ASC, ], 'desc' => [ 'company_info.name' => SORT_DESC, 'firstname' => SORT_DESC, 'lastname' => SORT_DESC, ], 'default' => SORT_ASC, 'label' => 'Название', ], 'staff' => [ 'asc' => [ 'company_info.staff' => SORT_ASC, ], 'desc' => [ 'company_info.staff' => SORT_DESC, ], 'default' => SORT_DESC, 'label' => 'Количество сотрудников', ], 'visit' => [ 'asc' => [ 'user_info.date_visit' => SORT_ASC, ], 'desc' => [ 'user_info.date_visit' => SORT_DESC, ], 'default' => SORT_DESC, 'label' => 'Последний визит', ], 'city' => [ 'asc' => [ 'user_info.city' => SORT_ASC, ], 'desc' => [ 'user_info.city' => SORT_DESC, ], 'default' => SORT_ASC, 'label' => 'Город', ], ], ]); $model->load(Yii::$app->request->queryParams); return $this->render('customer', [ 'model' => $model, 'dataProvider' => $dataProvider, ]); } public function actionCompany() { $query = UserInfo::find() ->joinWith([ 'user' ]) ->where([ 'is_customer' => 1, 'user.type' => 2, ]); $companies = new ActiveDataProvider([ 'query' => $query, 'pagination' => [ 'pageSize' => 3, ], ]); return $this->render('company', [ 'companies' => $companies, ]); } public function actionPerformer() { $query = UserInfo::find() ->joinWith([ 'user' ]) ->where([ 'is_customer' => 1, 'user.type' => 1, ]); $performer = new ActiveDataProvider([ 'query' => $query, 'pagination' => [ 'pageSize' => 3, ], ]); return $this->render('performer', [ 'performer' => $performer, ]); } public function actionVacancy() { $query = Vacancy::find(); $countQuery = clone $query; $pagination = new Pagination([ 'totalCount' => $countQuery->count(), 'pageSize' => 15, ]); $vacancy = $query->offset($pagination->offset) ->limit($pagination->limit); $provider = new ActiveDataProvider([ 'query' => $vacancy, 'pagination' => false, 'sort' => [ 'defaultOrder' => [ 'date_add' => SORT_DESC, 'name' => SORT_ASC, ], ], ]); return $this->render('vacancy', [ 'provider' => $provider, 'pagination' => $pagination, ]); } }