dev/core#1806 - Fix import of "Radio"-style custom fields using option "label" #17632
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This fixes a regression when using the contribution importer with certain custom-data.
Custom fields of type "Radio" or "Select" have a list of acceptable options, and every acceptable option has a "value" (
OptionValue.value
) and "label" (OptionValue.label
). During import, each input must be checked against the list of acceptable options.See: https://lab.civicrm.org/dev/core/-/issues/1806
Before
When matching the imported datum to the list of acceptable options, it matches only by "value" (
OptionValue.value
).After
When matching an imported datum to the list of acceptable options, it matches on either "value" or "label" (
OptionValue.value
orOptionValue.label
). This reproduces the older behavior.ping @eileenmcnaughton @totten