реализовать разрешение Sentinel в laravel 5.3

Я планирую реализовать разрешения дозорного в Laravel 5.3. Я создал permissions.php внутри папки конфигурации.

файл config / permissions.php

<?php

return array(

'User Management -> Role Management' => array(
array(
'permission' => 'role-management.view',
'label'      => 'View',
),
array(
'permission' => 'role-management.create',
'label'      => 'Create',
),
array(
'permission' => 'role-management.edit',
'label'      => 'Edit',
),
array(
'permission' => 'role-management.delete',
'label'      => 'Delete',
),
),

'User Management -> User Management' => array(
array(
'permission' => 'user-management.view',
'label'      => 'View',
),
array(
'permission' => 'user-management.create',
'label'      => 'Create',
),
array(
'permission' => 'user-management.edit',
'label'      => 'Edit',
),
array(
'permission' => 'user-management.delete',
'label'      => 'Delete',
),
),

);

Затем в моем контроллере я создал маршрут get для просмотра.

маршрут

Route::get('/manage-role/edit/{slug}', ['as' => 'edit', 'uses' => 'RoleController@edit']);

Мой метод контроллера выглядит следующим образом

public function edit($slug)
{
//get selected role ex: admin, manager or user
$role = Sentinel::findRoleBySlug($slug);

$permissions = Config::get('permissions');

foreach ($permissions as $permission) {

foreach ($permission as $eachPermission) {

$encodedPermission = base64_encode($eachPermission['permission']);

$eachPermission['encodedPermission'] = $encodedPermission;

}
}

//return view
return view('backend.admin.user-management.edit-role', [
'role'        => $role,
'permissions' => $permissions
]);
}

И мой взгляд выглядит следующим образом, я удалил бутстрап и прочее, просто чтобы сосредоточиться на логике.

редактировать-role.blade.php

<form action="" method="post">
@foreach ($permissions as $permissionHeader => $permissions)

<h3 class="box-title">{{ $permissionHeader }}</h3>@foreach ($permissions as $key => $permission)
<label class="control-group">{{{ $permission['label'] }}}</label>

<input type="radio" name="{{ $permission['label'] }}" class="flat-red" checked> Enable

<input type="radio" name="{{ $permission['label'] }}" class="flat-red"> Disable
</label>
@endforeach

@endforeach
<button type="submit" class="btnRoleForm btn btn-success">Save Roles</button>
</div>
</form>

Это изображение для установки разрешения для менеджера из панели администратора

введите описание изображения здесь

Я хочу установить переключатель для каждого разрешения создания, просмотра, обновления, удаления для каждого типа (управление пользователями, управление ролями и т. Д.). Я в настоящее время застрял.

когда я использую name="{{ $permission['encodedPermission'] }}" в клинке я получаю ошибку. Этот ключ не установлен в массиве.

Я хочу установить все разрешения на кнопку сохранения. Я делаю правильно или есть другой эффективный способ сделать это. Требуется помощь.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]