radfusion/app/Services/ACL/WorklistGuard.php
2025-01-08 21:28:09 +06:00

51 lines
1.5 KiB
PHP

<?php
namespace App\Services\ACL;
use App\Models\User;
use Illuminate\Support\Collection;
final readonly class WorklistGuard
{
public static function worklistColumns(?int $user_id = null): Collection
{
$user = $user_id !== null ? User::findOrFail($user_id) : auth()->user();
$columns = collect([
WorklistColumn::Priority,
WorklistColumn::ReportStatus,
WorklistColumn::History,
WorklistColumn::Modality,
WorklistColumn::PatientId,
WorklistColumn::PatientName,
WorklistColumn::PatientSexAge,
WorklistColumn::StudyDescription,
WorklistColumn::StudyDate,
WorklistColumn::AssignedPhysician,
WorklistColumn::ReadingPhysician,
WorklistColumn::ReportDate,
WorklistColumn::Series,
WorklistColumn::ReceiveDate,
WorklistColumn::ActionButtons,
WorklistColumn::ReportButtons,
WorklistColumn::ViewerButtons,
]);
return $columns;
}
public static function worklistButtons(?int $user_id = null): Collection
{
$user = $user_id !== null ? User::findOrFail($user_id) : auth()->user();
$buttons = collect([
WorklistButton::StudyMetadata,
WorklistButton::History,
WorklistButton::Notes,
WorklistButton::Attachment,
WorklistButton::Assign,
WorklistButton::Report,
]);
return $buttons;
}
}