<?php namespace App\Models; use App\Enums\OrderStatus; use DateTimeInterface; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; class Order extends Model { use SoftDeletes, HasFactory; protected $fillable = [ 'customer_id', 'internal_po', 'customer_po', 'order_date', 'due_date', 'status', 'rush', 'new_art', 'digitizing', 'repeat', 'purchased_garments', 'customer_supplied_file', 'notes', ]; protected $appends = [ 'active_status' ]; public function getActiveStatus(): bool { if ($this->status === OrderStatus::COMPLETED || $this->status === OrderStatus::CANCELLED) { return false; } return true; } public function customer(): BelongsTo { return $this->belongsTo(Customer::class); } protected function serializeDate(DateTimeInterface $date): string { return $date->format('Y-m-d'); } protected $casts = [ 'status' => OrderStatus::class ]; }