diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 7201b53f5d..4df49adeeb 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -128,7 +128,8 @@ class Handler extends ExceptionHandler $ids = method_exists($e, 'getIds') ? $e->getIds() : []; if (in_array('bulkedit', $ids, true)) { - + $oldInput = session()->getOldInput(); + session()->flashInput($oldInput ?? []); return redirect() ->route('hardware.bulkedit') ->with('bulk_asset_errors', session()->pull('bulk_asset_errors')) diff --git a/app/Http/Controllers/Assets/BulkAssetsController.php b/app/Http/Controllers/Assets/BulkAssetsController.php index ffd425e94a..cbe673891a 100644 --- a/app/Http/Controllers/Assets/BulkAssetsController.php +++ b/app/Http/Controllers/Assets/BulkAssetsController.php @@ -125,6 +125,7 @@ class BulkAssetsController extends Controller $models = $assets->unique('model_id'); $modelNames = []; + foreach($models as $model) { $modelNames[] = $model->model->name; } @@ -160,7 +161,6 @@ class BulkAssetsController extends Controller case 'edit': $this->authorize('update', Asset::class); - return view('hardware/bulk') ->with('assets', $asset_ids) ->with('statuslabel_list', Helper::statusLabelList()) @@ -767,5 +767,4 @@ class BulkAssetsController extends Controller ->with('models', $models->pluck(['model'])) ->with('modelNames', $modelNames); } - } diff --git a/resources/views/models/custom_fields_form_bulk_edit.blade.php b/resources/views/models/custom_fields_form_bulk_edit.blade.php index 194c033dd9..a816c876a0 100644 --- a/resources/views/models/custom_fields_form_bulk_edit.blade.php +++ b/resources/views/models/custom_fields_form_bulk_edit.blade.php @@ -55,14 +55,27 @@ @if(!$field->is_unique) @endif - @elseif ($field->element=='checkbox') + @elseif ($field->element=='checkbox')
{{ var_dump(old()) }}
- @foreach ($field->formatFieldValuesAsArray() as $key => $value)
-
- @endforeach
+ @php
+ $fieldName = $field->db_column_name();
+ $oldValues = old($fieldName);
+ $defaultValues = array_map('trim', explode(',', $field->defaultValue($model->id)));
+ $currentValues = isset($item) ? array_map('trim', explode(',', $item->{$fieldName})) : $defaultValues;
+
+ // if old values exist, use them, otherwise fallback
+ $selectedValues = is_array($oldValues) ? $oldValues : $currentValues;
+ @endphp
+
+ @foreach ($field->formatFieldValuesAsArray() as $key => $value)
+
+ @endforeach
@elseif ($field->element=='radio')
@foreach ($field->formatFieldValuesAsArray() as $value)