From cd17021097d7908e41fe01a90dffdad5c606bb2c Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Sat, 24 Oct 2026 12:58:08 +0530 Subject: [PATCH] Added trigger create event logic in leak test reading --- .../Pages/CreateLeakTestReading.php | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/app/Filament/Resources/LeakTestReadingResource/Pages/CreateLeakTestReading.php b/app/Filament/Resources/LeakTestReadingResource/Pages/CreateLeakTestReading.php index 50890380..7d1fdc50 100644 --- a/app/Filament/Resources/LeakTestReadingResource/Pages/CreateLeakTestReading.php +++ b/app/Filament/Resources/LeakTestReadingResource/Pages/CreateLeakTestReading.php @@ -4,9 +4,55 @@ namespace App\Filament\Resources\LeakTestReadingResource\Pages; use App\Filament\Resources\LeakTestReadingResource; use Filament\Actions; +use Filament\Notifications\Notification; use Filament\Resources\Pages\CreateRecord; +use Livewire\Attributes\On; class CreateLeakTestReading extends CreateRecord { protected static string $resource = LeakTestReadingResource::class; + + + public function processQR($value){ + $qrCode = $value; + + $parts = explode('|', $qrCode); + $plantId = $this->form->getState()['plant_id']; + + if (! preg_match('/^[^|]+(?:\|[^|]+)?$/', $value)) { + + Notification::make() + ->title('Invalid QR Format') + ->body('Expected format: ItemCode|SerialNumber') + ->danger() + ->send(); + + return; + } + + $itemCode = $parts[0] ?? null; + $serialNumber = $parts[1] ?? null; + + $this->form->fill([ + 'plant_id' => $plantId, + 'item_code' => $itemCode, + 'serial_number' => $serialNumber, + 'test_status' => 'PASS' + ]); + } + + #[On('submit-leak-test-form')] + public function submitLeakTestForm(): void + { + $this->create(); + } + + protected function getRedirectUrl(): string + { + //return $this->getResource()::getUrl('create'); // Stay on Create Page after savin + + return $this->getResource()::getUrl('create', [ + 'plant_id' => $this->data['plant_id'] ?? null, + ]); + } }