49 lines
1.0 KiB
PHP
49 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Policies;
|
|
|
|
use App\Models\User;
|
|
use App\Models\Widgets\Widget;
|
|
use Illuminate\Auth\Access\HandlesAuthorization;
|
|
|
|
class WidgetsPolicy extends BasicPolicy
|
|
{
|
|
use HandlesAuthorization;
|
|
protected $entity = 'widgets';
|
|
|
|
/**
|
|
* Determine whether the user can create widgets.
|
|
*
|
|
* @param \App\Models\User $user
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function create(User $user)
|
|
{
|
|
return $user->hasAbility('create-widgets');
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can update the widget.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Widget $widget
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function update(User $user, Widget $widget)
|
|
{
|
|
return $user->id == $widget->user_id || $user->hasAbility('edit-widgets');
|
|
}
|
|
|
|
public function assign(User $user)
|
|
{
|
|
return $user->hasAbility('assign-widgets');
|
|
}
|
|
|
|
public function unassign(User $user)
|
|
{
|
|
return $user->hasAbility('unassign-widgets');
|
|
}
|
|
}
|