Development issueshttps://lab.civicrm.org/groups/dev/-/issues2021-03-07T23:41:33Zhttps://lab.civicrm.org/dev/core/-/issues/2439Can't select right participant join field2021-03-07T23:41:33ZeileenCan't select right participant join fieldFor some reason I can't configure the participant contact join in the UI - (I have latest master + the url patch locally). Despite seemingly selecting the join via 'contact_id' the join shows use of transferred_contact_id. In addition th...For some reason I can't configure the participant contact join in the UI - (I have latest master + the url patch locally). Despite seemingly selecting the join via 'contact_id' the join shows use of transferred_contact_id. In addition the field gets a bit weird in that it's no longer a drop down where I could select another entity
![participant_select](/uploads/af61f61e791962a5618a781f3d8603d7/participant_select.gif)https://lab.civicrm.org/dev/core/-/issues/2438Activity contact is null challenge2021-03-24T19:44:58ZeileenActivity contact is null challengeI just tried & failed to do the following search
I was attempting to document how to do a search for 'new dads who have not yet had a home visit'
The search looks like this
![image](/uploads/01a2889772eef50d978f1f607d3f1148/image.png)...I just tried & failed to do the following search
I was attempting to document how to do a search for 'new dads who have not yet had a home visit'
The search looks like this
![image](/uploads/01a2889772eef50d978f1f607d3f1148/image.png)
However it's tough to make this query work because the join winds up looking like
```
LEFT JOIN `civicrm_activity_contact` `Contact_ActivityContact_Activity_01_via_activitycontact` ON `Contact_ActivityContact_Activity_01_via_activitycontact`.`contact_id` = `a`.`id` AND `Contact_ActivityContact_Activity_01_via_activitycontact`.`record_type_id` = "3"
LEFT JOIN `civicrm_activity` `Contact_ActivityContact_Activity_01` ON AND `Contact_ActivityContact_Activity_01_via_activitycontact`.`activity_id` = `Contact_ActivityContact_Activity_01`.`id` AND `Contact_ActivityContact_Activity_01`.`activity_type_id` = "1"
WHERE `Contact_ActivityContact_Activity_01`.`id` IS NULL
```
But in fact you need to do
```
SELECT * FROM civicrm_contact a
LEFT JOIN `civicrm_relationship_cache` `Contact_RelationshipCache_Contact_01_via_relationshipcache`
ON `Contact_RelationshipCache_Contact_01_via_relationshipcache`.`far_contact_id` = `a`.`id`
AND `Contact_RelationshipCache_Contact_01_via_relationshipcache`.`near_relation` = "Child of"
INNER JOIN `civicrm_contact` `Contact_RelationshipCache_Contact_01`
ON `Contact_RelationshipCache_Contact_01_via_relationshipcache`.`near_contact_id` = `Contact_RelationshipCache_Contact_01`.`id`
LEFT JOIN `civicrm_activity_contact` `Contact_ActivityContact_Activity_01_via_activitycontact`
ON `Contact_ActivityContact_Activity_01_via_activitycontact`.`contact_id` = `a`.`id`
AND `Contact_ActivityContact_Activity_01_via_activitycontact`.`record_type_id` = "3"
AND activity_id IN (SELECT id FROM civicrm_activity WHERE activity_type_id = 1)
LEFT JOIN `civicrm_activity` `Contact_ActivityContact_Activity_01`
ON `Contact_ActivityContact_Activity_01_via_activitycontact`.`activity_id` = `Contact_ActivityContact_Activity_01`.`id`
WHERE `Contact_ActivityContact_Activity_01`.`id` IS NULL
AND (`Contact_RelationshipCache_Contact_01`.`birth_date` BETWEEN "20210301" AND "20210331")
AND (`a`.`is_deleted` = "0")
```
This is a particular challenge with bridging entities....
https://dmaster.localhost:32353/civicrm/admin/search#/create/Contact?params=%7B%22version%22:4,%22select%22:%5B%22id%22,%22Contact_RelationshipCache_Contact_01.display_name%22,%22display_name%22,%22Contact_RelationshipCache_Contact_01.birth_date%22,%22gender_id:label%22,%22Contact_ActivityContact_Activity_01.subject%22%5D,%22orderBy%22:%7B%7D,%22where%22:%5B%5B%22Contact_RelationshipCache_Contact_01.birth_date%22,%22%3D%22,%22this.month%22%5D,%5B%22Contact_ActivityContact_Activity_01.id%22,%22IS%20NULL%22%5D%5D,%22groupBy%22:%5B%5D,%22join%22:%5B%5B%22Contact%20AS%20Contact_RelationshipCache_Contact_01%22,true,%22RelationshipCache%22,%5B%22id%22,%22%3D%22,%22Contact_RelationshipCache_Contact_01.far_contact_id%22%5D,%5B%22Contact_RelationshipCache_Contact_01.near_relation:name%22,%22%3D%22,%22%5C%22Child%20of%5C%22%22%5D%5D,%5B%22Activity%20AS%20Contact_ActivityContact_Activity_01%22,false,%22ActivityContact%22,%5B%22id%22,%22%3D%22,%22Contact_ActivityContact_Activity_01.contact_id%22%5D,%5B%22Contact_ActivityContact_Activity_01.record_type_id:name%22,%22%3D%22,%22%5C%22Activity%20Targets%5C%22%22%5D,%5B%22Contact_ActivityContact_Activity_01.activity_type_id:name%22,%22%3D%22,%22%5C%22Meeting%5C%22%22%5D%5D%5D,%22having%22:%5B%5D%7D5.37.0https://lab.civicrm.org/dev/core/-/issues/2437figure out a way to warn about potentially bad sums2023-07-04T05:03:26Zeileenfigure out a way to warn about potentially bad sumsThis is the left join problem - let's assume the search wants to get a list of dad's along with their total contributions - you would construct a search like the one below. However if the dad has 2 children the contribution amount will b...This is the left join problem - let's assume the search wants to get a list of dad's along with their total contributions - you would construct a search like the one below. However if the dad has 2 children the contribution amount will be doubled.
There is no easy answer but potentially we could at least find some way of making them aware there COULD be a problem
![image](/uploads/442277cfb87e21c8e01b4cdc1c3d353c/image.png)
https://dmaster.localhost:32353/civicrm/admin/search#/create/Contact?params=%7B%22version%22:4,%22select%22:%5B%22id%22,%22display_name%22,%22GROUP_CONCAT(Contact_RelationshipCache_Contact_01.display_name)%20AS%20GROUP_CONCAT_Contact_RelationshipCache_Contact_01_display_name%22,%22GROUP_CONCAT(Contact_RelationshipCache_Contact_01.birth_date)%20AS%20GROUP_CONCAT_Contact_RelationshipCache_Contact_01_birth_date%22,%22gender_id:label%22,%22SUM(Contact_Contribution_contact_id_01.total_amount)%20AS%20SUM_Contact_Contribution_contact_id_01_total_amount%22%5D,%22orderBy%22:%7B%7D,%22where%22:%5B%5D,%22groupBy%22:%5B%22id%22%5D,%22join%22:%5B%5B%22Contact%20AS%20Contact_RelationshipCache_Contact_01%22,true,%22RelationshipCache%22,%5B%22id%22,%22%3D%22,%22Contact_RelationshipCache_Contact_01.far_contact_id%22%5D,%5B%22Contact_RelationshipCache_Contact_01.near_relation:name%22,%22%3D%22,%22%5C%22Child%20of%5C%22%22%5D%5D,%5B%22Contribution%20AS%20Contact_Contribution_contact_id_01%22,false,%5B%22id%22,%22%3D%22,%22Contact_Contribution_contact_id_01.contact_id%22%5D%5D%5D,%22having%22:%5B%5D%7Dhttps://lab.civicrm.org/dev/core/-/issues/2436WordPress - redirect after login from event registration or contribution page2021-10-16T08:05:34Zaydunsaidan.saunders@squiffle.ukWordPress - redirect after login from event registration or contribution pageOverview
----------------------------------------
If you create an event or contribution page using a profile that allows or requires CMS user account creation then the event registration / contribution page adds the message 'If you alre...Overview
----------------------------------------
If you create an event or contribution page using a profile that allows or requires CMS user account creation then the event registration / contribution page adds the message 'If you already have an account please login before completing this form.' with 'please login' linked to the login page.
Current behaviour
----------------------------------------
On Drupal, the user should be(*) redirected back to the event registration / contribution page after logging in.
On WordPress, the user is left on the WP profile page after logging in.
Proposed behaviour
----------------------------------------
On WP, redirect back to the event registration / contribution page. This improves the user experience when registering for an event or contributing by taking them back to the page that prompted them to log in.
(*)Drupal7 behaviour is broken but that's a different issue...aydunsaidan.saunders@squiffle.ukaydunsaidan.saunders@squiffle.ukhttps://lab.civicrm.org/dev/core/-/issues/2435Save fields button on export screen is not permissioned2023-05-24T06:21:51ZandyburnsSave fields button on export screen is not permissionedI cannot find in the code where the _Save Fields_ button is and therefore what permission is needed to save export mappings.
![image](/uploads/e9be7ed19215554edc7e6397dde46518/image.png)
Currently there is no core permission on who ca...I cannot find in the code where the _Save Fields_ button is and therefore what permission is needed to save export mappings.
![image](/uploads/e9be7ed19215554edc7e6397dde46518/image.png)
Currently there is no core permission on who can export. There is [this extension](https://github.com/progressivetech/net.ourpowerbase.exportpermission/blob/master/README.md) that hides the seach action of export but does not effect the actual export mappings screen.
Currently, non-admins try to save a field mapping and it just spins causing user confusion. What permission is currently needed to save field mappings? I think the logical solution is to get a permission added on saving field mappings button so users that don't have that permission do not see it.https://lab.civicrm.org/dev/core/-/issues/2434Selecting of price sets not working anymore2021-03-04T02:00:26ZjaapjansmaSelecting of price sets not working anymoreWhen you create a new event and at fees want to enter a price you have to enter an ID of the price set in the field ID.
Previously this was a drop down where the field was called Price set and one could select a price set.
**CiviCRM 5.3...When you create a new event and at fees want to enter a price you have to enter an ID of the price set in the field ID.
Previously this was a drop down where the field was called Price set and one could select a price set.
**CiviCRM 5.34**
![Screenshot_20210303_151857](/uploads/ca64e1cf76e8a5ec86a2bde962eae84e/Screenshot_20210303_151857.png)
**CiviCRM 5.36.alpha1**
![Screenshot_20210303_151836](/uploads/917956be909f62568ae02afc2c3cb104/Screenshot_20210303_151836.png)
This is possibly introduced after 5.34 with this PR: https://github.com/civicrm/civicrm-core/commit/a0a2c91da774c540ad859c2c73df669a3cdf4a325.36.0https://lab.civicrm.org/dev/core/-/issues/2433Changing participant to another event fee hangs2023-07-02T05:03:21ZjaapjansmaChanging participant to another event fee hangsChanging a selection on an event registration sometimes hangs.
After changing the selection a few times the wrong amount is displayed in the contact card Event tab and on in the screen on view participant.
**How to reproduce**
1. Creat...Changing a selection on an event registration sometimes hangs.
After changing the selection a few times the wrong amount is displayed in the contact card Event tab and on in the screen on view participant.
**How to reproduce**
1. Create an event with online registration and a fee of $ 12.90 (called Min), $ 200 (called Family) and $ 897,654,321.99 (called Max). Also add a dummy payment processor.
2. Register via online registration and select Max and pay with the dummy payment processor.
3. Now go to the contact card and click Event and click on Edit behind the registration.
4. In the next screen click on Change Selection and change Max to Family.
**Environment**
- _dmaster.demo.civicrm.org_
- Drupal 7
- CiviCRM: 5.36.aplha1https://lab.civicrm.org/dev/core/-/issues/2432Amount field at a contribution has a max length of 14 characters2023-07-03T05:03:17ZjaapjansmaAmount field at a contribution has a max length of 14 charactersWith the default localization settings (. as a decimal separator and , as a thousand separator) it is not possible to enter an amount such as 654,321.987654321
The amount field has a max length of 14 characters so 654,321.987654321 beco...With the default localization settings (. as a decimal separator and , as a thousand separator) it is not possible to enter an amount such as 654,321.987654321
The amount field has a max length of 14 characters so 654,321.987654321 becomes 654,321.987654
**How to reproduce**
1. First check your localization settings
2. Go to a contact and click under actions --> Add Contribution
3. Enter the amount of 654,321.987654321
**Proposed solution**
Remove the max length constraint on the input element and rather validate the input on whether it is a correct amount.
**Also on**
On the edit/add membership type screen the minimum fee is also limited to 14 characters.
**Environment**
_dmaster.demo.civicrm.org_
Drupal 7
CiviCRM version 5.36.alpha1https://lab.civicrm.org/dev/core/-/issues/2431membership_id not included in membership contribution creation2023-05-18T23:17:12ZDon Wijesooriyamembership_id not included in membership contribution creationOverview
----------------------------------------
When creating a contribution for a membership via add membership form, membership_id is not passed to the contribution.
I am not sure if this is intended behaviour as part of PR 18855, ...Overview
----------------------------------------
When creating a contribution for a membership via add membership form, membership_id is not passed to the contribution.
I am not sure if this is intended behaviour as part of PR 18855, and membership payment is created later when creating line items.
Reproduction steps
----------------------------------------
1. Add a new membership
Current behaviour
----------------------------------------
membership_id is not included in contribution params
Expected behaviour
----------------------------------------
membership_id was included in contribution params before 5.34.0. This was done as part of https://github.com/civicrm/civicrm-core/pull/18855
Environment information
----------------------------------------
* __CiviCRM:__ 5.34.0
* __CMS:__ Drupal
Comments
----------------------------------------
Happy to close this if this is intended behaviour. But is an issue in extensions that relied on membership_id to be passed inhttps://lab.civicrm.org/dev/core/-/issues/2430Searchkit developer pain point2021-03-18T02:13:40ZeileenSearchkit developer pain pointhttps://lab.civicrm.org/dev/core/-/issues/2429"Class not found" error on `\Civi\*` because hook_civicrm_config runs after h...2021-03-08T16:34:44ZJonGold"Class not found" error on `\Civi\*` because hook_civicrm_config runs after hook_civicrm_container`hook_civicrm_config` is responsible for telling the autoloader which classes exist in extensions, so must run before any other hooks.
However:
* `hook_civicrm_fieldOptions` is called before `hook_civicrm_config`; this is issue #1132, a...`hook_civicrm_config` is responsible for telling the autoloader which classes exist in extensions, so must run before any other hooks.
However:
* `hook_civicrm_fieldOptions` is called before `hook_civicrm_config`; this is issue #1132, and there's a [PR](https://github.com/civicrm/civicrm-core/pull/19580).
* `hook_civicrm_container` runs before `hook_civicrm_config`; this ticket discusses that.
Here are some examples (with backtraces):
* Issue #2334 appears to be this issue.
There's also the backtrace below, which happens when my Drupal cron runs.
This only happens on classes in the `\Civi` namespace, which isn't as common in extensions, which is why this isn't more widespread.
I don't know enough about `hook_civicrm_config` and `hook_civicrm_container`, but it seems we should guarantee that `hook_civicrm_config` always runs first.
```
Mar 02 15:54:01 [debug] $pdfapi-backtrace = #0 /var/www/mysite.org/web/sites/all/civicrm-custom/extensions/org.civicoop.pdfapi/pdfapi.php(14): CRM_Core_Error::backtrace("pdfapi-backtrace", TRUE)
#1 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(271): pdfapi_civicrm_container(Object(Symfony\Component\DependencyInjection\ContainerBuilder))
#2 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Utils/Hook/DrupalBase.php(73): CRM_Utils_Hook->runHooks((Array:99), "civicrm_container", 1, Object(Symfony\Component\DependencyInjection\ContainerBuilder), NULL, NULL, NULL, NULL, NULL)
#3 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(168): CRM_Utils_Hook_DrupalBase->invokeViaUF(1, Object(Symfony\Component\DependencyInjection\ContainerBuilder), NULL, NULL, NULL, NULL, NULL, "civicrm_container")
#4 /var/www/mysite.org/web/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(214): Civi\Core\CiviEventDispatcher::delegateToUF(Object(Civi\Core\Event\GenericHookEvent), "hook_civicrm_container", Object(Civi\Core\CiviEventDispatcher))
#5 /var/www/mysite.org/web/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(44): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch((Array:1), "hook_civicrm_container", Object(Civi\Core\Event\GenericHookEvent))
#6 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(129): Symfony\Component\EventDispatcher\EventDispatcher->dispatch("hook_civicrm_container", Object(Civi\Core\Event\GenericHookEvent))
#7 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(167): Civi\Core\CiviEventDispatcher->dispatch("hook_civicrm_container", Object(Civi\Core\Event\GenericHookEvent))
#8 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(2523): CRM_Utils_Hook->invoke((Array:1), Object(Symfony\Component\DependencyInjection\ContainerBuilder), NULL, NULL, NULL, NULL, NULL, "civicrm_container")
#9 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Core/Container.php(334): CRM_Utils_Hook::container(Object(Symfony\Component\DependencyInjection\ContainerBuilder))
#10 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Core/Container.php(69): Civi\Core\Container->createContainer()
#11 /var/www/mysite.org/web/sites/all/modules/civicrm/Civi/Core/Container.php(564): Civi\Core\Container->loadContainer()
#12 /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Core/Config.php(93): Civi\Core\Container::boot(TRUE)
#13 /var/www/mysite.org/web/sites/all/modules/civicrm/drupal/civicrm.module(227): CRM_Core_Config::singleton()
#14 /var/www/mysite.org/web/sites/all/modules/civicrm/drupal/modules/civicrmtheme/civicrmtheme.module(98): civicrm_initialize()
#15 /var/www/mysite.org/web/includes/module.inc(965): civicrmtheme_custom_theme()
#16 /var/www/mysite.org/web/includes/menu.inc(1760): module_invoke_all("custom_theme")
#17 /var/www/mysite.org/web/includes/menu.inc(1782): menu_get_custom_theme(TRUE)
#18 /var/www/mysite.org/web/includes/common.inc(5376): menu_set_custom_theme()
#19 /var/www/mysite.org/web/includes/bootstrap.inc(2552): _drupal_bootstrap_full()
#20 /usr/local/src/drush7/lib/Drush/Boot/DrupalBoot7.php(74): drupal_bootstrap(7)
#21 /usr/local/src/drush7/includes/bootstrap.inc(313): Drush\Boot\DrupalBoot7->bootstrap_drupal_full()
#22 /usr/local/src/drush7/includes/bootstrap.inc(429): drush_bootstrap(5, 6)
#23 /usr/local/src/drush7/lib/Drush/Boot/BaseBoot.php(56): drush_bootstrap_to_phase(6)
#24 /usr/local/src/drush7/drush.php(70): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#25 /usr/local/src/drush7/drush.php(11): drush_main()
#26 {main}
```https://lab.civicrm.org/dev/core/-/issues/2428Searchkit relationship type field issues2021-03-05T03:09:50ZeileenSearchkit relationship type field issuesI was trying to replicate a 5.35 issue around relationship type and could not find the relationship type field on master. I've now found it - so the question becomes - is the way I tried to find it different to others (in which case it's...I was trying to replicate a 5.35 issue around relationship type and could not find the relationship type field on master. I've now found it - so the question becomes - is the way I tried to find it different to others (in which case it's a case of 'get over it') or would others look for the field like this
![image](/uploads/cfe15a3016aa331325a5763fd5f48d45/image.png)
Here is how you actually find it
![image](/uploads/6f3a868943f0157f5a638d127d22b328/image.png)https://lab.civicrm.org/dev/core/-/issues/2427User Creation fails on 5.34+2021-03-01T19:58:31ZkcristianoUser Creation fails on 5.34+As reported on [Mattermost](https://chat.civicrm.org/civicrm/pl/96r1mb4743fkfn59s6rn5gzguc) User Creation is not working on WP and CiviCRM 5.34. I was able to reproduce and also tested against RC.
Test Enviornment:
- WP 5.6.2
- Civi...As reported on [Mattermost](https://chat.civicrm.org/civicrm/pl/96r1mb4743fkfn59s6rn5gzguc) User Creation is not working on WP and CiviCRM 5.34. I was able to reproduce and also tested against RC.
Test Enviornment:
- WP 5.6.2
- CiviCRM 5.35-RC
- php 7.3
Using a buildkit install, make account creation required on the Name and Address profile.
Add the profile to the `Help Support CiviCRM` page.
The form will ask for credentials, but no CMS user account is created.
Tested on CiviCRM 5.33.2, user account creation works.
I also tested with WP version 5.4.4 and 5.5.2 - this made no difference, the bug starts with CiviCRM 5.34.0
@haystack any immediate thoughts?
EDIT:
Nothing in my logs at all - debug log is empty. Revert of recent commits in CRM_Utils_System_WordPress has no change.5.35.0https://lab.civicrm.org/dev/wordpress/-/issues/94User Creation fails on 5.34+2021-02-28T23:51:57ZkcristianoUser Creation fails on 5.34+As reported on [Mattermost](https://chat.civicrm.org/civicrm/pl/96r1mb4743fkfn59s6rn5gzguc) User Creation is not working on WP and CiviCRM 5.34. I was able to reproduce and also tested against RC.
Test Enviornment:
- WP 5.6.2
- Civi...As reported on [Mattermost](https://chat.civicrm.org/civicrm/pl/96r1mb4743fkfn59s6rn5gzguc) User Creation is not working on WP and CiviCRM 5.34. I was able to reproduce and also tested against RC.
Test Enviornment:
- WP 5.6.2
- CiviCRM 5.35-RC
- php 7.3
Using a buildkit install, make account creation required on the Name and Address profile.
Add the profile to the `Help Support CiviCRM` page.
The form will ask for credentials, but no CMS user account is created.
Tested on CiviCRM 5.33.2, user account creation works.
I also tested with WP version 5.4.4 and 5.5.2 - this made no difference, the bug starts with CiviCRM 5.34.0
@haystack any immediate thoughts?
EDIT:
Nothing in my logs at all - debug log is empty. Revert of recent commits in CRM_Utils_System_WordPress has no change.https://lab.civicrm.org/dev/core/-/issues/2426Dashboard Query failed to detect existing record for contact2021-03-02T20:35:43ZsunilDashboard Query failed to detect existing record for contactOverview
----------------------------------------
Steps to Re-create issue
Create New role with limit permission
```
view all activities
access CiviCRM backend and API
add contact notes
access CiviMember
access CiviMail
access CiviRepor...Overview
----------------------------------------
Steps to Re-create issue
Create New role with limit permission
```
view all activities
access CiviCRM backend and API
add contact notes
access CiviMember
access CiviMail
access CiviReport
access Report Criteria
```
Create New user and assign new role.
Now login, and click on CiviCRM menu. Dashboard screen showing DB Error message.
We are using API 4 to fetch the dashboard contact details.
Since role have limited access it uses ACL clause.
Here is full Query.
```sql
SELECT
`a`.`id` AS `id`,
`a`.`domain_id` AS `domain_id`,
`a`.`name` AS `name`,
`a`.`label` AS `label`,
`a`.`url` AS `url`,
`a`.`permission` AS `permission`,
`a`.`permission_operator` AS `permission_operator`,
`a`.`fullscreen_url` AS `fullscreen_url`,
`a`.`is_active` AS `is_active`,
`a`.`is_reserved` AS `is_reserved`,
`a`.`cache_minutes` AS `cache_minutes`,
`a`.`directive` AS `directive`,
`dashboard_contact`.`id` AS `dashboard_contact.id`,
`dashboard_contact`.`dashboard_id` AS `dashboard_contact.dashboard_id`,
`dashboard_contact`.`contact_id` AS `dashboard_contact.contact_id`,
`dashboard_contact`.`column_no` AS `dashboard_contact.column_no`,
`dashboard_contact`.`is_active` AS `dashboard_contact.is_active`,
`dashboard_contact`.`weight` AS `dashboard_contact.weight`
FROM civicrm_dashboard a
LEFT JOIN `civicrm_dashboard_contact` `dashboard_contact`
ON (
`dashboard_contact`.`contact_id` IS NULL
OR (`dashboard_contact`.`contact_id` IN (
SELECT contact_id FROM civicrm_acl_contact_cache WHERE user_id = 210
)
AND `dashboard_contact`.`contact_id` IN -- AND has be OR
(
SELECT `id` FROM `civicrm_contact` WHERE is_deleted != 1
)
)
)
AND `dashboard_contact`.`dashboard_id` = `a`.`id` AND `dashboard_contact`.`contact_id` = 210
WHERE (`a`.`domain_id` = "1")
and a.name = 'getting-started' -- added this for testing single record
ORDER BY `dashboard_contact`.`weight` ASC
```
ACL Query is generated from here : https://github.com/civicrm/civicrm-core/blob/f7dc44067e309188431deb793e74cb18bdd97827/CRM/Core/DAO.php#L3003
```sql
(`dashboard_contact`.`contact_id` IS NULL
OR
(`dashboard_contact`.`contact_id` IN (SELECT contact_id FROM civicrm_acl_contact_cache WHERE user_id = 210)
AND
`dashboard_contact`.`contact_id` IN (SELECT `id` FROM `civicrm_contact` WHERE is_deleted != 1)))
```
IF we changes
```diff
index b80bc54575..d7d3903e28 100644
--- a/CRM/Core/DAO.php
+++ b/CRM/Core/DAO.php
@@ -3000,7 +3000,7 @@ SELECT contact_id
foreach ((array) $bao->addSelectWhereClause() as $field => $vals) {
$clauses[$field] = NULL;
if ($vals) {
- $clauses[$field] = "(`$tableAlias`.`$field` IS NULL OR (`$tableAlias`.`$field` " . implode(" AND `$tableAlias`.`$field` ", (array) $vals) . '))';
+ $clauses[$field] = "(`$tableAlias`.`$field` IS NULL OR (`$tableAlias`.`$field` " . implode(" OR `$tableAlias`.`$field` ", (array) $vals) . '))';
}
}
```
ACL Query changed to
```sql
(`dashboard_contact`.`contact_id` IS NULL
OR
(`dashboard_contact`.`contact_id` IN (SELECT contact_id FROM civicrm_acl_contact_cache WHERE user_id = 210)
OR
`dashboard_contact`.`contact_id` IN (SELECT `id` FROM `civicrm_contact` WHERE is_deleted != 1)))
```
Dashboard function is able to detect dashlet is present of contact
https://github.com/civicrm/civicrm-core/blob/f7dc44067e309188431deb793e74cb18bdd97827/CRM/Core/BAO/Dashboard.php#L62
And there no insert statement
Otherwise We get sql query to insert new record and get DB Error
```sql
INSERT INTO `civicrm_dashboard_contact` (`dashboard_id` , `contact_id` , `column_no` , `is_active` ) VALUES ( 1 , 210 , 1 , 1 )
[nativecode=1062 ** Duplicate entry '1-210' for key 'index_dashboard_id_contact_id']"
```
Tested on 5.36.alpha15.36.0https://lab.civicrm.org/dev/core/-/issues/2425php 7.4 Notice: Trying to access array offset on value of type null saving a ...2021-04-07T19:48:03ZDaveDphp 7.4 Notice: Trying to access array offset on value of type null saving a contribution`Notice: Trying to access array offset on value of type null in CRM_Contribute_Form_Contribution::formRule() (line 920 of CRM\Contribute\Form\Contribution.php).`
This is a new error with php 7.4 that you don't see in php 7.3 but the civ...`Notice: Trying to access array offset on value of type null in CRM_Contribute_Form_Contribution::formRule() (line 920 of CRM\Contribute\Form\Contribution.php).`
This is a new error with php 7.4 that you don't see in php 7.3 but the civi issue goes back at least to 5.24 probably farther.
Nothing special about this contribution or the config. Just a simple donation.
`$this->_priceSet` is null, so the question is should it be. There's some code in submit() that seems to assume there is always at least one price set defined and I vaguely remember something somewhere about treating non-price set entries as if they were price sets, but many other places in the form check first if priceset is defined.5.37.0https://lab.civicrm.org/dev/wordpress/-/issues/93WordPress, PayPal IPN fails when CiviCRM Contribution Page shortcode is used ...2021-05-04T00:57:22Zjustinfreeman (Agileware)WordPress, PayPal IPN fails when CiviCRM Contribution Page shortcode is used on a page which requires login to access eg. Private page.WordPress, PayPal IPN fails when CiviCRM Contribution Page shortcode is used on a page which requires login to access eg. Private page.
PayPal IPN will attempt to access the Private page, WordPress will redirect to the login page and th...WordPress, PayPal IPN fails when CiviCRM Contribution Page shortcode is used on a page which requires login to access eg. Private page.
PayPal IPN will attempt to access the Private page, WordPress will redirect to the login page and the IPN fails.
It is expected that the PayPal IPN should succeed by calling a general CiviCRM URL for PayPal rather than the actual CiviCRM Contribution Page. This should not be confused with the return URL PayPal calls in the web browser which then loads the CiviCRM Thank You page.
There can be many valid reasons for having a CiviCRM Contribution Page shortcode used on a Private page, for example: users must be logged in to renew membership, or only logged in users can purchase a "widget".
Agileware Ref: CIVICRM-1668
WordPress 5.6
CiviCRM 5.33.25.38.0https://lab.civicrm.org/dev/core/-/issues/2424Navigation menu order2021-02-25T14:34:55ZjaapjansmaNavigation menu orderChanging the order of navigation menu items by programming code doesn't work.
For example in my extension I have a navigation item which I want to show at the top of the search menu.
So I give it a weight of -100. (A lower weight means ...Changing the order of navigation menu items by programming code doesn't work.
For example in my extension I have a navigation item which I want to show at the top of the search menu.
So I give it a weight of -100. (A lower weight means sorting to top, a higher weight sorting to bottom).
```php
_testnav_civix_insert_navigation_menu($menu, 'Search', array(
'label' => E::ts('Test Navigation'),
'name' => 'test_navigation',
'url' => 'civicrm/mypage',
'permission' => 'access CiviCRM',
'operator' => 'OR',
'separator' => 0,
'weight' => -100
));
_testnav_civix_navigationMenu($menu);
}
```
However the code above does't work.
**Additional details**
CiviCRM Version 5.36.alpha1
Drupal 8https://lab.civicrm.org/dev/financial/-/issues/168Preparing PayPal & 3DS2023-09-15T02:08:57Zjoshjosh@civicrm.orgPreparing PayPal & 3DSIn a recent discussion with PayPal we learned about changes coming to their product line as a result of current 3DS adoption in the UK, EU and expected adoption in the future. This appears to be most relevant to merchants using PayPal Pr...In a recent discussion with PayPal we learned about changes coming to their product line as a result of current 3DS adoption in the UK, EU and expected adoption in the future. This appears to be most relevant to merchants using PayPal Pro.
Currently, merchants in the UK and EU using PayPal Pro will experience an increase in declines as a result of 3DS enforcement. While the absolute number of CiviCRM users in both areas is low to modest, there are several rather large users, so the payment volume is sizable.
PayPal Pro does not support current 3DS parameters (version 1.0) and will not support future versions (version 2.0 arrives in October iirc). In essence, PayPal Pro does not support 3DS. In fact, they are phasing it out in favor of PayPal Commerce (venmo, apple pay, etc.), which is 3DS compliant.
PayPal expects 3DS enforcement to arrive in more countries such as CA and AU next, followed (eventually, ahem) by the US.
PayPal products that do not support direct card payment, i.e. Express and Standard, are not affected.
PayPal is advising partners to notify their merchants of the impending change and is recommending that partners build integrations with PayPal Commerce (or braintree, though they recommend Commerce for nonprofit organizations).https://lab.civicrm.org/dev/core/-/issues/2423Some Multi-Select Custom Fields cannot be saved2021-08-18T13:57:49ZhaystackSome Multi-Select Custom Fields cannot be savedOverview
----------------------------------------
The following Custom Field types cannot be saved in the CiviCRM UI nor via API v3:
* Integer Drop-down Multi-Select
* Number Drop-down Multi-Select
* Money Drop-down Multi-Select
They r...Overview
----------------------------------------
The following Custom Field types cannot be saved in the CiviCRM UI nor via API v3:
* Integer Drop-down Multi-Select
* Number Drop-down Multi-Select
* Money Drop-down Multi-Select
They result in the following errors respectively:
* `One of parameters (value: *2*4*) is not of the type Timestamp`
* `One of parameters (value: *2*4*) is not of the type Float`
* `One of parameters (value: *2.99*3.99*1.99*) is not of the type Money`
(Where the * characters above are actually `CRM_Core_DAO::VALUE_SEPARATOR`)
As per [this discussion on MatterMost](https://chat.civicrm.org/civicrm/pl/6ku8g6rs3bnxtk8wtrydtrahhy).
Reproduction steps
----------------------------------------
1. Create a Custom Field of type `Integer`, `Number` or `Money`
1. Select the "Multi-Select" checkbox
1. Add some values for the Select
Values cannot be saved in the CiviCRM UI nor via API v3, e.g.
```php
$result = civicrm_api3('Contact', 'create', [
'id' => 210,
'contact_type' => "Individual",
'custom_20' => [2, 4],
]);
```
Current behaviour
----------------------------------------
Error messages as above.
Expected behaviour
----------------------------------------
The items in the "serialised array" should be checked for their respective types rather than testing the "serialised array" itself and, if valid, should be saved.
Environment information
----------------------------------------
Found in CiviCRM 5.34.0 but almost certainly present since 5.27 and likely a result of [this PR](https://github.com/civicrm/civicrm-core/pull/16992) which introduced the "Multi-Select" checkbox for all Custom Fields of type "Select". Prior to 5.27 `Integer`, `Number` and `Money` did not have a "Multi-Select" option.5.35.0