54 lines
1.3 KiB
PHP
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;
|
|
}
|
|
|
|
} |