New CustomField structure causes issues with APIv3
Overview
It looks like the recent change in 5.27
in the way custom fields store multi-value information has had an impact on the APIv3. There has been some compatibility layer added to the APIv3, but that doesn't cover the search. So if an extension tries to find out whether a custom field has multiple values through the API, it used to ask for
html_type=>['IN'=>['CheckBox','Multi-Select','Multi-Select State/Province','Multi-Select Country']]
but that doesn't return any fields any more.
Reproduction steps
- Create a multi-value custom field
- Go to
civicrm/api3
- Do
CustomField.get
with thehtml_type
outlined above.
Current behaviour
Currently our multi-value custom field is not returned, even though in a search by id
the html_type
is listed as the Multi-*
type we searched for in the first place.
Expected behaviour
The API compatibility wrapper should extend to the search parameters as well, i.e. the query should return the fields matching the query.
Environment information
__CiviCRM 5.27/5.28