/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = AuthItemChild::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['like', 'parent', $this->parent])->andFilterWhere(['like', 'child', $this->child]);
     return $dataProvider;
 }
Пример #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getAuthItemChildren0()
 {
     return $this->hasMany(AuthItemChild::className(), ['child' => 'name']);
 }
 public function actionAddchild($idparent)
 {
     $model = new AuthItemChild();
     $model->parent = $idparent;
     $command = Yii::$app->request->post('commandAction');
     if (isset($command)) {
         $model->load(Yii::$app->request->post());
         $respond = $model->validate();
         if ($respond) {
             $auth = Yii::$app->authManager;
             $parent = $auth->getRole($model->parent);
             if (is_null($parent)) {
                 $parent = $auth->getPermission($model->parent);
             }
             $child = $auth->getRole($model->child);
             if (is_null($child)) {
                 $child = $auth->getPermission($model->child);
             }
             $auth->addChild($parent, $child);
             return $this->redirect(['view', 'id' => $idparent]);
         } else {
             throw new HttpException('400', serialize($model->errors));
         }
     } else {
         return $this->render('addchild', ['model' => $model]);
     }
 }
 /**
  * Finds the AuthItemChild model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param string $parent
  * @param string $child
  * @return AuthItemChild the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($parent, $child)
 {
     if (($model = AuthItemChild::findOne(['parent' => $parent, 'child' => $child])) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }