Назначение ролей пользователей в Nova с использованием разрешений Spatie LaravelPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Назначение ролей пользователей в Nova с использованием разрешений Spatie Laravel

Сообщение Anonymous »

В настоящее время я использую пакет разрешений Spatie laravel в проекте laravel 5.8 и использую Nova для администратора.

Я хочу, чтобы пользователь-суперадминистратор мог назначать роль избранным пользователям с панели управления nova. Вот как я попытался это сделать, используя действия nova. Я создал действие GrantAdminRole и выполнил назначение роли внутри метода handle следующим образом

Код: Выделить всё

public function handle(ActionFields $fields, Collection $models)
{
foreach ($models as $model) {

// grant user admin role
$model->assignRole(['admin']);
}

return Action::message('User has been assigned Admin role.');
}
Затем в моем методе действия app\Nova\User я использую действие GrantAdminRole

Код: Выделить всё

public function actions(Request $request)
{
return [
(new GrantAdminRole)->canSee(function ($request) {
return $request->user()->hasRole(['super-admin']);
})
];
}
Теперь, когда я пытаюсь назначить роль, я получаю сообщение об ошибке


Извините! У вас нет прав на выполнение этого действия


Как это исправить? Я думаю, что мне нужна политика, но не могу понять, как она должна выглядеть.

Подробнее здесь: https://stackoverflow.com/questions/581 ... ermissions
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»