Files
2025-06-08 13:50:00 +03:30

51 lines
1.2 KiB
PHP

<?php
namespace App\Policies;
use App\Constants\StatusTypeEnum;
use App\Models\Item;
use App\Models\User;
class ItemPolicy
{
public function showAll(User $user)
{
if ($user->hasRole('Admin'))
return true;
}
public function delete(User $user, Item $Item)
{
if ($user->hasRole('Admin')) {
return true;
} elseif ($user->hasRole('Supervisor') && $Item->user->medical_center_id == $user->medical_center_id) {
return true;
} elseif ($user->hasRole('User') && $Item->user_id == $user->id && $Item->status != StatusTypeEnum::APPROVED) {
return true;
}
return false;
}
public function update(User $user, Item $Item)
{
if (
$user->hasRole('Admin') ||
($user->hasRole('Supervisor') && $Item->user->medical_center_id == $user->medical_center_id) ||
$Item->user_id == $user->id
)
return true;
}
public function changeStatus(User $user)
{
if ($user->hasRole('Admin|Supervisor'))
return true;
}
public function changeRepair(User $user)
{
if ($user->hasRole('Admin|Supervisor'))
return true;
}
}