public function actionCreate($id) { $project = $this->loadModel('app\\models\\Project', $id); $this->view->params['appSettings'] = ['app_name' => $project->title]; if (!\Yii::$app->user->can('viewProject', ['project' => $project]) || \Yii::$app->user->isGuest) { throw new ForbiddenHttpException('Access denied'); } $model = new Wiki(); $model->project_id = $project->id; if ($model->load(\Yii::$app->request->post()) && $model->save()) { \Yii::$app->session->setFlash('success', \Yii::t('app', 'New page successfully created.')); $this->redirect(['/wiki/index', 'id' => $project->id]); } return $this->render('create', ['model' => $model, 'project' => $project]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Wiki::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $query->andFilterWhere(['id' => $this->id, 'project_id' => $this->project_id]); if (isset($this->tagId)) { CommonHelper::addCriteriaForTagid($query, TagModel::MODEL_WIKI, $this->tagId); } if (!($this->load($params) && $this->validate())) { //die(var_dump($query)); return $dataProvider; } $query->andFilterWhere(['like', 'title', $this->title]); return $dataProvider; }