FEATURE #2048: add missing policies

This commit is contained in:
Michal Kváček
2017-08-11 02:57:54 +02:00
parent 7f43316602
commit ef432702b4
15 changed files with 310 additions and 90 deletions
+48
View File
@@ -0,0 +1,48 @@
<?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, Widget $widget)
{
return $user->hasAbility('assign-widgets');
}
public function unassign(User $user, Widget $widget)
{
return $user->hasAbility('unassign-widgets');
}
}