From 21906d8c27cc21098166a4b07b81116872204bfa Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 25 Sep 2024 12:47:56 -0500 Subject: [PATCH 1/8] world set up and idea in place --- app/Http/Controllers/AssetModelsController.php | 6 +++++- .../custom-field-set-default-values-for-model.blade.php | 5 ++++- resources/views/models/edit.blade.php | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index 9d4c13afd972..7bf1b503ace9 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -18,6 +18,7 @@ use Illuminate\Support\Facades\Log; use \Illuminate\Contracts\View\View; use \Illuminate\Http\RedirectResponse; +use Illuminate\Support\MessageBag; /** @@ -29,6 +30,7 @@ */ class AssetModelsController extends Controller { + protected MessageBag $validatorErrors; /** * Returns a view that invokes the ajax tables which actually contains * the content for the accessories listing, which is generated in getDatatable. @@ -158,7 +160,8 @@ public function update(StoreAssetModelRequest $request, $modelId) : RedirectResp if ($this->shouldAddDefaultValues($request->input())) { if (!$this->assignCustomFieldsDefaultValues($model, $request->input('default_values'))) { - return redirect()->back()->withInput()->with('error', trans('admin/custom_fields/message.fieldset_default_value.error')); + //return redirect()->back()->withInput()->with('error', trans('admin/custom_fields/message.fieldset_default_value.error')); + return redirect()->back()->withErrors($this->validatorErrors); } } @@ -484,6 +487,7 @@ private function assignCustomFieldsDefaultValues(AssetModel|SnipeModel $model, a $validator = Validator::make($data, $rules); if($validator->fails()){ + $this->validatorErrors = $validator->messages(); return false; } diff --git a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php index 8f686440996e..2f6468fafd96 100644 --- a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php +++ b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php @@ -1,5 +1,4 @@ -
- @if ($add_default_values || $errors->count() > 0) - @if ($this->fields) + @if ($add_default_values) + + @if ($this->fields) @foreach ($this->fields as $field) @if($errors->has($field->db_column_name())) diff --git a/resources/views/models/edit.blade.php b/resources/views/models/edit.blade.php index 5cc1c0c5e39d..9c72107ef884 100755 --- a/resources/views/models/edit.blade.php +++ b/resources/views/models/edit.blade.php @@ -36,7 +36,7 @@ -@livewire('custom-field-set-default-values-for-model', ["model_id" => $item->id ?? $model_id ?? null, "errors" => $errors]) +@livewire('custom-field-set-default-values-for-model', ["model_id" => $item->id ?? $model_id ?? null]) @include ('partials.forms.edit.notes') @include ('partials.forms.edit.requestable', ['requestable_text' => trans('admin/models/general.requestable')]) From 852a56fa9be6d879f3aa4055d54ad09beb04c6f3 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 25 Sep 2024 15:30:41 -0500 Subject: [PATCH 4/8] should be all good now --- ...m-field-set-default-values-for-model.blade.php | 15 +++++++++------ .../views/models/custom_fields_form.blade.php | 14 +++++++------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php index 4ed5a2ec48cc..0a1b39b45d5f 100644 --- a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php +++ b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php @@ -1,5 +1,4 @@ - @dump($errors)
@if ($field->field_encrypted) From d02b9933e5d4829698535e8dfceb8ae2cfa505a0 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 25 Sep 2024 15:38:40 -0500 Subject: [PATCH 5/8] rm comment --- app/Http/Controllers/AssetModelsController.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index f7fd040452dc..efe68605329d 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -160,7 +160,6 @@ public function update(StoreAssetModelRequest $request, $modelId) : RedirectResp if ($this->shouldAddDefaultValues($request->input())) { if (!$this->assignCustomFieldsDefaultValues($model, $request->input('default_values'))) { - //return redirect()->back()->withInput()->with('error', trans('admin/custom_fields/message.fieldset_default_value.error')); return redirect()->back()->withInput()->withErrors($this->validatorErrors); } } From b69596a261969b03af0347af54979a7c53776631 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Wed, 25 Sep 2024 16:21:33 -0500 Subject: [PATCH 6/8] rm dump --- app/Http/Controllers/AssetModelsController.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index efe68605329d..51b0fceca8e2 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -487,7 +487,6 @@ private function assignCustomFieldsDefaultValues(AssetModel|SnipeModel $model, a if($validator->fails()){ $this->validatorErrors = $validator->errors(); - dump($this->validatorErrors); return false; } From cd3059f7902188b044dcc314d1e2305f9f0f8594 Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Mon, 30 Sep 2024 13:38:52 -0500 Subject: [PATCH 7/8] rm numbers too. :( --- .../custom-field-set-default-values-for-model.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php index 0a1b39b45d5f..8f0be5f0c948 100644 --- a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php +++ b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php @@ -127,7 +127,7 @@ class="form-control" first($field->db_column_name()); if ($errormessage) { - $errormessage = preg_replace('/ snipeit /', '', $errormessage); + $errormessage = preg_replace('/snipeit|\d+/', '', $errormessage); print(''); } ?> From 4f9f035c699e1528af1ad4931475e2c6036b39ab Mon Sep 17 00:00:00 2001 From: spencerrlongg Date: Mon, 30 Sep 2024 20:09:00 -0500 Subject: [PATCH 8/8] added a way to manipulate validator attribute names --- app/Http/Controllers/AssetModelsController.php | 7 ++++++- .../custom-field-set-default-values-for-model.blade.php | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index 51b0fceca8e2..aa083e1ae329 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -483,7 +483,12 @@ private function assignCustomFieldsDefaultValues(AssetModel|SnipeModel $model, a $rules[$field] = $validation; } - $validator = Validator::make($data, $rules); + $attributes = []; + foreach ($model->fieldset->fields as $field) { + $attributes[$field->db_column] = trim(preg_replace('/_+|snipeit|\d+/', ' ', $field->db_column)); + } + + $validator = Validator::make($data, $rules)->setAttributeNames($attributes); if($validator->fails()){ $this->validatorErrors = $validator->errors(); diff --git a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php index 8f0be5f0c948..9f09d111b14e 100644 --- a/resources/views/livewire/custom-field-set-default-values-for-model.blade.php +++ b/resources/views/livewire/custom-field-set-default-values-for-model.blade.php @@ -127,7 +127,6 @@ class="form-control" first($field->db_column_name()); if ($errormessage) { - $errormessage = preg_replace('/snipeit|\d+/', '', $errormessage); print(''); } ?>