Files
cssd-back/app/Policies/TransferPolicy.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;
}
}
}
}
}