mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 20:11:07 +03:30
57 lines
1.4 KiB
PHP
57 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Policies;
|
|
|
|
use App\Models\Item;
|
|
use App\Models\Package;
|
|
use App\Models\Transfer;
|
|
use App\Models\User;
|
|
|
|
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(is_null($Item->package_id)){
|
|
if ($user->hasRole('Admin')) {
|
|
return true;
|
|
} else {
|
|
if ($user->hasRole('Supervisor')) {
|
|
if ($Item->user->medical_center_id == $user->medical_center_id) {
|
|
return true;
|
|
}
|
|
} else {
|
|
if ($Item->user_id == $user->id) {
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|