configurationManager->getMasterSystemManagerSetting('use_master_system_manager_interface'); if ($allowMasterSystemManager && $action->id !== 'informing') { $this->redirect(['sandbox/informing', 'name' => 'system_manager.manager_is_not_allowed']); return true; } return parent::beforeAction($action); } public function behaviors() { return [ 'access' => [ 'class' => AccessControl::class, 'rules' => [ [ 'allow' => true, 'roles' => [User::ROLE_MANAGER] ] ] ] ]; } public function actionManage() { $user = Yii::$app->user->identity; $searchModel = new ResubmissionUserSettingsSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $listOfAdmissionCampaign = $user->getCampaignsToModerate() ->joinWith(['campaign.referenceType referenceType']) ->select([ApplicationType::tableName() . '.name name', 'referenceType.reference_uid reference_uid']) ->distinct() ->asArray() ->all(); return $this->render('manage', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'listOfAdmissionCampaign' => $listOfAdmissionCampaign ]); } public function actionChangePermissions() { Yii::$app->response->format = Response::FORMAT_JSON; $user_id_type_ids = Yii::$app->request->post('user_id_type_ids'); $permission = BooleanCaster::cast(Yii::$app->request->post('permission')); if ($user_id_type_ids) { foreach ($user_id_type_ids as ['user_id' => $user_id, 'type_id' => $type_id]) { $user = User::findOne($user_id); $type = ApplicationType::findOne($type_id); if ($user && $type) { $type->toggleResubmitPermissions($user, $permission); } } return ['success' => true]; } return ['success' => false, 'message' => 'Не выбран ни один поступающий']; } }