Files
minicrm/app/Enums/HandoverStatus.php
phuongtc efa97b6c71
Some checks failed
Tests / PHP 8.3 (push) Has been cancelled
Tests / PHP 8.4 (push) Has been cancelled
Tests / PHP 8.5 (push) Has been cancelled
them log, chinh upload
2026-05-09 11:00:59 +00:00

47 lines
1.2 KiB
PHP

<?php
namespace App\Enums;
/**
* Handover Status Enum
*
* Để thêm trạng thái mới:
* 1. Thêm case mới vào enum
* 2. Thêm label trong lang/vi/enums.php và lang/en/enums.php
* 3. Reload browser
*/
enum HandoverStatus: string
{
case NOT_READY = 'chua_du_dieu_kien';
case READY = 'du_dieu_kien';
case HANDED_OVER = 'da_ban_giao';
case SCHEDULED = 'da_len_lich';
public function label(): string
{
return match ($this) {
self::NOT_READY => __('enums.handover.not_ready'),
self::READY => __('enums.handover.ready'),
self::HANDED_OVER => __('enums.handover.handed_over'),
self::SCHEDULED => __('enums.handover.scheduled'),
};
}
public function color(): string
{
return match ($this) {
self::NOT_READY => 'danger',
self::READY => 'warning',
self::HANDED_OVER => 'success',
self::SCHEDULED => 'info',
};
}
public static function options(): array
{
return collect(self::cases())->mapWithKeys(fn ($case) => [
$case->value => $case->label(),
])->toArray();
}
}