dev/core#3028 - For invalid greetings, return '' instead of failing #22650
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
Fix crash when re-generating greetings for invalid data.
As mentioned in the ticket, I was able to reproduce by hacking at the SQL:
I think a plausible, organic scenario for this would be:
postal_greeting
(Ex: INSERT INTO civicrm_option_value ... ("My Greeting",123,...))Contact
to use the new greeting. (Ex: Setpostal_greeting_id=123
)postal_greeting
. (Ex: The contact now has an invalidpostal_greeting_id==123
.)See: https://lab.civicrm.org/dev/core/-/issues/3028
Before
Recalculating the greeting leads to a type error:
After
No crash. The greeting value is blank (which is a common form omission, if you look at other paths in the context).