From a34322c87acc07b123ffc6bfb47c10f215fafa38 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Sat, 24 Jan 2026 15:06:54 +0530 Subject: [PATCH] Added after craete method in transporter bid --- .../Pages/CreateRfqTransporterBid.php | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/app/Filament/Resources/RfqTransporterBidResource/Pages/CreateRfqTransporterBid.php b/app/Filament/Resources/RfqTransporterBidResource/Pages/CreateRfqTransporterBid.php index 590cd26..238d130 100644 --- a/app/Filament/Resources/RfqTransporterBidResource/Pages/CreateRfqTransporterBid.php +++ b/app/Filament/Resources/RfqTransporterBidResource/Pages/CreateRfqTransporterBid.php @@ -3,10 +3,63 @@ namespace App\Filament\Resources\RfqTransporterBidResource\Pages; use App\Filament\Resources\RfqTransporterBidResource; +use App\Models\RfqTransporterBid; +use App\Models\User; +use App\Notifications\PushAlertNotification; use Filament\Actions; +use Filament\Facades\Filament; +use Filament\Notifications\Notification; use Filament\Resources\Pages\CreateRecord; class CreateRfqTransporterBid extends CreateRecord { protected static string $resource = RfqTransporterBidResource::class; + + + protected function afterCreate(): void + { + $record = $this->record; + + // Calculate rank based on total_freight_charge + $rank = RfqTransporterBid::where('request_quotation_id', $record->request_quotation_id) + ->orderBy('total_freight_charge') + ->pluck('id') + ->search($record->id) + 1; + + $currentUser = Filament::auth()->user(); + + // Get recipients + $recipients = User::whereHas('roles', function ($q) { + $q->whereIn('name', ['Super Admin', 'Rfq Supervisor']) + ->where('guard_name', 'web'); + })->get(); + + // Exclude creator + $recipients = $recipients->where('id', '!=', $currentUser->id); + + $body = "{$currentUser->name} added a new bid. Current rank is #{$rank}"; + + // Filament DB notification + Notification::make() + ->title('New Bid Added') + ->body($body) + ->success() + ->sendToDatabase($recipients); + + // Push notification + foreach ($recipients as $user) { + $user->notify( + new PushAlertNotification( + 'New Bid Added', + $body + ) + ); + } + + \Log::info('Create bid notification sent', [ + 'bid_id' => $record->id, + 'rank' => $rank, + 'recipients' => $recipients->pluck('id'), + ]); + } }