mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-12 02:21:06 +03:30
53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Policies;
|
|
|
|
use App\Package;
|
|
use App\Transfer;
|
|
use App\User;
|
|
use App\Item;
|
|
|
|
class TransferPolicy
|
|
{
|
|
public function changeStatus( User $User , Transfer $transfer )
|
|
{
|
|
if ( $User->hasRole( 'Admin|Supervisor' ) || $transfer->user_id == $User->id )
|
|
return true;
|
|
}
|
|
|
|
public function transferItem( User $User , Item $Item )
|
|
{
|
|
if ( $User->hasRole( 'Admin' ) ) {
|
|
return true;
|
|
} else {
|
|
if ( $User->hasRole( 'Supervisor' ) ) {
|
|
if ( $Item->user->medical_center_id == $User->medical_center_id && $Item->package_id == null ) {
|
|
return true;
|
|
}
|
|
} else {
|
|
if ( $Item->user_id == $User->id && $Item->package_id == null ) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function transferPackage( User $User , Package $Package )
|
|
{
|
|
if ( $User->hasRole( 'Admin' ) ) {
|
|
return true;
|
|
} else {
|
|
if ( $User->hasRole( 'Supervisor' ) ) {
|
|
if ( $Package->user->medical_center_id == $User->medical_center_id) {
|
|
return true;
|
|
}
|
|
} else {
|
|
if ( $Package->user_id == $User->id) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|