public function behaviors() { return ArrayHelper::merge(parent::behaviors(), ['viewAccess' => ['class' => CmsAccessControl::className(), 'only' => ['view'], 'rules' => [['allow' => true, 'matchCallback' => function ($rule, $action) { if ($this->model->cmsContent && $this->model->cmsContent->access_check_element == 'Y') { //Если такая привилегия заведена, нужно ее проверять. if ($permission = \Yii::$app->authManager->getPermission($this->model->permissionName)) { if (!\Yii::$app->user->can($permission->name)) { return false; } } } return true; }]]]]); }
/** * @return array */ public function behaviors() { return ArrayHelper::merge(parent::behaviors(), ['accessToView' => ['class' => CmsAccessControl::className(), 'only' => ['view'], 'rules' => [['allow' => true, 'matchCallback' => function ($rule, $action) { $id = \Yii::$app->request->get('id'); $shopOrder = V3toysOrder::findOne($id); if (\Yii::$app->user->isGuest) { return false; } if ($shopOrder->user_id == \Yii::$app->user->identity->id) { return true; } return false; }]]], 'accessToList' => ['class' => CmsAccessControl::className(), 'only' => ['list'], 'rules' => [['allow' => true, 'roles' => ['@']]]]]); }
/** * @return array */ public function behaviors() { return ArrayHelper::merge(parent::behaviors(), ['verbs' => ['class' => VerbFilter::className(), 'actions' => ['shop-person-type-validate' => ['post'], 'shop-person-type-submit' => ['post']]]]); }