Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-12-06T22:25:06Zhttps://lab.civicrm.org/dev/core/-/issues/4817$imageURL is not available on membership contribution confirmation and thank ...2023-12-06T22:25:06Zfreeform.steph$imageURL is not available on membership contribution confirmation and thank you pagesThis was originally posted here: https://issues.civicrm.org/jira/browse/CRM-19983 in 2017 but I am not finding any indication that it was ever resolved, or this is a regression, not sure.
If you include the contact photo field (image_ur...This was originally posted here: https://issues.civicrm.org/jira/browse/CRM-19983 in 2017 but I am not finding any indication that it was ever resolved, or this is a regression, not sure.
If you include the contact photo field (image_url) in a profile on a membership contribution form and a user uses the field, the image is uploaded, however the image preview (thumbnail with option to delete) fails to display on the confirmation and thank you pages. This causes the users confusion because the field to upload an image appears in its place which leads the individuals to re-try uploading their image (which will cause their image to not be saved). It also fails to appear on the thank you page if you do not enable the confirmation page option.
If you include the smarty debug tag in templates/CRM/UF/Form/Fields.tpl where you'd expect the image to be output, you'll see that $imageURL is not defined.
If you use the same field on a standalone profile form, the preview does display on the last page (there is no confirmation page in this case), so it does appear to be limited to when the profile is included on a contribution form.
What we should see: (1) no upload field on confirmation or thank you pages, (2) include a preview of an image if one was uploaded.https://lab.civicrm.org/dev/core/-/issues/4808Proposal: Phase out public profile fields and profile listings2023-12-06T22:08:58ZbgmProposal: Phase out public profile fields and profile listingsNow that SearchKit provides this functionality, we should consider deprecating "public profile fields" and profile listings. They are a recurrent source of confusion and a bad configuration can lead to a data leak (I stumble on them regu...Now that SearchKit provides this functionality, we should consider deprecating "public profile fields" and profile listings. They are a recurrent source of confusion and a bad configuration can lead to a data leak (I stumble on them regularly, with the help of the [symbiotic extension](https://civicrm.org/extensions/symbiotic).
I think we should:
- [ ] Add a feature flag (a hidden setting?) that hides
- ~~On Profiles, the option "Standalone Form or Directory"~~ (edit: I guess this might be needed for profile/edit of users with a checksum?)
- On Profile Fields: hide the visibility options, set them by default to "User and Admin only"
- [ ] Remove the feature from the Admin documentation
- [ ] Begin changing the interface to warn that we will be removing this feature, and that they can opt-in to that change right now
- [ ] Set a date for complete removal (or if someone really insists on keeping this feature, help them create an extension for it)https://lab.civicrm.org/dev/wordpress/-/issues/124nested conditional shortcode causes exception "You must be logged in to view ...2023-12-06T21:58:33ZAllenShawnested conditional shortcode causes exception "You must be logged in to view this page"The below-described bad behavior was not happening in CiviCRM 5.35.2 but does happen after upgrading to 5.47.4. Can someone suggest what might have changed that would cause this?
**Setup:**
- The custom WordPress theme on this site prov...The below-described bad behavior was not happening in CiviCRM 5.35.2 but does happen after upgrading to 5.47.4. Can someone suggest what might have changed that would cause this?
**Setup:**
- The custom WordPress theme on this site provides an [enclosing-content shortcode](https://developer.wordpress.org/plugins/shortcodes/enclosing-shortcodes/#enclosing-content) `[member_short_code]` which will only display its content if the user is logged in. E.g. `[member_short_code]Only logged in users see this[/member_short_code]`.
- On a given post, the [member_short_code] shortcode is used, and its contents contain is an instance of `[civicrm component="user-dashboard" hijack="0"]`, with the intention that this page will display the user dashboard only if the user is logged in.
**Previous behavior under CiviCRM 5.35.2:**
- When viewing the given post, logged-in users see the civiCRM user dashboard; anonymous users see nothing.
**New & undesirable behavior under CiviCRM 5.47.4:**
- When viewing the given post, logged-in users see the civiCRM user dashboard; anonymous users get a CiviCRM fatal error with the message "You must be logged in to view this page".
**Why this fatal error happens under CiviCRM 5.47.4?**
- WordPress is processing the contents of the `[member_short_code]` shortcode, even when its contents will not be displayed; I believe that's just how WordPress works, and it's not a problem _per se_.
- When that content includes `[civicrm component="user-dashboard" hijack="0"]`, CiviCRM is testing whether the user has a ContactID, and if not it throws the above-mentioned exception. Reference [UserDashBoard.php line 79](https://github.com/civicrm/civicrm-core/blob/master/CRM/Contact/Page/View/UserDashBoard.php#L79).
**Why this fatal error didn't happen under CiviCRM 5.35.2?**
- I don't know. Any ideas?
- Was the civicrm WordPress plugin doing something to catch such exceptions and handle them more elegangly?
- Worth noting, I've compared the civicrm codebase from pre-upgrade backups and github master, and don't see any core hacks that would have accounted for this.
**Workaround in CiviCRM 5.47.4:**
Naturally this is not ideal, but this changes addresses the problem behavior:
```
diff --git a/CRM/Contact/Page/View/UserDashBoard.php b/CRM/Contact/Page/View/UserDashBoard.php
index 9cb559bf47..0a1af9751b 100644
--- a/CRM/Contact/Page/View/UserDashBoard.php
+++ b/CRM/Contact/Page/View/UserDashBoard.php
@@ -77,7 +77,7 @@ class CRM_Contact_Page_View_UserDashBoard extends CRM_Core_Page {
*/
public function preProcess() {
if (!$this->_contactId) {
- throw new CRM_Core_Exception(ts('You must be logged in to view this page.'));
+ return '';
}
list($displayName, $contactImage) = CRM_Contact_BAO_Contact::getDisplayAndImage($this->_contactId);
```
_{Joinery internal reference: F#724)_https://lab.civicrm.org/dev/wordpress/-/issues/99Support User Account properly for profiles2023-12-06T21:29:55ZJoeMurraySupport User Account properly for profilesCurrently, only Drupal properly implements the Used For options for Profiles. This issue chips away at the backlog for WordPress by proposing to properly support User Account.
1. Change the [x] option for User Account for all profiles s...Currently, only Drupal properly implements the Used For options for Profiles. This issue chips away at the backlog for WordPress by proposing to properly support User Account.
1. Change the [x] option for User Account for all profiles so that it is a checkbox widget.
1. If User Account is unchecked, do not change current behaviour of CiviCRM
1. If User Account is checked, expose the profile on wp-admin/user-edit.php?user_id=nnn and wp-admin/profile.php?user_id=nnn in an appropriate manner consistent with other plugin fields that are exposed. When Update Profile is clicked, validate the profile as appropriate for this form. Once the form is validated, save the field values as appropriate.
1. Create unit tests.JoeMurrayJoeMurrayhttps://lab.civicrm.org/dev/wordpress/-/issues/119Autocomplete dropdowns inaccessible behind lightbox2023-12-06T17:16:48ZbakkboneAutocomplete dropdowns inaccessible behind lightbox![Screen_Shot_2022-02-17_at_6.41.52_pm](/uploads/996c28afe8f7457cc6f41c2d22a53799/Screen_Shot_2022-02-17_at_6.41.52_pm.png)
When trying to add a membership type in CiviMember, the dropdowns all appear behind the lightbox and can't be cli...![Screen_Shot_2022-02-17_at_6.41.52_pm](/uploads/996c28afe8f7457cc6f41c2d22a53799/Screen_Shot_2022-02-17_at_6.41.52_pm.png)
When trying to add a membership type in CiviMember, the dropdowns all appear behind the lightbox and can't be clicked on. Example in screencap is the Organisation, but the issue is occurring on all dropdowns on this screenhttps://lab.civicrm.org/dev/wordpress/-/issues/89Civi cannot be installed on Local (previously Local By Flywheel) on Windows2023-12-06T17:15:59ZAndrew WestCivi cannot be installed on Local (previously Local By Flywheel) on WindowsInstalling on [Local](https://localwp.com/) fails due a issue when parsing the schema xml files. On Windows, anyway. Flagging this because Local seems to be increasingly popular as a dev tool - plus is used by people on Flywheel / WP Eng...Installing on [Local](https://localwp.com/) fails due a issue when parsing the schema xml files. On Windows, anyway. Flagging this because Local seems to be increasingly popular as a dev tool - plus is used by people on Flywheel / WP Engine.
What happens is:
1. CRM_Core_CodeGen_Util_Xml::parse() reads xml/schema/Schema.xml. Schema.xml uses <xi:include> tags to include all the other xml schema files in the relevant subdirectories.
2. These inclusions are processed in parse() by a DomDocument object running xinclude(). This fails with a "failed to load external entity" error. Process Monitor shows that it's looking in the wrong directory: it looks for them in the root, rather than under xml/schema.
There's a not-great workaround:
Edit CRM_Core_CodeGen_Util_Xml::parse() and manually set the DomDocument->documentURI to a relative path instead of the absolute path it uses by default. It needs to be relative to the current PHP working directory, which is wp-admin at this point. So under a default WP install this would be: '../wp-content/plugins/civicrm/civicrm/xml/schema/Schema.xml'
I haven't figured out the cause yet. I thought it might be to do with spaces in the directory path (Local uses a folder called "Local Sites" by default on Windows), but it happens outside of that directory too.
The problem doesn't happen XAMP under Windows, so it must be something about the Local setup. I believe it uses Docker behind the scenes. I contacted Local support to see if they had any known issues with xi:include, but no joy.
I'm out of ideas at the moment. Raising an issue so it's at least recorded.https://lab.civicrm.org/dev/wordpress/-/issues/42404 Error when I use the Api v4 with Wordpress Multisite -> because no "do no...2023-12-06T17:14:08ZTomAnderson404 Error when I use the Api v4 with Wordpress Multisite -> because no "do not delete" post was generated for the subsiteI am encountering a 404 Error when I use the Api v4 with Wordpress Multisite.
My sites have urls like: `mainsite.com` and `subsite.com`.
I only get the 404 error on the subsite, not the main site. The data is retrieved, but there is a 4...I am encountering a 404 Error when I use the Api v4 with Wordpress Multisite.
My sites have urls like: `mainsite.com` and `subsite.com`.
I only get the 404 error on the subsite, not the main site. The data is retrieved, but there is a 404 error at the same time. This breaks the promises and makes it super awkward to use the API.
```
var this_works_v3 = await CRM.api3('Event', 'get');
var this_gets_a_404_result_but_the_promise_holds_the_data = await CRM.api4('Event', 'get');
var this_works_v4 = await CRM.api4('Event', 'get', {where: [["title", "LIKE", "%"]]});
```
I tracked it through the code and the problem occurs in the jQuery file.
``` jquery.js?r=lemn4 10252:10255
// Do send the request
// This may raise an exception which is actually
// handled in jQuery.ajax (so no try/catch here)
xhr.send( ( options.hasContent && options.data ) || null );
```
The options.data is empty in the 404 result version because there are no parameters in the API call.
I was stumped as to what else I could do to understand this problem. Until I checked the PHP-FPM log. It turned out, there was an error being thrown in wp-content\plugins\civicrm\civicrm\CRM\Utils\System\WordPress.php:224 because $post did not have ID ($post was undefined on the subsite).
```
/**
* @inheritDoc
*/
197 public function url(
```
Line 222 should be loading the post that indicates the url
```
222 global $post;
223 if (get_option('permalink_structure') != '') {
$script = get_permalink($post->ID);
}
if ($config->wpBasePage == $post->post_name) {
$basepage = TRUE;
}
```
I put the check for $post and found that on the subsite, it was not being populated. But in the main site, it was a post with the post content: 'post_content' => 'Do not delete this page. Page content is generated by CiviCRM.',
Well that's weird, the subsite doesn't have that post, but the main site says it should not be deleted. I copied the post to the subsite database table `wp_3_posts` changing the ID and the guid to match the subsite. And it works!
In summary, there is a flaw in the CiviCRM setup for multisite Wordpress, because the file Wordpress.php expects there to be a post in the database so it can grab its data. The workaround was to duplicate the autogenerated "Do not delete this post" post in the subsite. No more 404 error!haystackhaystackhttps://lab.civicrm.org/dev/wordpress/-/issues/111Civi Shortcode does not work when added in ACF fields2023-12-06T17:13:05ZKurund JalmiCivi Shortcode does not work when added in ACF fieldsSteps to replicate:
* Add ACF field of type 'textarea' for page
* Add CiviCRM shortcode in that field
* View the page, it displays blank instead of civicrm content
I have tested this on vanilla civicrm + acf plugin.
Any thoughts on th...Steps to replicate:
* Add ACF field of type 'textarea' for page
* Add CiviCRM shortcode in that field
* View the page, it displays blank instead of civicrm content
I have tested this on vanilla civicrm + acf plugin.
Any thoughts on the best way to resolve this?https://lab.civicrm.org/dev/wordpress/-/issues/101CiviCRM internal AJAX path ( q=civicrm/ajax/* ) should set wp_doing_ajax - Gr...2023-12-06T17:05:07ZFrancis (Agileware)CiviCRM internal AJAX path ( q=civicrm/ajax/* ) should set wp_doing_ajax - Gravity Forms 2.5.3+ breaks MailingsCiviCRM version: 5.37.2
Today ran into an issue on a few client sites where a Gravity Forms update to version 2.5.3+ would cause Mailings to not be loaded.
The cause for this was that a new filter in Gravity Forms would inject a `<scri...CiviCRM version: 5.37.2
Today ran into an issue on a few client sites where a Gravity Forms update to version 2.5.3+ would cause Mailings to not be loaded.
The cause for this was that a new filter in Gravity Forms would inject a `<script>` tag immediately after the `<head>` tag that appears in the `body_html` JSON field from `Mailing.getSingle` API calls, with no escaping - which then breaks the JSON parser.
Note that this uses the internal `civicrm/ajax` path and thus doesn't go through the WP Rest interface.
Gravity Forms checks the `DOING_AJAX` constant before performing this injection, so the workaround was to add a hook_civicrm_config implementation that would `define('DOING_AJAX', true)` if the `q` parameter starts with `civicrm/ajax`
Would be preferable if this was done something during the initialisation of the CiviCRM WordPress plugin itself, for both admin and front-end paths.
There *is* a filter `wp_doing_ajax`, which defaults to `DOING_AJAX`, however it's worth noting that Gravity Forms *does not use the interface to this filter*, but the `DOING_AJAX` constant itself, so in this case it would be better to define `DOING_AJAX` as well.https://lab.civicrm.org/dev/wordpress/-/issues/76REST delete Participant operation... get a WARNING message2023-12-06T16:39:30ZRTaglientoREST delete Participant operation... get a WARNING messageHi,
I am receiving a WANRNING message after an API-REST call via ajax.
The delete operation of a participant
.../wp-json/civicrm/v3/rest?entity=Participant&action=delete&api_key=...&key=..&json={"sequential":1,"id":711}
this is the ...Hi,
I am receiving a WANRNING message after an API-REST call via ajax.
The delete operation of a participant
.../wp-json/civicrm/v3/rest?entity=Participant&action=delete&api_key=...&key=..&json={"sequential":1,"id":711}
this is the response text:
> <br />
> <b>Warning</b>: array_reduce() expects parameter 1 to be array, int given in <b>C:\xampp\htdocs\civicenter\wp-content\plugins\civicrm\wp-rest\Controller\Rest.php</b> on line <b>147</b><br />
> {"is_error":0,"version":3,"count":1,"values":null}
it is only a WARNING and I catch only the final JSON object tail.
Regards Roberto.https://lab.civicrm.org/dev/core/-/issues/4735Event Registration Error on Wordpress 6.3.1 Civi 5.63.4 "Could not find valid...2023-12-06T16:06:38Zdarren.woodsEvent Registration Error on Wordpress 6.3.1 Civi 5.63.4 "Could not find valid value for id"Overview
----------------------------------------
When registering for an event, users do not see the configured thank you messge, but instead are shown the error: "Could not find valid value for id"
https://civicrm.stackexchange.com/qu...Overview
----------------------------------------
When registering for an event, users do not see the configured thank you messge, but instead are shown the error: "Could not find valid value for id"
https://civicrm.stackexchange.com/questions/45729/event-registration-error-on-wordpress-6-3-1-civi-5-63-4-could-not-find-valid-va
Reproduction steps
----------------------------------------
1. Configure an event with free online registration and a thankyou message.
2. Register for the event from the event info page.
Current behaviour
----------------------------------------
Users are shown an error: "Could not find valid value for id"
Expected behaviour
----------------------------------------
Thank you message configured in the event should be shown.
Environment information
----------------------------------------
* __Browser: Browser independent.
* __CiviCRM: 5.63.4
* __PHP: 8.1
* __CMS: WordPress 6.3.1
* __Database: MariaDB
* __Web Server: Nginx
Comments
----------------------------------------
This only happens with registering for events using the Civi event info page. If you embed a shortcode for the specific event in a WordPress page then the error is not shown.https://lab.civicrm.org/dev/wordpress/-/issues/143Plugin compatibility architecture and loss of locale on "Secondary URLs" when...2023-12-06T16:01:59ZhaystackPlugin compatibility architecture and loss of locale on "Secondary URLs" when using PolylangThis issue covers a couple of related matters:
1. A better architecture for providing compatibility with 3rd party plugins
2. Loss of locale on "Secondary URLs" when using Polylang
The first item is necessary in order to implement the ...This issue covers a couple of related matters:
1. A better architecture for providing compatibility with 3rd party plugins
2. Loss of locale on "Secondary URLs" when using Polylang
The first item is necessary in order to implement the second in a reliable fashion. It also has consequences for #133 but I think that @shaneonabike will appreciate the new architecture as a way of better encapsulating WPML support in its own class. Hopefully we can move forward with that issue as well now.
The PR for this issue on CiviCRM-WordPress requires the related PR on CiviCRM-Core. In combination, they solve the following problem:
When Polylang is active, locale is lost on "secondary" or "internal" URLs built by CiviCRM Core. For example, on an Event Info screen (https://example.org/fr/civicrm/event/info/?reset=1&id=3) the "Register" link does not retain the current front-end locale but instead contains no locale information at all (https://example.org/civicrm/event/register/?id=3&reset=1). With the PRs applied, the link becomes https://example.org/fr/civicrm/event/register/?id=3&reset=1 and retains the locale as defined by Polylang.
PR links to follow.haystackhaystackhttps://lab.civicrm.org/dev/core/-/issues/3070Placeholders in forms2023-12-06T15:27:43ZshaneonabikePlaceholders in formsOverview
----------------------------------------
_Please describe your improvement in detail._
Example use-case
----------------------------------------
1. View a Contribution form
1. Fields such as _First name_ do not have a placehold...Overview
----------------------------------------
_Please describe your improvement in detail._
Example use-case
----------------------------------------
1. View a Contribution form
1. Fields such as _First name_ do not have a placeholder and only a label
Current behaviour
----------------------------------------
I think that in general providing placeholders is a good practice for all fields for the following reasons:
+ More accessible
+ Simplifies design (hidden labels) reduces the size of forms
Proposed behaviour
----------------------------------------
I was thinking there could be two ways to make this happen to start.
+ Provide placeholders that match the labels (Phase 1)
+ Provide ability on all fields with text entry to have a customizable placeholder (Phase 2)
Comments
----------------------------------------
Would there be any problem with me writing a patch that would allow the creation of placeholders for text holders that presently uses the label and copies that into a placeholder field?https://lab.civicrm.org/dev/wordpress/-/issues/146API Deprecation2023-12-06T13:22:19ZtreseroAPI DeprecationLots of these in the log for mailings
[warning] Deprecated function CRM_Mailing_BAO_MailingComponent::retrieve, use API.
CRM_Core_Error::deprecatedFunctionWarning
CRM_Mailing_BAO_MailingComponent::retrieve
CRM_Mailing_Form_Component::se...Lots of these in the log for mailings
[warning] Deprecated function CRM_Mailing_BAO_MailingComponent::retrieve, use API.
CRM_Core_Error::deprecatedFunctionWarning
CRM_Mailing_BAO_MailingComponent::retrieve
CRM_Mailing_Form_Component::setDefaultValues
CRM_Core_Form::buildForm
Array
(
[civi.tag] => deprecated
)
Trying to make an email template, and I get this.
Wish I could help more.https://lab.civicrm.org/dev/core/-/issues/4844Text field in FormBuilder breaks when inserting links2023-12-06T12:04:20Zjoshjosh@civicrm.orgText field in FormBuilder breaks when inserting linksAdding text with links in a FormBuilder text field functions as expected when adding for the first time. However, subsequent changes or attempts at making changes fail and the text appears to be truncated in the admin UI at the start of ...Adding text with links in a FormBuilder text field functions as expected when adding for the first time. However, subsequent changes or attempts at making changes fail and the text appears to be truncated in the admin UI at the start of the first link. The text on the frontend display remains as the original text and is neither truncated nor incorporates any changes despite successful "saves" in the admin interface.
![form-builder-text-issue](/uploads/493a188730553f1631d9613c50dce4da/form-builder-text-issue.png)
I've tested on the d9 sandbox and can reproduce that the text in the text box in the admin UI is truncated at the first link, however changes to text prior to the first link to appear to function as expected, so that bit may be specific to an issue on our site (civicrm.org).https://lab.civicrm.org/dev/core/-/issues/3138Redirect to 'create' profile when no user/contact ID was specified2023-12-06T05:03:28ZhaystackRedirect to 'create' profile when no user/contact ID was specifiedOverview
----------------------------------------
When an anonymous user visits an 'edit' profile (and therefore no user/contact ID is specified) `statusBounce` redirects to the homepage of the site and (at least in WordPress) no message...Overview
----------------------------------------
When an anonymous user visits an 'edit' profile (and therefore no user/contact ID is specified) `statusBounce` redirects to the homepage of the site and (at least in WordPress) no message is displayed showing why this has happened.
Current behaviour
----------------------------------------
`statusBounce` redirects to the homepage of the site.
Proposed behaviour
----------------------------------------
`statusBounce` should redirect to the 'create' profile page where the status message will be displayed.haystackhaystackhttps://lab.civicrm.org/dev/core/-/issues/4839Message templates not always sent2023-12-06T01:46:11ZtottenMessage templates not always sentOverview
----------------------------------------
There appears to be some subtle breakage in how message-templates are sent. I believe this is why the "Password Reset" emails aren't being sent (cc @pfigel @artfulrobot).
Reproduction s...Overview
----------------------------------------
There appears to be some subtle breakage in how message-templates are sent. I believe this is why the "Password Reset" emails aren't being sent (cc @pfigel @artfulrobot).
Reproduction steps
----------------------------------------
Setup a fake email service (eg MailHog)
Run this script:
```php
function do_wfmsg_a() {
$msg = \Civi\WorkflowMessage\WorkflowMessage::create('petition_sign', [
'from' => '"Foo" <foo@bar.com>',
'contactId' => 204,
]);
$msg->setTo('demo@example.com');
return $msg->sendTemplate([
'messageTemplate' => [
'msg_subject' => 'My Subject ' . __FUNCTION__,
'msg_text' => 'Hello',
'msg_html' => '<p>Hello</p>',
]
]);
}
```
Observe whether the email is received
Current behaviour
----------------------------------------
The email is not actually delivered (circa 5.64.0).
Expected behaviour
----------------------------------------
The email is actually delivered (circa 5.63.3).
Comments
----------------------------------------
I did a `git bisect`, and I believe it originates from:
https://github.com/civicrm/civicrm-core/commit/ba4b246234e4dd58e23050138455aec6497ac988
Probably related: When I watched this in the debugger, I noticed that `CRM_Core_BAO_MessageTemplate::renderTemplateRaw()` calls `WorkflowMessage::importAll()`. At this point, it wipes out the `$model->to` property.5.68.0https://lab.civicrm.org/dev/core/-/issues/4840Searchkit In Place Edit might load slow.2023-12-05T22:29:38ZjaapjansmaSearchkit In Place Edit might load slow.When creating the search kit for the permissions screen of the Standalone CiviCRM.
It turned out that the data loads very slow, because all permissions are shown for every role. And the in-place-edit makes this screen loading very slow. ...When creating the search kit for the permissions screen of the Standalone CiviCRM.
It turned out that the data loads very slow, because all permissions are shown for every role. And the in-place-edit makes this screen loading very slow.
@colemanw thought the permission check within in the in-place-edit was causing this.
See this PR which adds the permissions screen to standalone CiviCRM: https://github.com/civicrm/civicrm-core/pull/28523https://lab.civicrm.org/dev/core/-/issues/3083getNonDeductibleAmountFromPriceSet should take into account the financial typ...2023-12-05T21:36:19ZherbdoolgetNonDeductibleAmountFromPriceSet should take into account the financial type of the price field optionOverview
----------------------------------------
`getNonDeductibleAmountFromPriceSet()` gets called in a couple places to calculate the non-deductible amount of contributions. While the calling method will take into account the financi...Overview
----------------------------------------
`getNonDeductibleAmountFromPriceSet()` gets called in a couple places to calculate the non-deductible amount of contributions. While the calling method will take into account the financial type of the contribution when assigning the non-deductible amount, `getNonDeductibleAmountFromPriceSet()` does *not* take into account the financial type of the price set option. I believe it should be.
Reproduction steps
----------------------------------------
1. Create price set and add two fields: one with financial type Donation (deductible) = `$10` and other Event Fee (non-deductible) = `$20`. Make the Event Fee have a random non-deductible amount of say `$2.50`.
2. Add a contribution in the backend to a contact and choose this new price set.
3. Look at the resulting contribution.
Current behaviour
----------------------------------------
The contribution has non-deductible = `$2.50` for a `$30` contribution.
Expected behaviour
----------------------------------------
I expect the non-deducible to be `$20`, the full price of the Event Fee. The contribution should be setting the non-deductible to be equal that of the merchandise price field, regardless of the actual non-deductible amount for that field. If a price field is non-deductible then it is 100% non-deductible based on the financial type.https://lab.civicrm.org/dev/core/-/issues/4778Menu missing - error in console2023-12-05T10:17:19ZDaveDMenu missing - error in consoleI updated a dev site and now I get an error which mangles the menu.
```
"Undefined array key "adv_search_legacy""
...\sites\all\modules\civicrm\CRM\Admin\Page\AJAX.php(89)
```
Likely here: https://github.com/civicrm/civicrm-core/pull/2...I updated a dev site and now I get an error which mangles the menu.
```
"Undefined array key "adv_search_legacy""
...\sites\all\modules\civicrm\CRM\Admin\Page\AJAX.php(89)
```
Likely here: https://github.com/civicrm/civicrm-core/pull/28072/files5.68.0