- Add status checker + admin secure packages + upgrade enum + add sentry + upgrade to sitemap generator + bump to CRMV2 - Set customer role enum and user role enum - Update customer migration to set roles - phpcbf - faker local to fr - update lang - composer update - bump laravel ui - Redo all user crud - npm bump - Create admin command - rearrange views - redo all auth system - redo customer pro bo
104 lines
2.8 KiB
PHP
104 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Policies;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Auth\Access\HandlesAuthorization;
|
|
use Illuminate\Auth\Access\Response;
|
|
|
|
class UserPolicy
|
|
{
|
|
use HandlesAuthorization;
|
|
|
|
/**
|
|
* Determine whether the user can view any models.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @return \Illuminate\Auth\Access\Response|boolean
|
|
* @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
|
*/
|
|
public function viewAny(User $user)
|
|
{
|
|
// phpcs:enable
|
|
return Response::allow();
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can view the model.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\User $model
|
|
* @return \Illuminate\Auth\Access\Response|boolean
|
|
*/
|
|
public function view(User $user, User $model)
|
|
{
|
|
return $user->role->value <= $model->role->value;
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can create models.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @return \Illuminate\Auth\Access\Response|boolean
|
|
* @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
|
*/
|
|
public function create(User $user)
|
|
{
|
|
// phpcs:enable
|
|
return Response::allow();
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can update the model.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\User $model
|
|
* @return \Illuminate\Auth\Access\Response|boolean
|
|
*/
|
|
public function update(User $user, User $model)
|
|
{
|
|
return $user->role->value <= $model->role->value;
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can delete the model.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\User $model
|
|
* @return \Illuminate\Auth\Access\Response|boolean
|
|
*/
|
|
public function delete(User $user, User $model)
|
|
{
|
|
if ($user->role->value == $model->role->value) {
|
|
return Response::deny('Il n\'est pas possible de se supprimer soit même');
|
|
}
|
|
return $user->role->value <= $model->role->value;
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can restore the model.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\User $model
|
|
* @return \Illuminate\Auth\Access\Response|boolean
|
|
*/
|
|
public function restore(User $user, User $model)
|
|
{
|
|
return $user->role->value <= $model->role->value;
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can permanently delete the model.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\User $model
|
|
* @return \Illuminate\Auth\Access\Response|boolean
|
|
*/
|
|
public function forceDelete(User $user, User $model)
|
|
{
|
|
if ($user->role->value == $model->role->value) {
|
|
return Response::deny('Il n\'est pas possible de se supprimer soit même');
|
|
}
|
|
return $user->role->value <= $model->role->value;
|
|
}
|
|
}
|