From e4634229f07a40e74bf45db71a826183e35655bb Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 5 Mar 2020 15:20:52 +0100 Subject: [PATCH] wip #3466 @2 --- app/Policies/QuizPolicy.php | 14 ++-- .../base/inc/sidebar_content.blade.php | 66 +++++++++++-------- routes/backpack/backupmanager.php | 22 +++++++ routes/backpack/logmanager.php | 22 +++++++ routes/backpack/permissionmanager.php | 21 ++++++ 5 files changed, 110 insertions(+), 35 deletions(-) create mode 100644 routes/backpack/backupmanager.php create mode 100644 routes/backpack/logmanager.php create mode 100644 routes/backpack/permissionmanager.php diff --git a/app/Policies/QuizPolicy.php b/app/Policies/QuizPolicy.php index b58c26d10..e37b60982 100644 --- a/app/Policies/QuizPolicy.php +++ b/app/Policies/QuizPolicy.php @@ -18,7 +18,7 @@ class QuizPolicy */ public function viewAny(User $user) { - // + return $user->hasPermissionTo('viewany'); } /** @@ -30,7 +30,7 @@ class QuizPolicy */ public function view(User $user, Quiz $quiz) { - if ($user->hasPermissionTo('viewany')) { + if ($this->viewAny($user)) { return true; } return $user->getKey() === $quiz->owner; @@ -44,7 +44,7 @@ class QuizPolicy */ public function create(User $user) { - // + $user->hasPermissionTo('quiz'); } /** @@ -56,7 +56,7 @@ class QuizPolicy */ public function update(User $user, Quiz $quiz) { - // + return $this->view($user, $quiz); } /** @@ -68,7 +68,7 @@ class QuizPolicy */ public function delete(User $user, Quiz $quiz) { - // + return $this->view($user, $quiz); } /** @@ -80,7 +80,7 @@ class QuizPolicy */ public function restore(User $user, Quiz $quiz) { - // + return $this->view($user, $quiz); } /** @@ -92,6 +92,6 @@ class QuizPolicy */ public function forceDelete(User $user, Quiz $quiz) { - // + return $this->view($user, $quiz); } } diff --git a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php index 66bf1a78f..f0d754556 100644 --- a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php +++ b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php @@ -2,32 +2,42 @@ - +@can('quiz') + +@endcan - - - +@can('maintenance') + +@endcan +@can('manageusers') + +@endcan diff --git a/routes/backpack/backupmanager.php b/routes/backpack/backupmanager.php new file mode 100644 index 000000000..af8e1c307 --- /dev/null +++ b/routes/backpack/backupmanager.php @@ -0,0 +1,22 @@ + 'Backpack\BackupManager\app\Http\Controllers', + 'prefix' => config('backpack.base.route_prefix', 'admin'), + 'middleware' => ['web', 'admin','can:maintenance'], +], function () { + Route::get('backup', 'BackupController@index'); + Route::put('backup/create', 'BackupController@create'); + Route::get('backup/download/{file_name?}', 'BackupController@download'); + Route::delete('backup/delete/{file_name?}', 'BackupController@delete')->where('file_name', '(.*)'); +}); diff --git a/routes/backpack/logmanager.php b/routes/backpack/logmanager.php new file mode 100644 index 000000000..7afc96ab7 --- /dev/null +++ b/routes/backpack/logmanager.php @@ -0,0 +1,22 @@ + 'Backpack\LogManager\app\Http\Controllers', + 'middleware' => ['web', config('backpack.base.middleware_key', 'admin')], + 'prefix' => config('backpack.base.route_prefix', 'admin', 'can:maintenance'), +], function () { + Route::get('log', 'LogController@index'); + Route::get('log/preview/{file_name}', 'LogController@preview'); + Route::get('log/download/{file_name}', 'LogController@download'); + Route::delete('log/delete/{file_name}', 'LogController@delete'); +}); diff --git a/routes/backpack/permissionmanager.php b/routes/backpack/permissionmanager.php new file mode 100644 index 000000000..de224a892 --- /dev/null +++ b/routes/backpack/permissionmanager.php @@ -0,0 +1,21 @@ + 'Backpack\PermissionManager\app\Http\Controllers', + 'prefix' => config('backpack.base.route_prefix', 'admin'), + 'middleware' => ['web', backpack_middleware(), 'can:manageusers'], +], function () { + Route::crud('permission', 'PermissionCrudController'); + Route::crud('role', 'RoleCrudController'); + Route::crud('user', 'UserCrudController'); +}); -- 2.39.5