Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 291721

Fatal error when trying to save a View with grouped filters using other than string values

$
0
0

Problem/Motivation

When using a grouped filter in a View that is not 'string' based, saving the view gives an "Error" page with message "InvalidArgumentException: The configuration property display.default.display_options.filters.created.group_info.group_items.1.value.type doesn't exist. in Drupal\Core\Config\Schema\Mapping->get() (line 66 of core/lib/Drupal/Core/Config/Schema/Mapping.php)".

This is all due to the fact that the grouped filter value schema is always a string.

This applies for example to Date, Datetime, numeric and Boolean grouped fields.

Major bug according to https://www.drupal.org/core/issue-priority#major-bug

Trigger a PHP error through the user interface, but only under rare circumstances or affecting only a small percentage of all users, even if there is a workaround.

Other Issues

#2576927: grouped exposed taxonomy filters return invalid when a valid entity is present (not strictly postponed) has a test of the preview, but not a test of save cause of this issue.

#2648950: Use form element of type date instead textfield when selecting a date in an exposed filter is postponed on this issue.
#2049603: Exposed Group Filter assigns incorrect tid to SQL Query is postponed on this issue.

Proposed resolution

Update the handling of the grouped filter type in the code to allow for configuration to set other value types than strings. Then update the views filter Schema to set non-string grouped filter values where needed.

Note: We hope we fix all schema errors in this issue, but there might be still some obscure ones left. We can always add new issues and fix the other ones, but in the meantime solve the problem for people out there.

Steps to reproduce

Create a content view with a filter "Content: Authored On". Expose the filter and select "Grouped filters". Create a group with value type "A date..." and another group with "An offset..." selected, click "Apply".

Go back to edit the filter. Both groups now have value type "A date..." selected.

Saving the view gives an "Error" page with message "InvalidArgumentException: The configuration property display.default.display_options.filters.created.group_info.group_items.1.value.type doesn't exist. in Drupal\Core\Config\Schema\Mapping->get() (line 66 of core/lib/Drupal/Core/Config/Schema/Mapping.php)".


Viewing all articles
Browse latest Browse all 291721

Trending Articles