/**
* @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(\Yii::$app->user->moduleAliasName)->auth_item_table . '.name != :commonPermissionName', [':commonPermissionName' => Yii::$app->getModule(\Yii::$app->user->moduleAliasName)->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'));
}