permissions and roles added

This commit is contained in:
Benjamin Takats
2022-11-30 16:28:01 +01:00
parent e8edd349f2
commit 7767482f4d
14 changed files with 516 additions and 21 deletions

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
use Spatie\Permission\Models\Permission;
class PermissionPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Permission $permission
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Permission $permission)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Permission $permission
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Permission $permission)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Permission $permission
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Permission $permission)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Permission $permission
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Permission $permission)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Permission $permission
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Permission $permission)
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace App\Policies;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
use Spatie\Permission\Models\Role;
class RolePolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny(User $user)
{
return true;
}
/**
* Determine whether the user can view the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Role $role
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view(User $user, Role $role)
{
//
}
/**
* Determine whether the user can create models.
*
* @param \App\Models\User $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create(User $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Role $role
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update(User $user, Role $role)
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Role $role
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete(User $user, Role $role)
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Role $role
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore(User $user, Role $role)
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\Models\User $user
* @param \Spatie\Permission\Models\Role $role
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete(User $user, Role $role)
{
//
}
}

View File

@@ -3,23 +3,27 @@
namespace App\Providers;
use App\Models\Team;
use App\Policies\PermissionPolicy;
use App\Policies\RolePolicy;
use App\Policies\TeamPolicy;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
Team::class => TeamPolicy::class,
Team::class => TeamPolicy::class,
Role::class => RolePolicy::class,
Permission::class => PermissionPolicy::class,
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()

View File

@@ -3,6 +3,7 @@
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Itsmejoshua\Novaspatiepermissions\Novaspatiepermissions;
use Laravel\Nova\Nova;
use Laravel\Nova\NovaApplicationServiceProvider;
@@ -38,7 +39,9 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
*/
public function tools()
{
return [];
return [
Novaspatiepermissions::make(),
];
}
/**