fix: add Notifiable trait to Supplier and Customer, add null guards to notification messages

This commit is contained in:
Ghassan Yusuf 2026-05-19 13:29:28 +03:00
parent 2d54c670de
commit add011790c
6 changed files with 8 additions and 6 deletions

View File

@ -4,10 +4,11 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
class Customer extends Model class Customer extends Model
{ {
use HasFactory; use HasFactory, Notifiable;
protected $fillable = ['name', 'contact_person', 'email', 'phone', 'whatsapp_number', 'address', 'tax_number', 'credit_limit', 'outstanding_balance', 'is_active']; protected $fillable = ['name', 'contact_person', 'email', 'phone', 'whatsapp_number', 'address', 'tax_number', 'credit_limit', 'outstanding_balance', 'is_active'];

View File

@ -4,10 +4,11 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
class Supplier extends Model class Supplier extends Model
{ {
use HasFactory; use HasFactory, Notifiable;
protected $fillable = [ protected $fillable = [
'supplier_code', 'name', 'category', 'supplier_code', 'name', 'category',

View File

@ -23,7 +23,7 @@ class ProductionOrderCompletedNotification extends Notification implements Shoul
public function toUltraMessage(mixed $notifiable): UltraMessageMessage public function toUltraMessage(mixed $notifiable): UltraMessageMessage
{ {
return UltraMessageMessage::text( return UltraMessageMessage::text(
"✅ *Production Complete*\n\nProduction Order *#{$this->order->order_number}* has been completed.\n\nProduct: {$this->order->product->item_name}\nQuantity: {$this->order->quantity_to_produce}\nCompleted: {$this->order->completion_date->format('d M Y')}" "✅ *Production Complete*\n\nProduction Order *#{$this->order->order_number}* has been completed.\n\nProduct: {$this->order->product?->item_name ?? 'N/A'}\nQuantity: {$this->order->quantity_to_produce}\nCompleted: {$this->order->completion_date?->format('d M Y') ?? now()->format('d M Y')}"
); );
} }
} }

View File

@ -23,7 +23,7 @@ class GoodsReceiptConfirmedNotification extends Notification implements ShouldQu
public function toUltraMessage(mixed $notifiable): UltraMessageMessage public function toUltraMessage(mixed $notifiable): UltraMessageMessage
{ {
return UltraMessageMessage::text( return UltraMessageMessage::text(
"GRN *#{$this->grn->grn_number}* has been confirmed and goods received.\n\nPO Reference: {$this->grn->purchaseOrder->po_number}\nDate: {$this->grn->received_date->format('d M Y')}" "GRN *#{$this->grn->grn_number}* has been confirmed and goods received.\n\nPO Reference: {$this->grn->purchaseOrder?->po_number ?? 'N/A'}\nDate: {$this->grn->received_date->format('d M Y')}"
); );
} }
} }

View File

@ -23,7 +23,7 @@ class PurchaseOrderConfirmedNotification extends Notification implements ShouldQ
public function toUltraMessage(mixed $notifiable): UltraMessageMessage public function toUltraMessage(mixed $notifiable): UltraMessageMessage
{ {
return UltraMessageMessage::text( return UltraMessageMessage::text(
"Dear {$notifiable->name},\n\nPurchase Order *#{$this->order->po_number}* has been confirmed.\n\nTotal Amount: {$this->order->total_amount}\nExpected Delivery: {$this->order->expected_delivery_date}\n\nThank you." "Dear {$notifiable->name},\n\nPurchase Order *#{$this->order->po_number}* has been placed.\n\nTotal Amount: {$this->order->total_amount}\nExpected Delivery: {$this->order->expected_delivery_date}\n\nThank you."
); );
} }
} }

View File

@ -23,7 +23,7 @@ class DeliveryDispatchedNotification extends Notification implements ShouldQueue
public function toUltraMessage(mixed $notifiable): UltraMessageMessage public function toUltraMessage(mixed $notifiable): UltraMessageMessage
{ {
return UltraMessageMessage::text( return UltraMessageMessage::text(
"Dear {$notifiable->name},\n\nYour delivery *#{$this->delivery->delivery_number}* has been dispatched and is on its way.\n\nOrder Reference: {$this->delivery->salesOrder->order_number}\nDispatch Date: {$this->delivery->delivery_date}\n\nThank you for your business." "Dear {$notifiable->name},\n\nYour delivery *#{$this->delivery->delivery_number}* has been dispatched and is on its way.\n\nOrder Reference: {$this->delivery->salesOrder?->order_number ?? 'N/A'}\nDispatch Date: {$this->delivery->delivery_date->format('d M Y')}\n\nThank you for your business."
); );
} }
} }