Merge remote-tracking branch 'origin/develop'

This commit is contained in:
snipe 2023-12-13 14:15:36 +00:00
commit 547d58cf14
7 changed files with 92 additions and 44 deletions

View file

@ -88,7 +88,7 @@ class AssetModelsController extends Controller
$model->requestable = Request::has('requestable'); $model->requestable = Request::has('requestable');
if ($request->input('fieldset_id') != '') { if ($request->input('fieldset_id') != '') {
$model->fieldset_id = e($request->input('fieldset_id')); $model->fieldset_id = $request->input('fieldset_id');
} }
$model = $request->handleImages($model); $model = $request->handleImages($model);
@ -101,7 +101,6 @@ class AssetModelsController extends Controller
} }
} }
// Redirect to the new model page
return redirect()->route('models.index')->with('success', trans('admin/models/message.create.success')); return redirect()->route('models.index')->with('success', trans('admin/models/message.create.success'));
} }
@ -166,17 +165,14 @@ class AssetModelsController extends Controller
$this->removeCustomFieldsDefaultValues($model); $this->removeCustomFieldsDefaultValues($model);
if ($request->input('fieldset_id') == '') { $model->fieldset_id = $request->input('fieldset_id');
$model->fieldset_id = null;
} else {
$model->fieldset_id = $request->input('fieldset_id');
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()->with('error', trans('admin/custom_fields/message.fieldset_default_value.error'));
}
} }
} }

View file

@ -99,10 +99,22 @@ class CustomFieldFactory extends Factory
return [ return [
'name' => 'Test Checkbox', 'name' => 'Test Checkbox',
'help_text' => 'This is a sample checkbox.', 'help_text' => 'This is a sample checkbox.',
'field_values' => "One\nTwo\nThree", 'field_values' => "One\r\nTwo\r\nThree",
'element' => 'checkbox', 'element' => 'checkbox',
]; ];
}); });
} }
public function testRadio()
{
return $this->state(function () {
return [
'name' => 'Test Radio',
'help_text' => 'This is a sample radio.',
'field_values' => "One\r\nTwo\r\nThree",
'element' => 'radio',
];
});
}
} }

View file

@ -35,6 +35,7 @@ class CustomFieldSeeder extends Seeder
CustomField::factory()->count(1)->macAddress()->create(); CustomField::factory()->count(1)->macAddress()->create();
CustomField::factory()->count(1)->testEncrypted()->create(); CustomField::factory()->count(1)->testEncrypted()->create();
CustomField::factory()->count(1)->testCheckbox()->create(); CustomField::factory()->count(1)->testCheckbox()->create();
CustomField::factory()->count(1)->testRadio()->create();
DB::table('custom_field_custom_fieldset')->insert([ DB::table('custom_field_custom_fieldset')->insert([
@ -96,6 +97,19 @@ class CustomFieldSeeder extends Seeder
'required' => 0, 'required' => 0,
], ],
[
'custom_field_id' => '8',
'custom_fieldset_id' => '2',
'order' => 0,
'required' => 0,
],
[
'custom_field_id' => '8',
'custom_fieldset_id' => '1',
'order' => 0,
'required' => 0,
],
]); ]);
} }
} }

2
package-lock.json generated
View file

