Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

AdjustmentStatus.php 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Enums\Accounting;
  3. use Filament\Support\Contracts\HasColor;
  4. use Filament\Support\Contracts\HasLabel;
  5. enum AdjustmentStatus: string implements HasColor, HasLabel
  6. {
  7. case Active = 'active';
  8. case Upcoming = 'upcoming';
  9. case Expired = 'expired';
  10. case Paused = 'paused';
  11. case Archived = 'archived';
  12. public function getLabel(): ?string
  13. {
  14. return $this->name;
  15. }
  16. public function getColor(): string | array | null
  17. {
  18. return match ($this) {
  19. self::Active => 'primary',
  20. self::Upcoming, self::Paused => 'warning',
  21. self::Expired => 'danger',
  22. self::Archived => 'gray',
  23. };
  24. }
  25. /**
  26. * Check if the status is set manually (not calculated from dates)
  27. */
  28. public function isManualStatus(): bool
  29. {
  30. return in_array($this, [self::Paused, self::Archived]);
  31. }
  32. /**
  33. * Check if the status is system-calculated based on dates
  34. */
  35. public function isSystemStatus(): bool
  36. {
  37. return in_array($this, [self::Active, self::Upcoming, self::Expired]);
  38. }
  39. }