diff --git a/app/Http/Controllers/CustomFieldsController.php b/app/Http/Controllers/CustomFieldsController.php index bbc3790d63..c9579ae7ef 100644 --- a/app/Http/Controllers/CustomFieldsController.php +++ b/app/Http/Controllers/CustomFieldsController.php @@ -109,6 +109,7 @@ class CustomFieldsController extends Controller "is_unique" => $request->get("is_unique", 0), "display_in_user_view" => $display_in_user_view, "auto_add_to_fieldsets" => $request->get("auto_add_to_fieldsets", 0), + "show_in_listview" => $request->get("show_in_listview", 0), "user_id" => Auth::id() ]); @@ -265,6 +266,7 @@ class CustomFieldsController extends Controller $field->is_unique = $request->get("is_unique", 0); $field->display_in_user_view = $display_in_user_view; $field->auto_add_to_fieldsets = $request->get("auto_add_to_fieldsets", 0); + $field->show_in_listview = $request->get("show_in_listview", 0); if ($request->get('format') == 'CUSTOM REGEX') { $field->format = e($request->get('custom_format')); diff --git a/app/Http/Transformers/CustomFieldsTransformer.php b/app/Http/Transformers/CustomFieldsTransformer.php index db467be0bd..d6401a3e5e 100644 --- a/app/Http/Transformers/CustomFieldsTransformer.php +++ b/app/Http/Transformers/CustomFieldsTransformer.php @@ -49,6 +49,7 @@ class CustomFieldsTransformer 'required' => (($field->pivot) && ($field->pivot->required=='1')) ? true : false, 'display_in_user_view' => ($field->display_in_user_view =='1') ? true : false, 'auto_add_to_fieldsets' => ($field->auto_add_to_fieldsets == '1') ? true : false, + 'show_in_listview' => ($field->show_in_listview == '1') ? true : false, 'created_at' => Helper::getFormattedDateObject($field->created_at, 'datetime'), 'updated_at' => Helper::getFormattedDateObject($field->updated_at, 'datetime'), ]; diff --git a/app/Models/CustomField.php b/app/Models/CustomField.php index 94adbe7cf0..e7fddd1aad 100644 --- a/app/Models/CustomField.php +++ b/app/Models/CustomField.php @@ -53,6 +53,7 @@ class CustomField extends Model 'element' => 'required|in:text,listbox,textarea,checkbox,radio', 'field_encrypted' => 'nullable|boolean', 'auto_add_to_fieldsets' => 'boolean', + 'show_in_listview' => 'boolean', ]; /** @@ -71,6 +72,7 @@ class CustomField extends Model 'is_unique', 'display_in_user_view', 'auto_add_to_fieldsets', + 'show_in_listview', ]; diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index ce476d082c..7c989ee22d 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -292,7 +292,7 @@ class AssetPresenter extends Presenter 'formatter'=> 'customFieldsFormatter', 'escape' => true, 'class' => ($field->field_encrypted == '1') ? 'css-padlock' : '', - 'visible' => true, + 'visible' => ($field->show_in_listview == '1') ? true : false, ]; } diff --git a/database/migrations/2023_07_14_004221_add_show_in_list_view_to_custom_fields.php b/database/migrations/2023_07_14_004221_add_show_in_list_view_to_custom_fields.php new file mode 100644 index 0000000000..227a8bd6c3 --- /dev/null +++ b/database/migrations/2023_07_14_004221_add_show_in_list_view_to_custom_fields.php @@ -0,0 +1,34 @@ +boolean('show_in_listview')->nullable()->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('custom_fields', function (Blueprint $table) { + if (Schema::hasColumn('custom_fields', 'show_in_listview')) { + $table->dropColumn('show_in_listview'); + } + }); + } +} diff --git a/resources/lang/en/admin/custom_fields/general.php b/resources/lang/en/admin/custom_fields/general.php index 1923aa7f4a..cb4ab3730a 100644 --- a/resources/lang/en/admin/custom_fields/general.php +++ b/resources/lang/en/admin/custom_fields/general.php @@ -51,4 +51,7 @@ return [ 'display_in_user_view_table' => 'Visible to User', 'auto_add_to_fieldsets' => 'Automatically add this to every new fieldset', 'add_to_preexisting_fieldsets' => 'Add to any existing fieldsets', + 'show_in_listview' => 'Show in list views by default. Authorized users will still be able to show/hide via the column selector.', + 'show_in_listview_short' => 'Show in lists', + ]; diff --git a/resources/views/custom_fields/fields/edit.blade.php b/resources/views/custom_fields/fields/edit.blade.php index 9d51138442..ac945d8597 100644 --- a/resources/views/custom_fields/fields/edit.blade.php +++ b/resources/views/custom_fields/fields/edit.blade.php @@ -118,7 +118,9 @@ - + + +
+
+ +
+ @if (!$field->id)
diff --git a/resources/views/custom_fields/index.blade.php b/resources/views/custom_fields/index.blade.php index ba95199ead..141d715344 100644 --- a/resources/views/custom_fields/index.blade.php +++ b/resources/views/custom_fields/index.blade.php @@ -145,6 +145,9 @@ + + + {{ trans('admin/custom_fields/general.field_element_short') }} @@ -168,6 +171,7 @@ {{ $field->format }} {!! ($field->field_encrypted=='1' ? '' : '') !!} + {!! ($field->show_in_listview=='1' ? '' : '') !!} {!! ($field->display_in_user_view=='1' ? '' : '') !!} {!! ($field->show_in_email=='1') ? '' : '' !!} {{ $field->element }}