diff --git a/app/Http/Controllers/AssetModelsController.php b/app/Http/Controllers/AssetModelsController.php index a3afc4f00d..5ac958a8ac 100755 --- a/app/Http/Controllers/AssetModelsController.php +++ b/app/Http/Controllers/AssetModelsController.php @@ -88,7 +88,7 @@ class AssetModelsController extends Controller $model->requestable = Request::has('requestable'); if ($request->input('fieldset_id') != '') { - $model->fieldset_id = e($request->input('fieldset_id')); + $model->fieldset_id = $request->input('fieldset_id'); } $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')); } @@ -166,17 +165,14 @@ class AssetModelsController extends Controller $this->removeCustomFieldsDefaultValues($model); - if ($request->input('fieldset_id') == '') { - $model->fieldset_id = null; - } else { - $model->fieldset_id = $request->input('fieldset_id'); + $model->fieldset_id = $request->input('fieldset_id'); - 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')); - } + 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')); } } + diff --git a/database/factories/CustomFieldFactory.php b/database/factories/CustomFieldFactory.php index 9407f16b0a..44ab0707e0 100644 --- a/database/factories/CustomFieldFactory.php +++ b/database/factories/CustomFieldFactory.php @@ -99,10 +99,22 @@ class CustomFieldFactory extends Factory return [ 'name' => 'Test Checkbox', 'help_text' => 'This is a sample checkbox.', - 'field_values' => "One\nTwo\nThree", + 'field_values' => "One\r\nTwo\r\nThree", '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', + ]; + }); + } + } diff --git a/database/seeders/CustomFieldSeeder.php b/database/seeders/CustomFieldSeeder.php index e51ca510f9..1c50ac806d 100644 --- a/database/seeders/CustomFieldSeeder.php +++ b/database/seeders/CustomFieldSeeder.php @@ -35,6 +35,7 @@ class CustomFieldSeeder extends Seeder CustomField::factory()->count(1)->macAddress()->create(); CustomField::factory()->count(1)->testEncrypted()->create(); CustomField::factory()->count(1)->testCheckbox()->create(); + CustomField::factory()->count(1)->testRadio()->create(); DB::table('custom_field_custom_fieldset')->insert([ @@ -96,6 +97,19 @@ class CustomFieldSeeder extends Seeder '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, + ], + ]); } } diff --git a/package-lock.json b/package-lock.json index ea51f09d2a..193a3a4120 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15893,7 +15893,7 @@ "jquery-ui-bundle": { "version": "1.12.1", "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": { "version": "1.0.0", diff --git a/package.json b/package.json index 4c53d04eba..7b24065f3f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "acorn-import-assertions": "^1.9.0", "admin-lte": "^2.4.18", "ajv": "^6.12.6", - "alpinejs": "^3.13.2", + "alpinejs": "^3.13.3", "blueimp-file-upload": "^9.34.0", "bootstrap": "^3.4.1", "bootstrap-colorpicker": "^2.5.3", diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php index dcc8a01936..83ea30090f 100644 --- a/resources/views/hardware/requested.blade.php +++ b/resources/views/hardware/requested.blade.php @@ -46,7 +46,8 @@ {{ trans('admin/hardware/form.expected_checkin') }} {{ trans('admin/hardware/table.requesting_user') }} {{ trans('admin/hardware/table.requested_date') }} - {{ trans('button.actions') }} + {{ trans('button.actions') }} + {{ trans('general.checkout') }} 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 19b2b4dbe3..f56c78f589 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,54 +1,80 @@ - {{-- This doesn't seem to fix it, neither does a 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)) }} - {!! $errors->first('custom_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)) }} + {!! $errors->first('custom_fieldset', '') !!} +
+
+ +
+ @if ($this->add_default_values ) {{-- 'if the checkbox is enabled *AND* there are more than 0 fields in the fieldsset' --}} -
-
@if ($fields) + @foreach ($fields as $field)
- - -
+ + +
+ @if ($field->format == "DATE") +
+ @elseif ($field->element == "text") - + + + + + @elseif($field->element == "textarea") -
+ + + + + @elseif($field->element == "listbox") - + + + + @elseif($field->element == "radio") + @foreach(explode("\r\n", $field->field_values) as $field_value) - defaultValue($model_id) == $field_value ? 'checked="checked"': '' }} />{{ $field_value }}
+ @endforeach + @elseif($field->element == "checkbox") - @foreach(explode("\r\n", $field->field_values) as $field_value) - defaultValue($model_id))) ? 'checked="checked"': '' }} /> {{ $field_value }}
+ + @foreach(explode("\r\n", $field->field_values) as $field_value) + @endforeach + + @else Unknown field element: {{ $field->element }} @@ -58,9 +84,8 @@
@endforeach +
@endif -
-
@endif