From 7fd93645b3928a7889ca8a12ea9a2bec7654655a Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Tue, 13 May 2025 12:17:58 -0700 Subject: [PATCH] valdiation fires for asset creation --- app/Http/Controllers/Assets/AssetsController.php | 11 ++++++++++- resources/lang/en-US/admin/hardware/form.php | 1 + resources/views/partials/forms/edit/serial.blade.php | 6 +++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 12cb93ff3e..35cfade51e 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -120,9 +120,18 @@ class AssetsController extends Controller for ($a = 1; $a <= count($asset_tags); $a++) { $asset = new Asset(); - $asset->model()->associate(AssetModel::find($request->input('model_id'))); + $model = AssetModel::find($request->input('model_id')); + $asset->model()->associate($model); $asset->name = $request->input('name'); + //Validate required serial based on model setting + if ($model && $model->require_serial === 1 && empty($serials[$a] ?? null)) { + return redirect()->back() + ->withInput() + ->withErrors([ + "serials.$a" => trans('admin/hardware/form.serial_required'), + ]); + } // Check for a corresponding serial if (($serials) && (array_key_exists($a, $serials))) { $asset->serial = $serials[$a]; diff --git a/resources/lang/en-US/admin/hardware/form.php b/resources/lang/en-US/admin/hardware/form.php index 8fbd0b4e87..b741e1ba1a 100644 --- a/resources/lang/en-US/admin/hardware/form.php +++ b/resources/lang/en-US/admin/hardware/form.php @@ -44,6 +44,7 @@ return [ 'redirect_to_checked_out_to' => 'Go to Checked Out to', 'select_statustype' => 'Select Status Type', 'serial' => 'Serial', + 'serial_required' => 'This asset model requires a serial number', 'status' => 'Status', 'tag' => 'Asset Tag', 'update' => 'Asset Update', diff --git a/resources/views/partials/forms/edit/serial.blade.php b/resources/views/partials/forms/edit/serial.blade.php index 636204a564..4ed4ad66a1 100644 --- a/resources/views/partials/forms/edit/serial.blade.php +++ b/resources/views/partials/forms/edit/serial.blade.php @@ -3,6 +3,10 @@
- {!! $errors->first('serial', '') !!} + @error($old_val_name ?? $fieldname) + + @enderror