mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
permissions created
This commit is contained in:
77
app/Console/Commands/Database/CreatePermissions.php
Normal file
77
app/Console/Commands/Database/CreatePermissions.php
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands\Database;
|
||||||
|
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
|
class CreatePermissions extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'permissions:create';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Command description';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$actions = [
|
||||||
|
'*',
|
||||||
|
'viewAny',
|
||||||
|
'view',
|
||||||
|
'create',
|
||||||
|
'update',
|
||||||
|
'delete',
|
||||||
|
'restore',
|
||||||
|
'forceDelete',
|
||||||
|
];
|
||||||
|
$permissions = [
|
||||||
|
'PermissionPolicy',
|
||||||
|
'RolePolicy',
|
||||||
|
'BitcoinEventPolicy',
|
||||||
|
'BookCasePolicy',
|
||||||
|
'CategoryPolicy',
|
||||||
|
'CityPolicy',
|
||||||
|
'CountryPolicy',
|
||||||
|
'CourseEventPolicy',
|
||||||
|
'CoursePolicy',
|
||||||
|
'EpisodePolicy',
|
||||||
|
'LecturerPolicy',
|
||||||
|
'LibraryItemPolicy',
|
||||||
|
'LibraryPolicy',
|
||||||
|
'MeetupEventPolicy',
|
||||||
|
'MeetupPolicy',
|
||||||
|
'OrangePillPolicy',
|
||||||
|
'ParticipantPolicy',
|
||||||
|
'PodcastPolicy',
|
||||||
|
'RegistrationPolicy',
|
||||||
|
'TeamPolicy',
|
||||||
|
'UserPolicy',
|
||||||
|
'VenuePolicy',
|
||||||
|
'CommentPolicy',
|
||||||
|
'NovaAdminPolicy',
|
||||||
|
];
|
||||||
|
foreach ($permissions as $permission) {
|
||||||
|
$this->info($permission);
|
||||||
|
foreach ($actions as $action) {
|
||||||
|
$this->info($action);
|
||||||
|
\Spatie\Permission\Models\Permission::firstOrCreate([
|
||||||
|
'name' => $permission.'.'.$action,
|
||||||
|
], [
|
||||||
|
'guard_name' => 'web',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Command::SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -71,7 +71,9 @@ class User extends Resource
|
|||||||
->updateRules('nullable', Rules\Password::defaults()),
|
->updateRules('nullable', Rules\Password::defaults()),
|
||||||
|
|
||||||
MorphToMany::make('Roles', 'roles', \Itsmejoshua\Novaspatiepermissions\Role::class),
|
MorphToMany::make('Roles', 'roles', \Itsmejoshua\Novaspatiepermissions\Role::class),
|
||||||
|
|
||||||
MorphToMany::make('Permissions', 'permissions', \Itsmejoshua\Novaspatiepermissions\Permission::class),
|
MorphToMany::make('Permissions', 'permissions', \Itsmejoshua\Novaspatiepermissions\Permission::class),
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class BitcoinEventPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, BitcoinEvent $bitcoinEvent)
|
public function update(User $user, BitcoinEvent $bitcoinEvent)
|
||||||
{
|
{
|
||||||
return $bitcoinEvent->created_by === $user->id;
|
return $bitcoinEvent->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class CategoryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,7 +53,7 @@ class CategoryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Category $category)
|
public function update(User $user, Category $category)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,7 +65,7 @@ class CategoryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function delete(User $user, Category $category)
|
public function delete(User $user, Category $category)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,7 +77,7 @@ class CategoryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function restore(User $user, Category $category)
|
public function restore(User $user, Category $category)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -89,6 +89,6 @@ class CategoryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, Category $category)
|
public function forceDelete(User $user, Category $category)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class CityPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, City $city)
|
public function update(User $user, City $city)
|
||||||
{
|
{
|
||||||
return $city->created_by === $user->id;
|
return $city->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class CountryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,7 +53,7 @@ class CountryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Country $country)
|
public function update(User $user, Country $country)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,7 +65,7 @@ class CountryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function delete(User $user, Country $country)
|
public function delete(User $user, Country $country)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,7 +77,7 @@ class CountryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function restore(User $user, Country $country)
|
public function restore(User $user, Country $country)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -89,6 +89,6 @@ class CountryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, Country $country)
|
public function forceDelete(User $user, Country $country)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class CourseEventPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, CourseEvent $courseEvent)
|
public function update(User $user, CourseEvent $courseEvent)
|
||||||
{
|
{
|
||||||
return $user->belongsToTeam($courseEvent->course->lecturer->team);
|
return $user->belongsToTeam($courseEvent->course->lecturer->team) || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class CoursePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Course $course)
|
public function update(User $user, Course $course)
|
||||||
{
|
{
|
||||||
return $user->belongsToTeam($course->lecturer->team);
|
return $user->belongsToTeam($course->lecturer->team) || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class EpisodePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Episode $episode)
|
public function update(User $user, Episode $episode)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class LecturerPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Lecturer $lecturer)
|
public function update(User $user, Lecturer $lecturer)
|
||||||
{
|
{
|
||||||
return $lecturer->created_by === $user->id;
|
return $lecturer->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class LibraryItemPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, LibraryItem $libraryItem)
|
public function update(User $user, LibraryItem $libraryItem)
|
||||||
{
|
{
|
||||||
return $libraryItem->created_by === $user->id;
|
return $libraryItem->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class LibraryPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Library $library)
|
public function update(User $user, Library $library)
|
||||||
{
|
{
|
||||||
return $library->created_by === $user->id;
|
return $library->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class MeetupEventPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, MeetupEvent $meetupEvent)
|
public function update(User $user, MeetupEvent $meetupEvent)
|
||||||
{
|
{
|
||||||
return $meetupEvent->created_by === $user->id;
|
return $meetupEvent->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class MeetupPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Meetup $meetup)
|
public function update(User $user, Meetup $meetup)
|
||||||
{
|
{
|
||||||
return $meetup->created_by === $user->id;
|
return $meetup->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -14,11 +14,12 @@ class PermissionPolicy extends BasePolicy
|
|||||||
* Determine whether the user can view any models.
|
* Determine whether the user can view any models.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
|
*
|
||||||
* @return \Illuminate\Auth\Access\Response|bool
|
* @return \Illuminate\Auth\Access\Response|bool
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -26,22 +27,24 @@ class PermissionPolicy extends BasePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \Spatie\Permission\Models\Permission $permission
|
* @param \Spatie\Permission\Models\Permission $permission
|
||||||
|
*
|
||||||
* @return \Illuminate\Auth\Access\Response|bool
|
* @return \Illuminate\Auth\Access\Response|bool
|
||||||
*/
|
*/
|
||||||
public function view(User $user, Permission $permission)
|
public function view(User $user, Permission $permission)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine whether the user can create models.
|
* Determine whether the user can create models.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
|
*
|
||||||
* @return \Illuminate\Auth\Access\Response|bool
|
* @return \Illuminate\Auth\Access\Response|bool
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -49,11 +52,12 @@ class PermissionPolicy extends BasePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \Spatie\Permission\Models\Permission $permission
|
* @param \Spatie\Permission\Models\Permission $permission
|
||||||
|
*
|
||||||
* @return \Illuminate\Auth\Access\Response|bool
|
* @return \Illuminate\Auth\Access\Response|bool
|
||||||
*/
|
*/
|
||||||
public function update(User $user, Permission $permission)
|
public function update(User $user, Permission $permission)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -61,11 +65,12 @@ class PermissionPolicy extends BasePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \Spatie\Permission\Models\Permission $permission
|
* @param \Spatie\Permission\Models\Permission $permission
|
||||||
|
*
|
||||||
* @return \Illuminate\Auth\Access\Response|bool
|
* @return \Illuminate\Auth\Access\Response|bool
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, Permission $permission)
|
public function delete(User $user, Permission $permission)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -73,11 +78,12 @@ class PermissionPolicy extends BasePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \Spatie\Permission\Models\Permission $permission
|
* @param \Spatie\Permission\Models\Permission $permission
|
||||||
|
*
|
||||||
* @return \Illuminate\Auth\Access\Response|bool
|
* @return \Illuminate\Auth\Access\Response|bool
|
||||||
*/
|
*/
|
||||||
public function restore(User $user, Permission $permission)
|
public function restore(User $user, Permission $permission)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -85,10 +91,11 @@ class PermissionPolicy extends BasePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \Spatie\Permission\Models\Permission $permission
|
* @param \Spatie\Permission\Models\Permission $permission
|
||||||
|
*
|
||||||
* @return \Illuminate\Auth\Access\Response|bool
|
* @return \Illuminate\Auth\Access\Response|bool
|
||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, Permission $permission)
|
public function forceDelete(User $user, Permission $permission)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use App\Models\Podcast;
|
|||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Auth\Access\HandlesAuthorization;
|
use Illuminate\Auth\Access\HandlesAuthorization;
|
||||||
|
|
||||||
class PodcastPolicy
|
class PodcastPolicy extends BasePolicy
|
||||||
{
|
{
|
||||||
use HandlesAuthorization;
|
use HandlesAuthorization;
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class RolePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,7 +30,7 @@ class RolePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function view(User $user, Role $role)
|
public function view(User $user, Role $role)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -41,7 +41,7 @@ class RolePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,7 +53,7 @@ class RolePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Role $role)
|
public function update(User $user, Role $role)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,7 +65,7 @@ class RolePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function delete(User $user, Role $role)
|
public function delete(User $user, Role $role)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,7 +77,7 @@ class RolePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function restore(User $user, Role $role)
|
public function restore(User $user, Role $role)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -89,6 +89,6 @@ class RolePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, Role $role)
|
public function forceDelete(User $user, Role $role)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class TeamPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,7 +44,7 @@ class TeamPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -109,6 +109,6 @@ class TeamPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function delete(User $user, Team $team)
|
public function delete(User $user, Team $team)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class UserPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,7 +29,7 @@ class UserPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function view(User $user, User $model)
|
public function view(User $user, User $model)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,7 +40,7 @@ class UserPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,7 +52,7 @@ class UserPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, User $model)
|
public function update(User $user, User $model)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -64,7 +64,7 @@ class UserPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function delete(User $user, User $model)
|
public function delete(User $user, User $model)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -76,7 +76,7 @@ class UserPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function restore(User $user, User $model)
|
public function restore(User $user, User $model)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,6 +88,6 @@ class UserPolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, User $model)
|
public function forceDelete(User $user, User $model)
|
||||||
{
|
{
|
||||||
return $user->hasRole('super-admin');
|
return $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class VenuePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function view(User $user, Venue $venue)
|
public function view(User $user, Venue $venue)
|
||||||
{
|
{
|
||||||
return $user->is_lecturer;
|
return $user->is_lecturer || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,7 +44,7 @@ class VenuePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user)
|
||||||
{
|
{
|
||||||
return $user->is_lecturer;
|
return $user->is_lecturer || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,7 +57,7 @@ class VenuePolicy extends BasePolicy
|
|||||||
*/
|
*/
|
||||||
public function update(User $user, Venue $venue)
|
public function update(User $user, Venue $venue)
|
||||||
{
|
{
|
||||||
return $venue->created_by === $user->id;
|
return $venue->created_by === $user->id || $user->can((new \ReflectionClass($this))->getShortName().'.'.__FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -42,16 +42,16 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
|||||||
parent::boot();
|
parent::boot();
|
||||||
|
|
||||||
Nova::mainMenu(function (Request $request) {
|
Nova::mainMenu(function (Request $request) {
|
||||||
$adminItems = $request->user()
|
$comments = $request->user()->can('CommentPolicy.viewAny') ? [
|
||||||
->hasRole('super-admin') ?
|
MenuSection::make('Comments', [
|
||||||
|
MenuItem::resource(Comment::class),
|
||||||
|
])
|
||||||
|
->icon('chat')
|
||||||
|
->collapsable(),
|
||||||
|
] : [];
|
||||||
|
|
||||||
|
$adminItems = $request->user()->can('NovaAdminPolicy.viewAny') ?
|
||||||
[
|
[
|
||||||
|
|
||||||
MenuSection::make('Comments', [
|
|
||||||
MenuItem::resource(Comment::class),
|
|
||||||
])
|
|
||||||
->icon('chat')
|
|
||||||
->collapsable(),
|
|
||||||
|
|
||||||
MenuSection::make('Admin', [
|
MenuSection::make('Admin', [
|
||||||
MenuItem::resource(Category::class),
|
MenuItem::resource(Category::class),
|
||||||
MenuItem::resource(Country::class),
|
MenuItem::resource(Country::class),
|
||||||
@@ -62,17 +62,19 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
|||||||
->icon('key')
|
->icon('key')
|
||||||
->collapsable(),
|
->collapsable(),
|
||||||
|
|
||||||
MenuSection::make(__('nova-spatie-permissions::lang.sidebar_label'), [
|
|
||||||
MenuItem::link(__('nova-spatie-permissions::lang.sidebar_label_roles'), 'resources/roles'),
|
|
||||||
MenuItem::link(__('nova-spatie-permissions::lang.sidebar_label_permissions'),
|
|
||||||
'resources/permissions'),
|
|
||||||
])
|
|
||||||
->icon('key')
|
|
||||||
->collapsable(),
|
|
||||||
|
|
||||||
]
|
]
|
||||||
: [];
|
: [];
|
||||||
|
|
||||||
|
$permissions = $request->user()->can('PermissionPolicy.viewAny') ? [
|
||||||
|
MenuSection::make(__('nova-spatie-permissions::lang.sidebar_label'), [
|
||||||
|
MenuItem::link(__('nova-spatie-permissions::lang.sidebar_label_roles'), 'resources/roles'),
|
||||||
|
MenuItem::link(__('nova-spatie-permissions::lang.sidebar_label_permissions'),
|
||||||
|
'resources/permissions'),
|
||||||
|
])
|
||||||
|
->icon('key')
|
||||||
|
->collapsable(),
|
||||||
|
] : [];
|
||||||
|
|
||||||
return array_merge([
|
return array_merge([
|
||||||
MenuSection::dashboard(Main::class)
|
MenuSection::dashboard(Main::class)
|
||||||
->icon('lightning-bolt'),
|
->icon('lightning-bolt'),
|
||||||
@@ -133,7 +135,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
|||||||
->icon('book-open')
|
->icon('book-open')
|
||||||
->collapsable(),
|
->collapsable(),
|
||||||
|
|
||||||
], $adminItems);
|
], $comments, $adminItems, $permissions);
|
||||||
});
|
});
|
||||||
|
|
||||||
Nova::withBreadcrumbs();
|
Nova::withBreadcrumbs();
|
||||||
|
|||||||
Reference in New Issue
Block a user