mirror of
https://github.com/snipe/snipe-it.git
synced 2025-03-05 20:52:15 -08:00
Merge pull request #15565 from spencerrlongg/bug/sc-25921
This commit is contained in:
commit
0149ed75fd
|
@ -18,6 +18,7 @@ use Illuminate\Support\Facades\Storage;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use \Illuminate\Contracts\View\View;
|
use \Illuminate\Contracts\View\View;
|
||||||
use \Illuminate\Http\RedirectResponse;
|
use \Illuminate\Http\RedirectResponse;
|
||||||
|
use Illuminate\Support\MessageBag;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,6 +30,7 @@ use \Illuminate\Http\RedirectResponse;
|
||||||
*/
|
*/
|
||||||
class AssetModelsController extends Controller
|
class AssetModelsController extends Controller
|
||||||
{
|
{
|
||||||
|
protected MessageBag $validatorErrors;
|
||||||
/**
|
/**
|
||||||
* Returns a view that invokes the ajax tables which actually contains
|
* Returns a view that invokes the ajax tables which actually contains
|
||||||
* the content for the accessories listing, which is generated in getDatatable.
|
* the content for the accessories listing, which is generated in getDatatable.
|
||||||
|
@ -158,7 +160,7 @@ class AssetModelsController extends Controller
|
||||||
|
|
||||||
if ($this->shouldAddDefaultValues($request->input())) {
|
if ($this->shouldAddDefaultValues($request->input())) {
|
||||||
if (!$this->assignCustomFieldsDefaultValues($model, $request->input('default_values'))) {
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -481,9 +483,15 @@ class AssetModelsController extends Controller
|
||||||
$rules[$field] = $validation;
|
$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()){
|
if($validator->fails()){
|
||||||
|
$this->validatorErrors = $validator->errors();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,15 @@ class CustomFieldSetDefaultValuesForModel extends Component
|
||||||
$this->fieldset_id = $this->model?->fieldset_id;
|
$this->fieldset_id = $this->model?->fieldset_id;
|
||||||
$this->add_default_values = ($this->model?->defaultValues->count() > 0);
|
$this->add_default_values = ($this->model?->defaultValues->count() > 0);
|
||||||
|
|
||||||
|
|
||||||
$this->initializeSelectedValuesArray();
|
$this->initializeSelectedValuesArray();
|
||||||
|
if (session()->has('errors')) {
|
||||||
|
$errors = session('errors')->keys();
|
||||||
|
$selectedValuesKeys = array_keys($this->selectedValues);
|
||||||
|
if (count(array_intersect($selectedValuesKeys, $errors)) > 0) {
|
||||||
|
$this->add_default_values = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
$this->populatedSelectedValuesArray();
|
$this->populatedSelectedValuesArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<span>
|
<span>
|
||||||
|
|
||||||
<div class="form-group{{ $errors->has('custom_fieldset') ? ' has-error' : '' }}">
|
<div class="form-group{{ $errors->has('custom_fieldset') ? ' has-error' : '' }}">
|
||||||
<label for="custom_fieldset" class="col-md-3 control-label">
|
<label for="custom_fieldset" class="col-md-3 control-label">
|
||||||
{{ trans('admin/models/general.fieldset') }}
|
{{ trans('admin/models/general.fieldset') }}
|
||||||
|
@ -11,6 +10,7 @@
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
@if ($fieldset_id)
|
@if ($fieldset_id)
|
||||||
<label class="form-control">
|
<label class="form-control">
|
||||||
|
|
||||||
{{ Form::checkbox('add_default_values', 1, old('add_default_values', $add_default_values), ['data-livewire-component' => $this->getId(), 'id' => 'add_default_values', 'wire:model.live' => 'add_default_values', 'disabled' => $this->fields->isEmpty()]) }}
|
{{ Form::checkbox('add_default_values', 1, old('add_default_values', $add_default_values), ['data-livewire-component' => $this->getId(), 'id' => 'add_default_values', 'wire:model.live' => 'add_default_values', 'disabled' => $this->fields->isEmpty()]) }}
|
||||||
{{ trans('admin/models/general.add_default_values') }}
|
{{ trans('admin/models/general.add_default_values') }}
|
||||||
</label>
|
</label>
|
||||||
|
@ -19,12 +19,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if ($add_default_values)
|
@if ($add_default_values)
|
||||||
|
|
||||||
@if ($this->fields)
|
@if ($this->fields)
|
||||||
|
|
||||||
@foreach ($this->fields as $field)
|
@foreach ($this->fields as $field)
|
||||||
<div class="form-group" wire:key="field-{{ $field->id }}">
|
<div class="form-group" wire:key="field-{{ $field->id }}">
|
||||||
|
|
||||||
<label class="col-md-3 control-label{{ $errors->has($field->name) ? ' has-error' : '' }}">{{ $field->name }}</label>
|
<label class="col-md-3 control-label{{ $errors->has($field->db_column_name()) ? ' has-error' : '' }}">{{ $field->name }}</label>
|
||||||
|
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
|
|
||||||
|
@ -123,6 +124,12 @@
|
||||||
Unknown field element: {{ $field->element }}
|
Unknown field element: {{ $field->element }}
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
|
<?php
|
||||||
|
$errormessage = $errors->first($field->db_column_name());
|
||||||
|
if ($errormessage) {
|
||||||
|
print('<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> '.$errormessage.'</span>');
|
||||||
|
}
|
||||||
|
?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -67,9 +67,9 @@
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$errormessage=$errors->first($field->db_column_name());
|
$errormessage = $errors->first($field->db_column_name());
|
||||||
if ($errormessage) {
|
if ($errormessage) {
|
||||||
$errormessage=preg_replace('/ snipeit /', '', $errormessage);
|
$errormessage = preg_replace('/ snipeit /', '', $errormessage);
|
||||||
print('<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> '.$errormessage.'</span>');
|
print('<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> '.$errormessage.'</span>');
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
<!-- Custom Fieldset -->
|
<!-- Custom Fieldset -->
|
||||||
<!-- If $item->id is null we are cloning the model and we need the $model_id variable -->
|
<!-- If $item->id is null we are cloning the model and we need the $model_id variable -->
|
||||||
@livewire('custom-field-set-default-values-for-model',["model_id" => $item->id ?? $model_id ?? null ])
|
@livewire('custom-field-set-default-values-for-model', ["model_id" => $item->id ?? $model_id ?? null])
|
||||||
|
|
||||||
@include ('partials.forms.edit.notes')
|
@include ('partials.forms.edit.notes')
|
||||||
@include ('partials.forms.edit.requestable', ['requestable_text' => trans('admin/models/general.requestable')])
|
@include ('partials.forms.edit.requestable', ['requestable_text' => trans('admin/models/general.requestable')])
|
||||||
|
|
Loading…
Reference in a new issue