CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2024-03-20T13:55:38Zhttps://lab.civicrm.org/dev/core/-/issues/5102Allow access to API params from Api4Query2024-03-20T13:55:38ZMichael McAndrewAllow access to API params from Api4QueryContext:
* I am adding an 'extra' calculated field to a spec provider for a custom entity.
* The value of this extra calculated field depends on a parameter passed to the get action.
* I have access to the query in the setSqlRenderer me...Context:
* I am adding an 'extra' calculated field to a spec provider for a custom entity.
* The value of this extra calculated field depends on a parameter passed to the get action.
* I have access to the query in the setSqlRenderer method (which contains a _protected_ API object) but there doesn't appear to be a way to access the API parameters.
Adding the following method to Api4Query allows read only access to API params and seems inline with other methods like `getSelect()`, but feel free to let me know if I am doing it wrong and there is a better approach.
```php
/**
* @return mixed
*/
public function getParam(string $param) {
return call_user_func([$this->api, 'get'.ucfirst($param)]);
}
```
PR coming up...https://lab.civicrm.org/dev/core/-/issues/20Can't place a contribution widget on a Contribution Page2023-11-23T07:47:01ZJonGoldCan't place a contribution widget on a Contribution PageWhen you attempt to place a contribution widget on its own contribution page in the "Inroductory Message" section, you get the error:
`Illegal characters in input (potential scripting attack)`
I confirmed this is a regression by replica...When you attempt to place a contribution widget on its own contribution page in the "Inroductory Message" section, you get the error:
`Illegal characters in input (potential scripting attack)`
I confirmed this is a regression by replicating the problem on the Drupal demo site (4.7) and confirming it didn't exist ion the Joomla site (4.6). I'm pretty sure it didn't happen earlier in the 4.7 cycle either.https://lab.civicrm.org/dev/core/-/issues/3587Unable to load the recipients group when sending mailing with Civimail2023-10-05T15:41:24ZmarzastUnable to load the recipients group when sending mailing with CivimailI am running CiviCRM 5.17.4 on Wordpress 5.2.3. The problem I am facing is that I am unable to send mailing to mailing lists (defined as groups) via CiviMail.
When I try to enter the group in the Recipients box I get Loading Failed mess...I am running CiviCRM 5.17.4 on Wordpress 5.2.3. The problem I am facing is that I am unable to send mailing to mailing lists (defined as groups) via CiviMail.
When I try to enter the group in the Recipients box I get Loading Failed message and none of the available groups is loaded (see image below). The problem appears for existing and new mailings.
Interestingly when I re-use the existing mailing I can still send it to a previously used group (though I cannot change the recipient lists). The groups load normally in manage group page.
![aE8nz](/uploads/dca6a15c237cbb7612df433a31b769d5/aE8nz.png)
*Issue already reported on CiviCRM Stack Exchange: https://civicrm.stackexchange.com/questions/33070/unable-to-load-the-recipients-group-when-sending-mailing-with-civimail*https://lab.civicrm.org/dev/core/-/issues/2957Possibility to add a status message (alert box) after screen submission in Fo...2023-09-13T10:33:15ZErikHommelPossibility to add a status message (alert box) after screen submission in FormBuilderOverview
----------------------------------------
I would like to be able to send a status message (for example: Activity saved etc.) once a form that I have created with the FormBuilder is submitted.
Current behaviour
-----------------...Overview
----------------------------------------
I would like to be able to send a status message (for example: Activity saved etc.) once a form that I have created with the FormBuilder is submitted.
Current behaviour
----------------------------------------
At the moment I have created a form with FormBuilder which I use to add data, for example an activity. Right now once I have entered data and hit the "submit" button I am returned to whatever page I have entered at the Post Submit Page, but I do not get confirmation that my data has been saved.
Proposed behaviour
----------------------------------------
I would like to be able to specify that I want a status message when I have created, updated or deleted data.https://lab.civicrm.org/dev/core/-/issues/3567CiviMail: Provide transparency about (non)recipient details2023-09-05T10:28:43ZtottenCiviMail: Provide transparency about (non)recipient detailsTwo stories which are not-uncommon:
## Story 1
Someone starts using CiviMail. They spend a bunch of time arranging for the list of contacts (e.g. migrating from a previous system) and then go to send a mailing. They start composing a m...Two stories which are not-uncommon:
## Story 1
Someone starts using CiviMail. They spend a bunch of time arranging for the list of contacts (e.g. migrating from a previous system) and then go to send a mailing. They start composing a message and realize that the number of recipients is way off. What's going on? They start searching Google, Stackexchange, etc trying to understand why. Eventually, they learn that there are a half-dozen rules about who gets included or excluded from a mailing. (*Does the contact have an email address? Are they deceased? Have they opted-out of the specific mailing list? Have they opted-out of email generally? Have they had bounces? Does an extension - like GDPR - add more constraints?*) But they haven't solved the issue yet: now they need to figure out which criteria are affecting them, to what extent, and how to adapt.
And of course people have this problem - the "New Mailing" UX only presents the affirmative list of active recipients. It doesn't give any hint or detail about the omitted recipients.
![Screen_Shot_2019-09-03_at_12.58.40_PM](/uploads/73d40846bf379562ed119a317163b4e9/Screen_Shot_2019-09-03_at_12.58.40_PM.png)
## Story 2
A new user composes an email blast and discovers this incredible drop-down button with a list of tokens. They start throwing in tokens like there's no tomorrow. The blast goes out, and recipients complain: "Why are you sending me these weird messages with skipped words?"
And, again, of course people have this problem - the "New Mailing" UX lets you choose tokens without knowing if your recipient-data is up to the job.
## Discussion
These two stories are thematically similar: in both cases, we have a long list of potential recipients, and we have obscure/hidden criteria which determines whether the mailing goes out successfully to the target audience.
In both cases, there needs to be more transparency - adding UI-elements/UX-mechanisms to communicate what's going on. For example, the data-table in the pop-up might be updated with more columns/icons/color-coding.
I've logged the issue because I think, at some point, there should be discussion around design/resourcing. I don't want to prejudge that by saying the UX mechanisms to resolve these two issues must or must-not be the same - they might be totally different, or they might be one data-table. Either way, I think it's good to have a record of the issue.
## Related Links
* https://chat.civicrm.org/civicrm/pl/nn5rjzwiz3fc78pgojmhubx89a
* https://civicrm.org/blog/simonparkervitiligosocietyorguk/solution-all-recipients-not-showing-up-for-sending-mass-email
* https://civicrm.stackexchange.com/questions/5086/civimail-does-not-send-to-a-whole-group
* https://civicrm.stackexchange.com/questions/6346/after-import-to-group-individuals-in-that-group-not-showing-up-as-recipients-to
* https://civicrm.stackexchange.com/questions/26320/contacts-visible-in-mailing-list-group-not-on-hold-or-otherwise-dnd-but-skippe
* https://civicrm.stackexchange.com/questions/18199/in-mailing-all-recipients-are-not-showing/18201#18201
* https://civicrm.org/extensions/zombie-checkhttps://lab.civicrm.org/dev/core/-/issues/4107Disabling an extension should not remove associated permissions from the CMS2023-07-05T22:19:53ZlarsssandergreenDisabling an extension should not remove associated permissions from the CMSDisabling an extension doesn't erase any settings for the extension, except if there is an associated permission in the CMS, which is removed on disabling the extension. When you later re-enable the extension, no one has the permission w...Disabling an extension doesn't erase any settings for the extension, except if there is an associated permission in the CMS, which is removed on disabling the extension. When you later re-enable the extension, no one has the permission which is re-added. This is inconsistent with how all the other settings work and confusing for users and admins (who will wonder why they can't do what they used to be able to do). This came up for me with CDN Tax Receipts, but testing shows it seems to happen with other extensions too.
Is there any reason we couldn't just leave permissions in place on extension disable and remove them instead on uninstall?
Tested on 5.59 on D7.https://lab.civicrm.org/dev/core/-/issues/3478Afform - email delivery2023-06-29T15:47:01Zaydunsaidan.saunders@squiffle.ukAfform - email deliveryOverview
----------------------------------------
Add an action to enable scheduled Email Delivery of SearchKit results.
Reports provides settings to enable scheduled Email Delivery of reports. The lack of an option to do the same dete...Overview
----------------------------------------
Add an action to enable scheduled Email Delivery of SearchKit results.
Reports provides settings to enable scheduled Email Delivery of reports. The lack of an option to do the same deters some people from using SearchKit - see https://civicrm.stackexchange.com/q/41966/225
Comments
----------------------------------------
Not a high priority item but noting for parity with Reports functionality.https://lab.civicrm.org/dev/core/-/issues/4215CiviCRM geographical data is never accurate2023-06-17T22:10:12ZJonGoldCiviCRM geographical data is never accurateOverview
----------------------------------------
We are constantly finding problems with our lists of country names, state/province names, and state/province abbreviations. We're missing some, others are incorrect. Some folks [have th...Overview
----------------------------------------
We are constantly finding problems with our lists of country names, state/province names, and state/province abbreviations. We're missing some, others are incorrect. Some folks [have thought](https://forum.civicrm.org/index.php%3Ftopic=32877.0.html) it'd be nice to automate it.
Unfortunately, this isn't very straightforward. The ISO source we claim to follow isn't publicly available. Even at the country level - many official names differ from what we use (e.g. "United Kingdom" vs. "United Kingdom of Great Britain and Northern Ireland"). And even "official names" differ depending on whether we reference Wikipedia, the CIA, etc.
So some of our data is wrong by everyone's standard - but is it worth fixing state/provinces if we don't fix countries?
The code
----------------------------------------
For giggles, I wrote a dirty script to identify discrepancies between Civi data and published data called [civiregioncheck](https://github.com/MegaphoneJon/civiregioncheck). It's not complete because given the volume of necessary changes, I don't want to sink effort into finishing it if we can't take action on it.
Attached is a partial list of discrepancies:
* Country names that don't match ISO-3166-1.
* State/provinces that have a matching ISO-3166-1 country and ISO-3166-2 name, but the abbreviation is incorrect.
Ideally we also find state/provinces that are missing (or dissolved), and state/provinces with a matching abbreviation but incorrect name.
What next?
----------------------------------------
Are we really changing the UK (above) or "United States" to "United States of America"? And if not, where do we draw the line? ISO-3166-1 current specifies the official country name of Taiwan as "Taiwan, Province of China". And we include Kosovo despite it not having an official ISO 3166-1 code.
If this is too thorny to hash out, we'll go back to our patchwork process - but our data has hundreds of discrepancies.
[civi_geographic_discrepancies.csv](/uploads/b6a99ec66ef4f1affadab53b61027b1d/civi_geographic_discrepancies.csv)JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/31Cancelled auto-renew membership and scheduled reminders don't play nice2023-04-28T01:39:33ZkonadaveCancelled auto-renew membership and scheduled reminders don't play niceRecently upgraded a site from 4.6.21 to 4.7.27. Payment processor is iATS Payments, if that makes any difference.
When an auto-renew membership is cancelled, the contribution_recur_id field in civicrm_membership for that membership is l...Recently upgraded a site from 4.6.21 to 4.7.27. Payment processor is iATS Payments, if that makes any difference.
When an auto-renew membership is cancelled, the contribution_recur_id field in civicrm_membership for that membership is left as is.
Stated using scheduled reminders after the upgrade, and have one set up to send an email to auto-renew memberships one week in advance of their renewal so they're not surprised when their credit card is charged. Cancelled auto-renew memberships are receiving this reminder.
I honestly don't have time to do any testing or going exploring through code at the moment. For all I know this has been reported previously and is already fixed. But if it hasn't, I'm thinking that contribution_recur_id should be cleared when the recurring contribution is cancelled, or scheduled reminders should make sure the contribution_recur_id is not cancelled.https://lab.civicrm.org/dev/core/-/issues/1125Custom fieldsets participants added twice2023-02-15T15:13:29ZwdecraeneCustom fieldsets participants added twiceWhen editing a participant, some custom fieldsets are added twice to the participant edit form. When saving, only the data in the second fieldset is saved (so users think nothing happened when they added the data in the first instance of...When editing a participant, some custom fieldsets are added twice to the participant edit form. When saving, only the data in the second fieldset is saved (so users think nothing happened when they added the data in the first instance of the fieldset).
This only happens with fieldsets linked to a specific event type.
In templates/CRM/Event/Form/Participant.tpl:
```smarty
CRM.buildCustomData( '{$customDataType}', null, null );
{if $eventID}
CRM.buildCustomData( '{$customDataType}', {$eventID}, {$eventNameCustomDataTypeID} );
{/if}
{if $eventTypeID}
CRM.buildCustomData( '{$customDataType}', {$eventTypeID}, {$eventTypeCustomDataTypeID} );
{/if}
```
* First buildCustomData : adds all custom field sets, except those linked to a specific event id
* Second buildCustomData : adds all custom field sets linked to a event id
* Third buildCustomData : adds all custom field sets linked to a specific event type id
So the combination of the first and third one is the cause of fieldsets added twice.
Solution? Altering template, changing arguments, fixing getTree() in CRM/Core/BAO/CustomGroup.php, ... ?
See also
* https://issues.civicrm.org/jira/browse/CRM-10983
* https://issues.civicrm.org/jira/browse/CRM-20633https://lab.civicrm.org/dev/core/-/issues/3848Multisite: dashlet irregular behavior2022-10-11T10:18:48ZandyburnsMultisite: dashlet irregular behaviorWithin a multisite instance, the `civicrm_dashboard_contact` behavior is a bit odd with a new twist with SK dashlets switching domains in `civicrm_dashboard`. Examining the behavior of both CiviReport dashlets and Search Kit, below:
**C...Within a multisite instance, the `civicrm_dashboard_contact` behavior is a bit odd with a new twist with SK dashlets switching domains in `civicrm_dashboard`. Examining the behavior of both CiviReport dashlets and Search Kit, below:
**CiviReport Dashlets**
If you add a CiviReport to via "Available for Dashboard?", observe that it adds a row in `civicrm_dashboard_contact` for all users of multisite, not just those in your domain, even though CiviReports is domain-aware (this also occurs with SK dashlets). This occurs on all domains generating dashboards.
Within `civicrm_dashboard`, 1 entry exists for the domain it was created on, so there is no linkage for the dashlet to show on any of the domains even though it is added in `civicrm_dashboard_contact`. Therefore, it does not show for those users.
**Search Kit Dashlets**
One feature that would be powerful to have is to have global reports in multisite. Good news is Search Kit is close to achieving this, and I currently use a version of this today. You can create a display and link the page with a relative URL in your CMS nav for instance (e.g. /wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fsome-display) and it will be accessible to any domain on your multisite and respect ACL's, etc. However, as with CiviReport, the `civicrm_dashboard` is generated for 1 domain. I have done a test of inserting the SK dashboard (cloning in MySQL) on all domains so users now see dashlet in available dashlets. Once they drag it as an active dashlet, it generates the entry in `civicrm_dashboard_contact.` That's good :)
However, we observe that domain ID 1 where the dashlet was created with Form Builder, switches the domain ID to the last in the array of domains of the civicrm.settings.php file. This occurs before and after generating an entry for all domains. In this case, See below from the `log_civicrm_dashboard` as evidence:
![image](/uploads/238a4a1b9f1f1a052207c16cf5785ce6/image.png)
I have been switching it back to domain ID 1, manually. Observe below that even with domain 57 having an entry for the dashboard, it still switched domain ID 1 dashlet to 57, resulting in duplicate dashlets.
![image](/uploads/fca03a597d44747e818c230c89a04c6e/image.png)
For Search Kit dashlets, the behavior that is not clear cut. It can vary and is dependent on if it is intended to be 1) a dashlet for it's domain only, or 2) a global dashlet for all domains. With this in mind, it would NOT be desirous to generate an entry in `civicrm_dashboard` for all domains, I think this is best left to inserting directly to MySQL if you intend to make a dashboard for more than 1 domain, or some paid development to enable this. It is similar to how `civicrm_navigation` needs to be built when generating a new domain on multisite.
Noting that `uf_match` table, adds an entry for domain ID 1 for people that are not users of domain ID 1. Perhaps this i why it is generating dashlets for these. @haystack just noting this may be related to uf_match behavior. I note that currently I have 352 domain ID 1 `uf_match` entries but not anywhere near that or ever had a cumulative user count near that number, however it is lower than the total users on all other domains:
![image](/uploads/14707cebad86bab3c9f27533f46c3e63/image.png)
Evidence below of 2 entries per user:
![image](/uploads/fb942aa4ad5f8d53159c262920577622/image.png)
Summary of issues:
- [ ] CiviReport / Search Kit dashlets should not generate an entry in `civicrm_dashboard_contact` for users not on it's domain (it's harmless, but also nonsensical)
- [ ] Search Kit Dashlets via Form Builder switch domain ID (High Priority)https://lab.civicrm.org/dev/core/-/issues/712Submiting a form to join multiple groups should send one email, not one per g...2022-09-30T18:34:42ZIan KellingSubmiting a form to join multiple groups should send one email, not one per grouphttps://docs.civicrm.org/user/en/latest/email/set-up/ says: "When users
subscribe to multiple groups at once, a confirmation email is sent for
each group separately."
This should be changed to send a single email. They entered their ema...https://docs.civicrm.org/user/en/latest/email/set-up/ says: "When users
subscribe to multiple groups at once, a confirmation email is sent for
each group separately."
This should be changed to send a single email. They entered their email
address 1 time into 1 form, then get multiple emails that ask to confirm
their email address. Some will think that it's unnecessary to click each
link since their email address is confirmed by just clicking one. Some
will think there is a bug in the system. It really just doesn't make
sense to users.https://lab.civicrm.org/dev/core/-/issues/1129Duplicate records on CRM_Report_Form_Member_Detail2022-09-26T00:11:17ZandyburnsDuplicate records on CRM_Report_Form_Member_DetailOn CRM_Report_Form_Member_Detail, the rows get duplicated. They are not actual duplicates, it is the same contact ID and they do not have duplicate memberships.
![5b7f716e](/uploads/6ae639a21fd22a9b5fc47c1d1edf66be/5b7f716e.png)
On 5.13.4On CRM_Report_Form_Member_Detail, the rows get duplicated. They are not actual duplicates, it is the same contact ID and they do not have duplicate memberships.
![5b7f716e](/uploads/6ae639a21fd22a9b5fc47c1d1edf66be/5b7f716e.png)
On 5.13.4