/** * @param string $id * * @return string */ public function actionView($id) { $role = $this->findModel($id); $authManager = new DbManager(); $allRoles = Role::find()->asArray()->andWhere('name != :current_name', [':current_name' => $id])->all(); $permissions = Permission::find()->andWhere(Yii::$app->getModule('user')->auth_item_table . '.name != :commonPermissionName', [':commonPermissionName' => Yii::$app->getModule('user')->commonPermissionName])->joinWith('group')->all(); $permissionsByGroup = []; foreach ($permissions as $permission) { $permissionsByGroup[@$permission->group->name][] = $permission; } $childRoles = $authManager->getChildren($role->name); $currentRoutesAndPermissions = AuthHelper::separateRoutesAndPermissions($authManager->getPermissionsByRole($role->name)); $currentPermissions = $currentRoutesAndPermissions->permissions; return $this->renderIsAjax('view', compact('role', 'allRoles', 'childRoles', 'currentPermissions', 'permissionsByGroup')); }