Development issueshttps://lab.civicrm.org/groups/dev/-/issues2021-08-12T18:23:31Zhttps://lab.civicrm.org/dev/core/-/issues/2744Proposal - move the Administer menu to the left of the Search menu, or the al...2021-08-12T18:23:31ZDaveDProposal - move the Administer menu to the left of the Search menu, or the alert popups to the bottomI'm not going to push too hard for this since the menu is customizable already, but I'll state the "problem" to see if I'm the only one:
It's rare that I'll go to just one admin screen in civi and then be done. I'm not talking about ini...I'm not going to push too hard for this since the menu is customizable already, but I'll state the "problem" to see if I'm the only one:
It's rare that I'll go to just one admin screen in civi and then be done. I'm not talking about initial provisioning but going in later to change a couple things. The popup message that comes up after you change anything is ALWAYS covering the next admin menu item I want to click on. Yes green ones go away in a few seconds but then I still get slowed down.
A related annoyance is if I haven't visited a civi page in a certain number of hours then the next time I visit a civi page the status check alert pops up, and virtually every site has something that's a warning (which is a separate issue discussed elsewhere), so it sits there covering the admin menu.
An alternative might be moving the popup to the bottom right instead of the top right.https://lab.civicrm.org/dev/core/-/issues/2742Creating a regular group from advanced search displays commas for the type wh...2021-08-07T12:32:45ZDaveDCreating a regular group from advanced search displays commas for the type when looking at the groups listing page1. Advanced Search
2. From the results create a regular group (not smart)
3. Don't check mailing list or access control.
4. Contacts - Manage Groups. See screenshot below. (I thought those were quotes at first but they're commas.)
5. Jus...1. Advanced Search
2. From the results create a regular group (not smart)
3. Don't check mailing list or access control.
4. Contacts - Manage Groups. See screenshot below. (I thought those were quotes at first but they're commas.)
5. Just editing the settings and resaving without changing anything clears it.
6. Not sure when it started. Is in 5.39 and master.
7. Note it doesn't happen if done from basic search.
![Untitled](/uploads/7a5e7709c337488a1989454eec25f391/Untitled.png)5.41.0https://lab.civicrm.org/dev/core/-/issues/2741Group visibility not respected after profile edit submission2023-09-12T05:03:26ZandyburnsGroup visibility not respected after profile edit submissionWhen using a profile in edit mode, my groups show up correctly. However, once I submit and go to the view screen to see what I submitted, it then exposes all the groups I am in, even if they are not set to 'Public Pages'. It should not e...When using a profile in edit mode, my groups show up correctly. However, once I submit and go to the view screen to see what I submitted, it then exposes all the groups I am in, even if they are not set to 'Public Pages'. It should not expose 'User and User Admin' visibility groups. I was using checksum function in this case.
I have less than 10 Public Groups, below is way more than that.
![Untitled](/uploads/1ba9fad0f6c44842aa6dcc8fd10dea9e/Untitled.png)https://lab.civicrm.org/dev/core/-/issues/2738Multi select contact reference field - Activity Details Report fails with Tru...2024-03-28T05:03:25ZDevAppMulti select contact reference field - Activity Details Report fails with Truncated incorrect INTEGER valueWhen running the Activity Details report in CiviCRM 5.36.1 with a contact reference field that is multi select.
![image](/uploads/2848dca8a1bd36ac7fcbdbe6f3068d58/image.png)
Seems related to this change:
https://lab.civicrm.org/dev/cor...When running the Activity Details report in CiviCRM 5.36.1 with a contact reference field that is multi select.
![image](/uploads/2848dca8a1bd36ac7fcbdbe6f3068d58/image.png)
Seems related to this change:
https://lab.civicrm.org/dev/core/-/issues/2123
```
SELECT civicrm_contact_target.sort_name as civicrm_contact_contact_target, civicrm_contact_target.gender_id as civicrm_contact_contact_target_gender, civicrm_contact_target.id as civicrm_contact_contact_target_id, activity_civireport.id as civicrm_activity_id, activity_civireport.source_record_id as civicrm_activity_source_record_id, activity_civireport.activity_type_id as civicrm_activity_activity_type_id, activity_civireport.subject as civicrm_activity_activity_subject, activity_civireport.activity_date_time as civicrm_activity_activity_date_time, activity_civireport.status_id as civicrm_activity_status_id, activity_civireport.duration as civicrm_activity_duration, activity_civireport.details as civicrm_activity_details, activity_civireport.priority_id as civicrm_activity_priority_id, address_civireport.country_id as civicrm_address_country_id, contact_custom_29_civireport.display_name as civicrm_value_phone_call_in_10_custom_29, value_phone_call_in_10_civireport.category_30 as civicrm_value_phone_call_in_10_custom_30, address_civireport.street_name as civicrm_address_street_name, address_civireport.street_number as civicrm_address_street_number, address_civireport.street_address as civicrm_address_street_address, address_civireport.city as civicrm_address_city, address_civireport.postal_code as civicrm_address_postal_code \n
FROM civicrm_activity activity_civireport\n
INNER JOIN civicrm_activity_contact activity_contact_civireport\n
ON activity_civireport.id = activity_contact_civireport.activity_id AND\n
activity_contact_civireport.record_type_id = 3\n
INNER JOIN civicrm_contact civicrm_contact_target\n
ON activity_contact_civireport.contact_id = civicrm_contact_target.id\n
\n
LEFT JOIN civicrm_address address_civireport\n
ON (civicrm_contact_target.id =\n
address_civireport.contact_id) AND\n
address_civireport.is_primary = 1\n
\n
LEFT JOIN civicrm_value_phone_call_in_10 value_phone_call_in_10_civireport ON value_phone_call_in_10_civireport.entity_id = activity_civireport.id\n
LEFT JOIN civicrm_contact contact_custom_29_civireport ON contact_custom_29_civireport.id = value_phone_call_in_10_civireport.referred_to_29 WHERE activity_civireport.is_test = 0 AND\n
activity_civireport.is_deleted = 0 AND\n
activity_civireport.is_current_revision = 1 AND ( activity_civireport.activity_date_time >= 20210801000000) AND ( activity_civireport.activity_date_time <= 20210831235959) AND ( activity_civireport.activity_type_id IN (2) ) [nativecode=1292 ** Truncated incorrect INTEGER value: '\x01730\x01']
"""
4 => "1292 ** Truncated incorrect INTEGER value: '\x01730\x01'"
]
```https://lab.civicrm.org/dev/core/-/issues/2737Search display permissions issue (search kit)2021-08-17T21:07:08ZeileenSearch display permissions issue (search kit)When viewing a configured (table) search display the 'Administer CiviCRM' - or at least 'Administer CiviCRM data' is required. I don't believe that is intentional as the SearchDislay.run action does not require administer CiviCRM - but ...When viewing a configured (table) search display the 'Administer CiviCRM' - or at least 'Administer CiviCRM data' is required. I don't believe that is intentional as the SearchDislay.run action does not require administer CiviCRM - but other api calls (notably SearchDisplay.get) on that page DO require administer civicrm data.
My understanding is a search display should work for 'any user' but not necessarily return results (permission dependent) whereas a search form permits permissions to be overridden
@colemanw as you can tell I'm looking at search kit this week :-)https://lab.civicrm.org/dev/core/-/issues/2736Searchkit - can't export more than x rows2022-05-24T14:07:07ZeileenSearchkit - can't export more than x rowsI'm not sure the exact limit but there IS a limit to how many rows can be exported through search kit and it's not that high. The issue is the url itself becomes too long to be accepted - so we wind up with a 414 error
I think we need t...I'm not sure the exact limit but there IS a limit to how many rows can be exported through search kit and it's not that high. The issue is the url itself becomes too long to be accepted - so we wind up with a 414 error
I think we need to think of another way to pass this list than via a url - potentially even the dreaded prev_next cache.
![image](/uploads/692290f1cf5edf0e62ff792078b0a62f/image.png)
@colemanw @totten what do you think the right approach is - to save to the prev-next cache & pass along a key to reference the results?https://lab.civicrm.org/dev/core/-/issues/2734Search kit / afform allow default for filters2021-08-05T02:27:08ZeileenSearch kit / afform allow default for filtersWe would really like to be able to configure a default for our filters - ie in the screenshot below the ideal would be to be able to specify the default filter for date as 'this calendar month'.
![image](/uploads/3b012f7a67bb728523877a...We would really like to be able to configure a default for our filters - ie in the screenshot below the ideal would be to be able to specify the default filter for date as 'this calendar month'.
![image](/uploads/3b012f7a67bb728523877a2b357f577e/image.png)https://lab.civicrm.org/dev/core/-/issues/2732SearchKit: have a quick Export task2021-09-02T17:11:13ZbgmSearchKit: have a quick Export taskCurrently, users can export from SearchKit using the traditional Export wizard of CiviCRM, which requires users to select a mapping and a few other options.
As a user, I would like to be able to quickly export the data as seen on the sc...Currently, users can export from SearchKit using the traditional Export wizard of CiviCRM, which requires users to select a mapping and a few other options.
As a user, I would like to be able to quickly export the data as seen on the screen.5.42.0https://lab.civicrm.org/dev/core/-/issues/2731Export preview when mapping fields on Case Export is wrong2023-09-10T05:03:23ZDaveDExport preview when mapping fields on Case Export is wrongNot sure when this started, I'm about 70% sure it was ok about a year ago.
1. Cases - Find Cases
2. Select some and choose export from the actions dropdown.
3. Choose to select the fields for the mapping.
4. When you start adding fields...Not sure when this started, I'm about 70% sure it was ok about a year ago.
1. Cases - Find Cases
2. Select some and choose export from the actions dropdown.
3. Choose to select the fields for the mapping.
4. When you start adding fields, all the columns in the preview show the same case repeated.
The downloaded export file is ok though.https://lab.civicrm.org/dev/core/-/issues/2730Consider replacing fopen() call in CRM_Utils_File::isIncludable with stream_r...2021-08-09T12:58:54ZDaveDConsider replacing fopen() call in CRM_Utils_File::isIncludable with stream_resolve_include_path()The problem is depending on how strict your setup is, some code that uses the error suppression operator (e.g. `@unlink('file_which_may_not_exist')`) behaves differently in php 8 and doesn't get supressed, either flooding your logs or ma...The problem is depending on how strict your setup is, some code that uses the error suppression operator (e.g. `@unlink('file_which_may_not_exist')`) behaves differently in php 8 and doesn't get supressed, either flooding your logs or making civi unusable in some cases.
In particular the api magic function provider uses an algorithm for e.g. getfields, where often the first guess is wrong, leading to an error.
isIncludable was added in 2011, and while stream_resolve_include_path was available at that time, it was introduced into php in 2010, so it's possible not a lot of sites had it.5.41.0https://lab.civicrm.org/dev/financial/-/issues/178Line Items: allow hooks to disable the core method for calculating taxes2021-07-30T22:54:03ZbgmLine Items: allow hooks to disable the core method for calculating taxesThe LineItem BAO create function recalculates taxes after the `pre` hook has been called. This makes sense, since the hook might have changed something, and taxes must be recalculated.
However, the [taxcalculator](https://lab.civicrm.or...The LineItem BAO create function recalculates taxes after the `pre` hook has been called. This makes sense, since the hook might have changed something, and taxes must be recalculated.
However, the [taxcalculator](https://lab.civicrm.org/extensions/taxcalculator) extension wants to handle tax calculations. In most places in core, it can manage to recalculate them after core has done its own recalculations, but not here:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Price/BAO/LineItem.php#L34
I was wondering if it would be possible to have a magic parameter that would disable the call to `getTaxAmountForLineItem`?
Example: `hook_civicrm_pre` would allow extensions to add a param such as `skipTaxCalculations=TRUE`. Kind of like `skipLineItem`..
@eileen I expect you won't like this :-)
For context: I don't like how CiviCRM forces us to have a Financial Type + Financial Accounts + separate Line Items in Price Sets (or different Contribution Pages) for each tax jurisdiction. In Canada, this often means having ~ 5 different combos to cover most tax rates. The taxcalculator extension recalculate taxes based on the location of the contact.https://lab.civicrm.org/dev/core/-/issues/2729Occasional error with search kit installed "call_user_func() expects paramete...2021-12-15T22:46:11ZDaveDOccasional error with search kit installed "call_user_func() expects parameter 1 to be a valid callback, class '\Civi\Search\AfformSearchMetadataInjector' not found"call_user_func() expects parameter 1 to be a valid callback, class '\Civi\Search\AfformSearchMetadataInjector' not found in line 214 of ...\vendor\symfony\event-dispatcher\EventDispatcher.php.
I haven't traced it, but it seems to be in ...call_user_func() expects parameter 1 to be a valid callback, class '\Civi\Search\AfformSearchMetadataInjector' not found in line 214 of ...\vendor\symfony\event-dispatcher\EventDispatcher.php.
I haven't traced it, but it seems to be in the upgrade doFinish(), and I assume is related to https://github.com/civicrm/civicrm-core/blob/b7412ea74b71e2c3c457639e301d57147655bd4e/ext/search_kit/search_kit.php#L12:
`Civi::dispatcher()->addListener('hook_civicrm_alterAngular', ['\Civi\Search\AfformSearchMetadataInjector', 'preprocess'], 1000);`
Possibly some kind of timing issue?https://lab.civicrm.org/dev/wordpress/-/issues/114Permalink error generated while using SwitchTo plugin to test accounts2021-08-03T20:42:04ZrbaughPermalink error generated while using SwitchTo plugin to test accountsWhile using the SwitchTo plugin to test out contacts on the site, when switching back to the admin account, the following error is generated.
>>>
PHP Fatal error: Uncaught Error: Call to a member function get_page_permastruct() on null...While using the SwitchTo plugin to test out contacts on the site, when switching back to the admin account, the following error is generated.
>>>
PHP Fatal error: Uncaught Error: Call to a member function get_page_permastruct() on null in /public_html/wp-includes/link-template.php:430
Stack trace:
\#0 /public_html/wp-includes/link-template.php(392): _get_page_link(Object(WP_Post), false, false)
\#1 /public_html/wp-includes/link-template.php(197): get_page_link(Object(WP_Post), false, false)
\#2 /public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php(79): get_permalink(Object(WP_Post))
\#3 [internal function]: CRM_Utils_System_WordPress->{closure}()
\#4 /public_html/wp-content/plugins/civicrm/civicrm/Civi/Core/Paths.php(130): call_user_func(Object(Closure))
\#5 /public_html/wp-content/plugins/civicrm/civicrm/Civi/Core/Paths.php(256): Civi\Core\Paths->getVariable('wp.frontend', 'url')
\#6 /public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php(432): Civi\Core\Paths->getUrl('.', 'relative')
\#7 /public_html/w in /public_html/wp-includes/link-template.php on line 430`
>>>
Reloading the page, the error isn't generated again. It is just when clicking the link to switch back to the original user account. This was working before without any issues.https://lab.civicrm.org/dev/wordpress/-/issues/113Multi Record Profile shortcode not rendering on Wordpress 5.7 Civi 5.39.02021-09-06T16:58:59Zdarren.woodsMulti Record Profile shortcode not rendering on Wordpress 5.7 Civi 5.39.0Hi, we have a multi record data group exposed through a Profile rendered as a shortcode which is showing up fine. However when you click View, Edit, Delete or "Add new record":-
![image](/uploads/b83479c61452e335243f118e05aa345d/image.pn...Hi, we have a multi record data group exposed through a Profile rendered as a shortcode which is showing up fine. However when you click View, Edit, Delete or "Add new record":-
![image](/uploads/b83479c61452e335243f118e05aa345d/image.png)
the subsequent page is simply showing the raw shortcode:-
![image](/uploads/b5dfcaad452c5fbece43483638730f3c/image.png)
URL of the parent profile page is: example.org/my-profile/my-career-history/ which works fine.
Then when clicking on one of the links, the URL turns to a non clean URL: example.org/my-profile/my-career-history/?civiwp=CiviCRM&q=civicrm%2Fprofile%2Fedit&reset=1&id=10887&multiRecord=add&gid=16&context=multiProfileDialog&onPopupClose=
Any help, much appreciated as we have let this slip through testing onto a live site!https://lab.civicrm.org/dev/core/-/issues/2727Automatic discounts not being applied to event registration forms2024-02-03T21:01:25ZLKuttnerAutomatic discounts not being applied to event registration formsOverview
----------------------------------------
Following updates to PHP 7.3.29 and MySQL 5.7.34, we discovered that event registration forms are no longer having discounts automatically applied on public pages or back-end. The discoun...Overview
----------------------------------------
Following updates to PHP 7.3.29 and MySQL 5.7.34, we discovered that event registration forms are no longer having discounts automatically applied on public pages or back-end. The discount codes do work when applied manually. No errors are being logged.
Price sets appear to be a determining factor, as any price sets that were created before 2019 are still displaying discounts properly. If I copy or try to update an old price set, they then stop displaying the discount.
Other inquiries have been posted here:
https://github.com/civicrm/org.civicrm.module.cividiscount/issues/266
https://civicrm.stackexchange.com/questions/40054/cividiscount-automatic-discounts-not-being-applied-after-server-updates
Reproduction steps
----------------------------------------
1. Create new price set for an event registration
2. Create new CiviDiscount or use an existing one with automatic discount for current members
3. Set the price set in the fees tab for the event
4. View the registration form
Current behaviour
----------------------------------------
When using a new or recently modified price set, the discount is not displayed on the registration form.
If you submit the discount code manually, it does get applied and displayed on the form.
The occurs on both our production and dev servers with the versions listed below.
Expected behaviour
----------------------------------------
The discount should be displayed on the form in the format: Conference Pass (Includes automatic member discount of: 10% ) - $ 135.00
Environment information
----------------------------------------
- CiviCRM 5.33.5
- Drupal 7.8.1.
- PHP 7.3.29
- MySQL 5.7.34
- CentOS 7.9
Dev server with same OS, PHP, and MySQL
- CiviCRM 5.39
- CiviDiscount 3.8.4
Comments
----------------------------------------
We have investigated for several days and not found any other clues.
I have tried disabling other relevant extensions without seeing any change.https://lab.civicrm.org/dev/wordpress/-/issues/112CiviCRM Shortcode issue with YoastSEO2021-08-07T03:21:36ZrbaughCiviCRM Shortcode issue with YoastSEOOn one of our sites we are using a contribution form via a shortcode on a std WP page. The form is loading just fine on the page, but when the user hits the "Review Contribution" button, the shortcode itself is rendered on the page inste...On one of our sites we are using a contribution form via a shortcode on a std WP page. The form is loading just fine on the page, but when the user hits the "Review Contribution" button, the shortcode itself is rendered on the page instead of the review form for the contribution page. After doing some testing on the site, it seems there is a conflict with YoastSEO. I tried to downgrade YoastSEO back to 16.6.1, and still have the issue.
This was previously working on an older version of CiviCRM for WP. Version 5.38 is working just fine and so was 5.37 of CiviCRM. But when upgrading to 5.39, the contribution shortcode is failing on the review step. Below are two vanilla instances of WP with CiviCRM and YoastSEO installed.
Both are on WP 5.7 and using the CiviCRM Demo data and WP theme. The contribution page for both of these is the default demo Membership contribution page, ID 2. The CiviCRM v5.38 install is working as expected, but v5.39 is breaking. If I remove YoastSEO, this works again on both. Since it was working before with Yoast installed, there is something introduced in 5.39 that is causing issues while having Yoast installed.
CiviCRM v5.38
https://civcrmtest.graydigitaldev.net/sample-page/
CiviCRM v5.39
https://civicrm.graydigitaldev.net/sample-page/5.40.1https://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/core/-/issues/2726Connection fail in runSqlQuery function when using DSN with SSL2021-07-30T22:56:14ZerawatConnection fail in runSqlQuery function when using DSN with SSLOverview
----------------------------------------
Connection fail as below when `runSqlQuery` function in [CRM_Utils_Files](https://github.com/civicrm/civicrm-core/blob/master/CRM/Utils/File.php#L330) is called with DSN string contains ...Overview
----------------------------------------
Connection fail as below when `runSqlQuery` function in [CRM_Utils_Files](https://github.com/civicrm/civicrm-core/blob/master/CRM/Utils/File.php#L330) is called with DSN string contains SSL parameters.
`Cannot open mysqli://user:password@local:3306/civicrm_db?new_link=true&ca=%2Fetc%2Fmysql%2Fdatabase-certificate.pem: DB Error: connect failed`
The reason of the issue is that the connect function in the DB class in the PEAR package ` $db = DB::connect($dsn);` requires stating `ssl=true` as an option if we want to connect database using ssl.
The proposal to fix this is to refactor the code in `runSqlQuery` function in the CRM_Utils_File class to check if the DSN is SSL DSN then we pass the options array that say `ssl=true` as below snippet.
```
$options['ssl'] = FALSE;
if (CRM_Utils_SQL::isSSLDSN($dsn)) {
$options['ssl'] = TRUE;
}
$db = DB::connect($dsn, $options);
```
Reproduction steps
----------------------------------------
The issue can reproduce when installing CiviCRM using [Setup](https://github.com/civicrm/civicrm-setup/blob/master/src/Setup.php ) class in https://github.com/civicrm/civicrm-setup5.41.0https://lab.civicrm.org/dev/core/-/issues/2724Contact dashboard ignores check for logged in user2023-09-09T05:03:24ZDaveDContact dashboard ignores check for logged in userBut I think it ends up not making a difference in practice. Came up during review of https://github.com/civicrm/civicrm-core/pull/20858 and will come back to this later.
This code: https://github.com/civicrm/civicrm-core/blob/fdb0407903...But I think it ends up not making a difference in practice. Came up during review of https://github.com/civicrm/civicrm-core/pull/20858 and will come back to this later.
This code: https://github.com/civicrm/civicrm-core/blob/fdb0407903e5b84243de2583bb6adc6fa4de1aed/CRM/Contact/Page/View/UserDashBoard.php#L246
`if (empty($userID) && $this->_contactId) {`
It was pulled out into a separate function at https://github.com/civicrm/civicrm-core/commit/2d97420b1ce7498db55e044821ad482dbe584fb3
but the $userID var is still referring to this one in a different scope:
https://github.com/civicrm/civicrm-core/blob/fdb0407903e5b84243de2583bb6adc6fa4de1aed/CRM/Contact/Page/View/UserDashBoard.php#L50https://lab.civicrm.org/dev/core/-/issues/2723Event participant role filter not working in Participant list report2023-09-08T05:03:14ZvitiusEvent participant role filter not working in Participant list reportParticipant list report with Event participant role filter could show more rows.
Reproduction steps
----------------------------------------
1. Create new participant role with id 11 (or 10, 21,...).
2. Register new participant to event...Participant list report with Event participant role filter could show more rows.
Reproduction steps
----------------------------------------
1. Create new participant role with id 11 (or 10, 21,...).
2. Register new participant to event with this new role
3. Show Participant list report on this event
4. Use Participant Role filter to show only Attendees (id of attendee role is 1)
5. In report will you see also participant with new role with id 11
Current behaviour
----------------------------------------
If you use Participant Role filter in Participant list report, that will be work like that: `role.id LIKE '%1%'` and not like `role.id = '1'`.
Expected behaviour
----------------------------------------
Report should show only exact role.
Environment information
----------------------------------------
* __CiviCRM:__ _Master/5.37.0/5.33.2