@ -15893,7 +15893,7 @@
"jquery-ui-bundle": { "jquery-ui-bundle": {
"version": "1.12.1", "version": "1.12.1",
"resolved": "https://registry.npmjs.org/jquery-ui-bundle/-/jquery-ui-bundle-1.12.1.tgz", "resolved": "https://registry.npmjs.org/jquery-ui-bundle/-/jquery-ui-bundle-1.12.1.tgz",
"integrity": "sha1-1r4uTDd0lOI3ixyuKSCpHRGC2MQ=" "integrity": "sha512-GHaOlAemudaYqrBzaU0XutgC/vBwcvd+SBQ+TtUTA+dLx4PiVQAfTm3ABrh+JzhV6PZBOk8AIhsC9l+XggpldQ=="
}, },
"jquery.iframe-transport": { "jquery.iframe-transport": {
"version": "1.0.0", "version": "1.0.0",

View file

@ -29,7 +29,7 @@
"acorn-import-assertions": "^1.9.0", "acorn-import-assertions": "^1.9.0",
"admin-lte": "^2.4.18", "admin-lte": "^2.4.18",
"ajv": "^6.12.6", "ajv": "^6.12.6",
"alpinejs": "^3.13.2", "alpinejs": "^3.13.3",
"blueimp-file-upload": "^9.34.0", "blueimp-file-upload": "^9.34.0",
"bootstrap": "^3.4.1", "bootstrap": "^3.4.1",
"bootstrap-colorpicker": "^2.5.3", "bootstrap-colorpicker": "^2.5.3",

View file

@ -46,7 +46,8 @@
<th class="col-md-2" data-sortable="true">{{ trans('admin/hardware/form.expected_checkin') }}</th> <th class="col-md-2" data-sortable="true">{{ trans('admin/hardware/form.expected_checkin') }}</th>
<th class="col-md-3" data-sortable="true">{{ trans('admin/hardware/table.requesting_user') }}</th> <th class="col-md-3" data-sortable="true">{{ trans('admin/hardware/table.requesting_user') }}</th>
<th class="col-md-2">{{ trans('admin/hardware/table.requested_date') }}</th> <th class="col-md-2">{{ trans('admin/hardware/table.requested_date') }}</th>
<th class="col-md-1">{{ trans('button.actions') }}</th> <th></th> <th class="col-md-1">{{ trans('button.actions') }}</th>
<th class="col-md-1">{{ trans('general.checkout') }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -1,54 +1,80 @@
<span> {{-- This <span> doesn't seem to fix it, neither does a div? --}} <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">{{ trans('admin/models/general.fieldset') }}</label> <label for="custom_fieldset" class="col-md-3 control-label">
<div class="col-md-5"> {{ trans('admin/models/general.fieldset') }}
{{ Form::select('fieldset_id', Helper::customFieldsetList(), old('fieldset_id', $fieldset_id), array('class'=>'select2 js-fieldset-field livewire-select2', 'style'=>'width:100%; min-width:350px', 'aria-label'=>'custom_fieldset', 'data-livewire-component' => $_instance->id)) }} </label>
{!! $errors->first('custom_fieldset', '<span class="alert-msg" aria-hidden="true"><br><i class="fas fa-times"></i> :message</span>') !!} <div class="col-md-5">
</div> {{ Form::select('fieldset_id', Helper::customFieldsetList(), old('fieldset_id', $fieldset_id), array('class'=>'select2 js-fieldset-field livewire-select2', 'style'=>'width:100%; min-width:350px', 'aria-label'=>'custom_fieldset', 'data-livewire-component' => $_instance->id)) }}
<div class="col-md-3"> {!! $errors->first('custom_fieldset', '<span class="alert-msg" aria-hidden="true"><br><i class="fas fa-times"></i> :message</span>') !!}
<label class="form-control"> </div>
{{ Form::checkbox('add_default_values', 1, old('add_default_values', $add_default_values), ['data-livewire-component' => $_instance->id, 'id' => 'add_default_values', 'wire:model' => 'add_default_values']) }} <div class="col-md-3">
{{ trans('admin/models/general.add_default_values') }} <label class="form-control">
</label> {{ Form::checkbox('add_default_values', 1, old('add_default_values', $add_default_values), ['data-livewire-component' => $_instance->id, 'id' => 'add_default_values', 'wire:model' => 'add_default_values']) }}
</div> {{ trans('admin/models/general.add_default_values') }}
</label>
</div>
</div> </div>
@if ($this->add_default_values ) {{-- 'if the checkbox is enabled *AND* there are more than 0 fields in the fieldsset' --}} @if ($this->add_default_values ) {{-- 'if the checkbox is enabled *AND* there are more than 0 fields in the fieldsset' --}}
<div style="padding-left: 10px; padding-bottom: 0px; margin-bottom: -15px;">
<div class="form-group">
@if ($fields) @if ($fields)
@foreach ($fields as $field) @foreach ($fields as $field)
<div class="form-group"> <div class="form-group">
<label class="col-md-3 control-label{{ $errors->has($field->name) ? ' has-error' : '' }}" for="default-value{{ $field->id }}">{{ $field->name }}</label>
<div class="col-md-7"> <label class="col-md-3 control-label{{ $errors->has($field->name) ? ' has-error' : '' }}">{{ $field->name }}</label>
<div class="col-md-7">
@if ($field->format == "DATE") @if ($field->format == "DATE")
<div class="input-group col-md-4" style="padding-left: 0px;"> <div class="input-group col-md-4" style="padding-left: 0px;">
<div class="input-group date" data-provide="datepicker" data-date-format="yyyy-mm-dd" data-autoclose="true"> <div class="input-group date" data-provide="datepicker" data-date-format="yyyy-mm-dd" data-autoclose="true">
<input type="text" class="form-control" placeholder="{{ trans('general.select_date') }}" name="default_values[{{ $field->id }}]" id="default-value{{ $field->id }}" value="{{ $field->defaultValue($model_id) }}"> <input type="text" class="form-control" placeholder="{{ trans('general.select_date') }}" name="default_values[{{ $field->id }}]" id="default-value{{ $field->id }}" value="{{ $field->defaultValue($model_id) }}">
<span class="input-group-addon"><i class="fas fa-calendar" aria-hidden="true"></i></span> <span class="input-group-addon"><i class="fas fa-calendar" aria-hidden="true"></i></span>
</div> </div>
</div> </div>
@elseif ($field->element == "text") @elseif ($field->element == "text")
<input class="form-control m-b-xs" type="text" value="{{ $field->defaultValue($model_id) }}" id="default-value{{ $field->id }}" name="default_values[{{ $field->id }}]">
<input class="form-control" type="text" value="{{ $field->defaultValue($model_id) }}" id="default-value{{ $field->id }}" name="default_values[{{ $field->id }}]">
@elseif($field->element == "textarea") @elseif($field->element == "textarea")
<textarea class="form-control" style="width: 100%;" id="default-value{{ $field->id }}" name="default_values[{{ $field->id }}]">{{ $field->defaultValue($model_id) }}</textarea><br>
<textarea class="form-control" style="width: 100%;" id="default-value{{ $field->id }}" name="default_values[{{ $field->id }}]">{{ $field->defaultValue($model_id) }}</textarea>
@elseif($field->element == "listbox") @elseif($field->element == "listbox")
<select class="form-control m-b-xs" name="default_values[{{ $field->id }}]">
<option value=""></option> <select class="form-control" name="default_values[{{ $field->id }}]">
@foreach(explode("\r\n", $field->field_values) as $field_value) <option value=""></option>
<option value="{{$field_value}}" {{ $field->defaultValue($model_id) == $field_value ? 'selected="selected"': '' }}>{{ $field_value }}</option> @foreach(explode("\r\n", $field->field_values) as $field_value)
@endforeach <option value="{{$field_value}}" {{ $field->defaultValue($model_id) == $field_value ? 'selected="selected"': '' }}>{{ $field_value }}</option>
</select> @endforeach
</select>
@elseif($field->element == "radio") @elseif($field->element == "radio")
@foreach(explode("\r\n", $field->field_values) as $field_value) @foreach(explode("\r\n", $field->field_values) as $field_value)
<input type='radio' name="default_values[{{ $field->id }}]" value="{{$field_value}}" {{ $field->defaultValue($model_id) == $field_value ? 'checked="checked"': '' }} />{{ $field_value }}<br /> <label class="col-md-3 form-control" for="{{ str_slug($field_value) }}">
<input id="{{ str_slug($field_value) }}" aria-label="{{ str_slug($field->name) }}" type='radio' name="default_values[{{ $field->id }}]" value="{{$field_value}}" {{ $field->defaultValue($model_id) == $field_value ? 'checked="checked"': '' }} />{{ $field_value }}
</label>
@endforeach @endforeach
@elseif($field->element == "checkbox") @elseif($field->element == "checkbox")
@foreach(explode("\r\n", $field->field_values) as $field_value)
<input type='checkbox' name="default_values[{{ $field->id }}][]" value="{{$field_value}}" {{ in_array($field_value, explode(', ',$field->defaultValue($model_id))) ? 'checked="checked"': '' }} /> {{ $field_value }}<br /> @foreach(explode("\r\n", $field->field_values) as $field_value)
<label class="col-md-3 form-control" for="{{ str_slug($field_value) }}">
<input id="{{ str_slug($field_value) }}" type="checkbox" aria-label="{{ str_slug($field->name) }}" name="default_values[{{ $field->id }}][]" value="{{ $field_value }}"{{ in_array($field_value, explode(', ',$field->defaultValue($model_id))) ? ' checked="checked"': '' }}> {{ $field_value }}
</label>
@endforeach @endforeach
@else @else
<span class="help-block form-error"> <span class="help-block form-error">
Unknown field element: {{ $field->element }} Unknown field element: {{ $field->element }}
@ -58,9 +84,8 @@
</div> </div>
@endforeach @endforeach
</div>
@endif @endif
</div>
</div>
@endif @endif
</span> </span>