Files
MKM/app/Jobs/ExportCompleteJob.php
Jp df66727379 refactor: use correct Filament Action import in export jobs
Update import statements to use Filament\Notifications\Actions\Action instead of the incorrect Actions\Action and NotificationAction aliases. This ensures consistency with the Filament notification system.
2026-02-18 23:07:29 +08:00

52 lines
1.5 KiB
PHP

<?php
namespace App\Jobs;
use App\Models\Transmittal;
use Barryvdh\DomPDF\Facade\Pdf;
use Filament\Notifications\Actions\Action;
use Filament\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Foundation\Queue\Queueable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Storage;
class ExportCompleteJob implements ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
public function __construct(private $user, private array $ids)
{
}
public function handle(): void
{
$transmittals = Transmittal::query()
->with(['client', 'branch', 'files.notes', 'files.remarks'])
->whereIn('id', $this->ids)
->get();
$pdf = Pdf::loadView('transmittal.export.transmittal-export-pdf', [
'transmittals' => $transmittals,
]);
Storage::disk('public')->put('transmittal-export.pdf', $pdf->output());
Notification::make()
->success()
->title('Export Completed')
->actions([
Action::make('download_transmittal-export.pdf')
->label('Download PDF File')
->url(Storage::url('transmittal-export.pdf'), true)
->markAsRead(),
])
->sendToDatabase($this->user);
}
}