[ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : NULL, ], ]; } public function actionCommon($action) { $query = \Yii::$app->request->get('query'); $actions = [ 1 => 'project', 2 => 'performer', 3 => 'customer' ]; if(!array_key_exists($action, $actions)) { return $this->redirect(['/', 'query' => $query]); } else { switch($action) { case 1: return $this->redirect(['search/'.$actions[$action], 'TenderSearch[info]' => $query]); break; case 2: return $this->redirect(['search/'.$actions[$action], 'SearchPerformerForm[search]' => $query]); break; case 3: return $this->redirect(['search/'.$actions[$action], 'CustomerSearch[info]' => $query]); break; } } return false; } public function actionProject() { $model = new TenderSearch(); $dataProvider = $model->search(Yii::$app->request->queryParams); $dataProvider->query->andWhere(['hidden' => 0]); $dataProvider->setPagination([ 'pageSize' => 10, ]); $specialization = Specialization::specializationsList(); $currencies = Currency::getCurrencyDropdown(); $payments = Payment::find()->select(['name', 'payment_id'])->asArray()->indexBy('payment_id')->column(); return $this->render('project', [ 'model' => $model, 'dataProvider' => $dataProvider, 'specialization' => $specialization, 'currencies' => $currencies, 'payments' => $payments, ]); } public function actionCustomer() { $model = new CustomerSearch(); $dataProvider = $model->search(Yii::$app->request->queryParams); $dataProvider->setPagination([ 'pageSize' => 5, ]); $model->load(Yii::$app->request->queryParams); return $this->render('customer', [ 'model' => $model, 'dataProvider' => $dataProvider, ]); } public function actionPerformer() { $specialization = Specialization::specializationsList(); $specializations = Specialization::find() ->with('children') ->where([ 'specialization_pid' => 0 ]) ->orderBy('specialization_id') ->all(); $searchModel = new SearchPerformerForm(); return $this->render('performer',[ 'dataProvider' => $searchModel->search(Yii::$app->request->queryParams), 'specialization' => $specialization, 'specializations' => $specializations, 'model'=> $searchModel ]); } public function actionVacancy() { $searchModel = new SearchVacancyForm(); $specialization = Specialization::specializationsList(); $query = $searchModel->search(Yii::$app->request->queryParams); $countQuery = clone $query; $pagination = new Pagination([ 'totalCount' => $countQuery->count(), 'pageSize' => 15, ]); $vacancy = $query->offset($pagination->offset) ->limit($pagination->limit); $dataProvider = new ActiveDataProvider([ 'query' => $vacancy, 'pagination' => false, 'sort' => [ 'defaultOrder' => [ 'date_add' => SORT_DESC, 'name' => SORT_ASC, ], ], ]); return $this->render('vacancy',[ 'dataProvider' => $dataProvider, 'specialization' => $specialization, 'model'=> $searchModel, 'pagination'=> $pagination ]); } }