forked from a1gard/xshop
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.5 KiB
PHP
65 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Policies;
|
|
|
|
use App\Models\Invoice;
|
|
use Illuminate\Auth\Access\HandlesAuthorization;
|
|
|
|
class InvoicePolicy
|
|
{
|
|
use HandlesAuthorization;
|
|
|
|
public function viewAny(\App\Models\User $user)
|
|
{
|
|
return $user->can('ORDER_VIEW');
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can view the category.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\Invoice $category
|
|
* @return mixed
|
|
*/
|
|
public function view(\App\Models\User $user, Invoice $invoice)
|
|
{
|
|
return ($user->id===$invoice->customer_id) or $user->can('ORDER_VIEW');
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can view the category.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\Invoice $category
|
|
* @return mixed
|
|
*/
|
|
public function create(\App\Models\User $user)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can view the category.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\Invoice $category
|
|
* @return mixed
|
|
*/
|
|
public function update(\App\Models\User $user, Invoice $invoice)
|
|
{
|
|
return ($user->id===$invoice->customer_id) or $user->can('ORDER_UPDATE');
|
|
}
|
|
|
|
/**
|
|
* Determine whether the user can view the category.
|
|
*
|
|
* @param \App\Models\User $user
|
|
* @param \App\Models\Invoice $category
|
|
* @return mixed
|
|
*/
|
|
public function delete(\App\Models\User $user, Invoice $invoice)
|
|
{
|
|
return $user->can('ORDER_DELETE');
|
|
}
|
|
}
|