From 5df22b3e6a02abfed6549a3db2daa0f25a45d99e Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Thu, 17 Jul 2025 11:56:52 -0700 Subject: [PATCH] checkboxes properly check --- app/Exceptions/Handler.php | 3 ++- .../Assets/BulkAssetsController.php | 3 +-- .../custom_fields_form_bulk_edit.blade.php | 27 ++++++++++++++----- 3 files changed, 23 insertions(+), 10 deletions(-) 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)