Files
sprawozdania/project/src/Enum/ReportTodoEnum.php
T
2026-06-29 18:54:40 +02:00

54 lines
1.3 KiB
PHP

<?php
namespace App\Enum;
enum ReportTodoEnum: int {
case SENT_EMAIL = 1;
case MAKE_PHONE_CALL = 2;
case INVOICE_SEND = 4;
case COMPLETE = 3;
public function takeLang() : string
{
return match ($this) {
self::SENT_EMAIL => "Wysłano E-Mail",
self::MAKE_PHONE_CALL => "Wykonano połączenie",
self::COMPLETE => "Zakończono",
self::INVOICE_SEND => "Wysłano fakturę"
};
}
public function backgroundColor(): string
{
return match ($this) {
self::SENT_EMAIL,self::MAKE_PHONE_CALL,self::INVOICE_SEND => "info",
self::COMPLETE => "success",
};
}
public function takeIcon(): string
{
return match ($this) {
self::SENT_EMAIL => "envelope",
self::MAKE_PHONE_CALL => "phone",
self::COMPLETE => "check",
self::INVOICE_SEND => "file-invoice",
};
}
public function tryFromName(string $name): ?ReportTodoEnum
{
return self::tryFromNameStatic($name);
}
public static function tryFromNameStatic(string $name): ?ReportTodoEnum
{
$name = strtoupper($name);
foreach (self::cases() as $v) {
if ($name === $v->name) {
return $v;
}
}
return null;
}
}