dev/core#2093 - Fix red error box on new individual form and ltrim typos and doubling-up of class attribute #18678
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
**** I think this needs to be in 5.31. If not merged by then I'll rebase to be against it. ****
https://lab.civicrm.org/dev/core/-/issues/2093
Technical Details
In a recent commit this line was added:
$fieldAttributes['class'] .= ltrim($fieldAttributes['class'] ?? '' . ' crm-select2');
It has a couple issues:
.=
if the field isn't set yet, hence the red box..=
is a typo to begin with. If the field is already set it doubles-up the class.??
and.
on the same line together requires brackets since the.
always wins which leads to sneaky bugs. It turns out here it doesn't matter, but should have brackets. This isn't new to??
- it used to come up sometimes with? :
too.Comments
Has test. The existing version of a similar test didn't catch this because it didn't check custom fields.