public function actionPermission()
{
$model = $this->model;
$authManager = Yii::$app->authManager;
$avaliable = [];
$assigned = [];
foreach ($authManager->getRolesByUser($model->primaryKey) as $role) {
$type = $role->type;
$assigned[$type == Item::TYPE_ROLE ? 'Roles' : 'Permissions'][$role->name] = $role->name;
}
foreach ($authManager->getRoles() as $role) {
if (!isset($assigned['Roles'][$role->name])) {
$avaliable['Roles'][$role->name] = $role->name;
}
}
foreach ($authManager->getPermissions() as $role) {
if ($role->name[0] !== '/' && !isset($assigned['Permissions'][$role->name])) {
$avaliable['Permissions'][$role->name] = $role->name;
}
}
return $this->render('permission', ['model' => $model, 'avaliable' => $avaliable, 'assigned' => $assigned, 'idField' => 'id', 'usernameField' => 'username']);
}