Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-09-26T12:23:49Zhttps://lab.civicrm.org/dev/core/-/issues/4620CiviEvent dashboard: start date is 7 days ago2023-09-26T12:23:49ZmasettoCiviEvent dashboard: start date is 7 days agoI follow up https://civicrm.stackexchange.com/questions/22424/how-to-customize-events-dashboard.
The event dashboard now shows recent and upcoming events (where start date is 7 days ago OR later).
It would be convenient if the numbe...I follow up https://civicrm.stackexchange.com/questions/22424/how-to-customize-events-dashboard.
The event dashboard now shows recent and upcoming events (where start date is 7 days ago OR later).
It would be convenient if the number of days was configurable in the preferences of CiviEvents (`civicrm/admin/setting/preferences/event`).
Do you think it is useful and required by others as well?https://lab.civicrm.org/dev/core/-/issues/4619Eliminate `contributeMode`2023-09-26T12:23:10ZeileenEliminate `contributeMode``contributeMode` is the old concept when we thought we could categorise payment processors into 3-4 basic types that did the same stuff. We have mostly eliminated but it perseveres in a few places we want to kill
| Form | Used for |Alte...`contributeMode` is the old concept when we thought we could categorise payment processors into 3-4 basic types that did the same stuff. We have mostly eliminated but it perseveres in a few places we want to kill
| Form | Used for |Alternative|
| ------ | ------ |------------|
| Contribution_Confirm | Should the form `postProcess` hook be called before `doPayment` |? `$processor->supports('formAssumesNoReturn')` (I kinda feel it should be on the processor to call the hook but...|
| Contribution_Confirm | Should the button be called 'Continue' or 'Make Contribution' |Ditch? always 'Make Contribution'? Or do we need a `getText('continue_contribution_button)`|
|Event_Registration|Should emails be sent from the form (otherwise sent on completetransaction)|? `$processor->supports('formAssumesNoReturn')`|
|Event_Registration_Confirm|Should paypal express code be called|probably just a different hack|
|Event_Registration_Confirm::554|several places tricky stuff around doPayment| will need unravelling|
|Contribution Confirm.tpl|What text should we use for continue_instructions-section|?`paymentObject->getText('continue_contribution_instruction')` ?|
|Registration Thankyou.tpl|What text should be used arount 'Your registration has been processed successfully'|?`paymentObject->getText('event_success_instruction')` ?|
All other places are either doing nothing or are removablehttps://lab.civicrm.org/dev/core/-/issues/4615Search Displays: improve the display of in-place-editable EntityReferences wh...2023-09-26T12:19:09ZnoahSearch Displays: improve the display of in-place-editable EntityReferences when at restThis feature request is about EntityReference/foreign-key fields with "in-place edit" turned on in Search Displays.
Let's use this example: a Saved Search for Contacts, where we want to be able to edit a contact's "Current Employer" inl...This feature request is about EntityReference/foreign-key fields with "in-place edit" turned on in Search Displays.
Let's use this example: a Saved Search for Contacts, where we want to be able to edit a contact's "Current Employer" inline.
Currently:
- "Current Employer Display Name" can be added as a field in the Search Display. However, "In-Place Edit" is not available for it.
- "Current Employer ID" can be added as a field in the Search Display, with "In-Place Edit". "In-Place Edit" and "Rewrite Text" can't be enabled at the same time.
- When the Display is rendered, all "Current Employer ID"s are shown simply as numeric contact ids.
- When you click on one of these numbers, an autocomplete widget appears, allowing you to search by name; choices are shown with name, contact type and contact id.
- When you submit/close the widget, the field goes back to just a number.
It would be great if:
- "Rewrite" could be used in conjunction with "In-Place Edit". That way, the search designer could choose how the value is displayed "at rest" (when not being edited). For example, "Currently Employer ID" could be rewritten with a token for "Current Employer Display Name".
- and, maybe, the search designer could just tick a box to display the "label" field for the referenced entity. This simpler option would disable the "rewrite".https://lab.civicrm.org/dev/core/-/issues/4614Search Displays: Let booleans be displayed as "instant-save" checkboxes2023-09-26T12:18:30ZnoahSearch Displays: Let booleans be displayed as "instant-save" checkboxesIn SearchKit, turning on "inline edit" for a boolean field results in a UI that involves three clicks to toggle the field value:
1. click the field to enter edit mode
2. click "Yes" or "No"
3. click the submit button
A much smoother UI...In SearchKit, turning on "inline edit" for a boolean field results in a UI that involves three clicks to toggle the field value:
1. click the field to enter edit mode
2. click "Yes" or "No"
3. click the submit button
A much smoother UI (one click instead of three) would be a single checkbox that saves immediately when toggled.https://lab.civicrm.org/dev/core/-/issues/4613Can't uncheck "display in table" for custom fields2023-09-26T12:18:06ZDaveDCan't uncheck "display in table" for custom fields1. Create a multivalued custom field group.
2. Create a custom field with "display in table" checked.
3. Edit the field and uncheck display in table.
4. Go to edit it again and note that it's checked.
This sounds familiar.1. Create a multivalued custom field group.
2. Create a custom field with "display in table" checked.
3. Edit the field and uncheck display in table.
4. Go to edit it again and note that it's checked.
This sounds familiar.https://lab.civicrm.org/dev/core/-/issues/4612Searchkit: copy MessageTemplate action2023-09-26T12:17:18Ztycho77Searchkit: copy MessageTemplate action## Overview
You want to create a copy of a message template directly from a Searchkit form, which you can then edit immediately.
## Example use-case
1. in a SearchKit-Form searching for **MessageTemplates**
2. there is a **menu-column...## Overview
You want to create a copy of a message template directly from a Searchkit form, which you can then edit immediately.
## Example use-case
1. in a SearchKit-Form searching for **MessageTemplates**
2. there is a **menu-column** added for selecting actions for one of the MessageTemplates shown
3. you want to select **Copy MessageTemplate**
## Current behaviour
1. you can already choose between CRUD functionalities for MessageTemplates
## Proposed behaviour
1. the copy takes the original name followed by " (copy)"
2. the search is reloaded, so that you can immediately see and edit the copy
## Comments
if this could be done with an hour's effort, there is concrete budget left for this.https://lab.civicrm.org/dev/core/-/issues/4610checkAccess() or the Contact get api does not return contacts allowed by rela...2023-09-26T12:16:37ZjitendracheckAccess() or the Contact get api does not return contacts allowed by relationship.**Usecase**: Contact loaded via checksum on a webform does not load the permitted related contact.
Checksum in the URL adds the contact id in the session. Contact get api with `checkPermission = true` should allow the access for contact...**Usecase**: Contact loaded via checksum on a webform does not load the permitted related contact.
Checksum in the URL adds the contact id in the session. Contact get api with `checkPermission = true` should allow the access for contacts which has permission enabled in the relationship table.
Current code only checks for the contacts allowed via ACL https://github.com/civicrm/civicrm-core/blob/master/CRM/Contact/BAO/Contact/Permission.php#L361
Possible fixes:
- Add related contacts ids in the ACL cache table OR.
- Add another code to `cacheSubQuery` for the relationship_cache table.https://lab.civicrm.org/dev/core/-/issues/4609Smarty/token processing fails with embedded CSS2023-09-26T12:15:49ZlarsssandergreenSmarty/token processing fails with embedded CSSAfter upgrade to 5.65, sending scheduled reminders with embedded CSS in them fails because the parsing interprets something like `selector { attribute: value; }` as broken smarty. Not entirely sure when this problem was introduced, but l...After upgrade to 5.65, sending scheduled reminders with embedded CSS in them fails because the parsing interprets something like `selector { attribute: value; }` as broken smarty. Not entirely sure when this problem was introduced, but lots of reports after [5.65 was released](https://chat.civicrm.org/civicrm/pl/npfsiennxbytpygm6b67bqo41c), so that seems likely.
Embedding CSS in an email may or may not be wise, but it definitely is a valid thing to do, so our smarty/token parsing is broken if it fails on that.https://lab.civicrm.org/dev/core/-/issues/4608View mailing access is not allowed for users authenticated via checksum2023-09-26T12:15:20ZlarsssandergreenView mailing access is not allowed for users authenticated via checksumIf you send a mailing with a link to view the mailing in your browser that includes contact id and checksum (which is what the default "View in browser" link Mosaico's Versafix template does), you would expect that you'd be able to view ...If you send a mailing with a link to view the mailing in your browser that includes contact id and checksum (which is what the default "View in browser" link Mosaico's Versafix template does), you would expect that you'd be able to view the mailing even if the Publication is set to User and User Admin Only. However, if you open the link in a private browsing window, you'll get access denied.
I think the expected behaviour would be that you can access the mailing when authenticated via checksum. Otherwise, that View in browser link is broken for any mailing that isn't public.
If the mailing isn't public, the [page just checks](https://github.com/civicrm/civicrm-core/blob/0c5f17226c73474e40285a87d8509b272f4f4a67/CRM/Mailing/Page/View.php#L27) for administer CiviCRM, approve mailings or access CiviMail. Maybe we need a new permission like `CiviMail: access non-public mailings` or maybe we can simply allow any logged in user to view mailings (since it says "User and User Admin Only" and a logged in contact is a user).https://lab.civicrm.org/dev/user-interface/-/issues/55Clarify "Pay Later", "Execute real-time transactions"2023-09-26T12:15:02ZbgmClarify "Pay Later", "Execute real-time transactions"From [a thread](https://chat.civicrm.org/civicrm/pl/xz1pm9p31jr93ehespfnq643or) started by @guyiac
- [ ] Manage Contribution Pages: "execute real-time transactions", unchecking this really is only about free memberships, not about in-k...From [a thread](https://chat.civicrm.org/civicrm/pl/xz1pm9p31jr93ehespfnq643or) started by @guyiac
- [ ] Manage Contribution Pages: "execute real-time transactions", unchecking this really is only about free memberships, not about in-kind donations, which is a vague concept that CiviCRM never really explains. There are many scenarios where we want to use a PriceSet but the total amount will be 0$ and we still want a contribution
- [ ] Pay Later: we should clarify that this is also a suitable option when we expect the total amount to be 0$, in which case, the payment will be status=complete
- [ ] Pay Later: the instructions should be optional. Maybe it's clear enough, maybe you don't need them, maybe you want to specify it by some other means
Some of the above also applies to Manage Events, although things like "Execute real-time transactions" is called "Paid Event yes/no".https://lab.civicrm.org/dev/core/-/issues/4606Proposal: Allow selection of all fields from an entity referenced via a calcu...2023-09-26T12:14:01ZnoahProposal: Allow selection of all fields from an entity referenced via a calculated fieldWhen an API4 calculated field defines a join to another entity, all of that other entity's fields can be accessed through API4. However, in SearchKit, currently only the "label" field can be displayed.
In many cases, it's desirable to u...When an API4 calculated field defines a join to another entity, all of that other entity's fields can be accessed through API4. However, in SearchKit, currently only the "label" field can be displayed.
In many cases, it's desirable to use fields other than the "label" field from the referenced entity.
Technical details: I'm talking about joins defined via the `api.schema_map.build` event. For example, [an Activity entity can reference a Case entity](https://github.com/civicrm/civicrm-core/blob/5.66/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php#L31-L35). The SearchKit code's [current mechanism](https://github.com/civicrm/civicrm-core/blob/5.66/ext/search_kit/Civi/Search/Admin.php#L232) only adds one field to the list of "selectable" fields.
See [recent discussion](https://chat.civicrm.org/civicrm/pl/g3p8sb4s6pr89bdjyf7jt3gcrw) between @noah and @colemanwhttps://lab.civicrm.org/dev/core/-/issues/4565Form Builder: Dropdown field options do not filter despite UI configuration2023-09-26T12:13:02ZScottMasonForm Builder: Dropdown field options do not filter despite UI configurationFields on FB forms appear to be ignoring configuration.
To replicate, create a FB form. Add dropdown field. Select 'customize options'. Remove options from the list
![image](/uploads/55fb079c2cf1c243fd5280edbf218fa1/image.png)
Despite...Fields on FB forms appear to be ignoring configuration.
To replicate, create a FB form. Add dropdown field. Select 'customize options'. Remove options from the list
![image](/uploads/55fb079c2cf1c243fd5280edbf218fa1/image.png)
Despite cofiguration, options still appear in the dropdown on the form.
![image](/uploads/75d2d152d9aaf8199f19cea9c488e309/image.png)https://lab.civicrm.org/dev/core/-/issues/2845[WP] Fatal errors on log-in with ACF-Extended running2023-09-26T05:03:26Zjbonlinea[WP] Fatal errors on log-in with ACF-Extended runningHi guys,
First post here, I'll do my best to be comprehensive, but we'll probably have to go step by step ;)
I've been doing some quite extensive testing and implementation of CiviCRM on wordpress single site and multisite, and a lots...Hi guys,
First post here, I'll do my best to be comprehensive, but we'll probably have to go step by step ;)
I've been doing some quite extensive testing and implementation of CiviCRM on wordpress single site and multisite, and a lots of plug-in (event if in the end I use the least I could). I've bumped into quite many challenges and issue which are now behind me, and start to have a decent knowlege, as a civi admin and user, more than a developer.
Lately I've bumped into a weird issue, related to user log-in. I've done so many testing that I won't detail it now, but later if needed to narrow down the source.
Basically, I do get quite easilly the below fatal error on user log-in when ACF-Extended is active. if this give you a start that's great, otherwise please ask me a more detail case (there are quite many with the settings behind moving)
Cheers
`Fatal error: Uncaught Error: Call to a member function get_page_permastruct() on null in /home/html/wp-includes/link-template.php:430 Stack trace: #0 /home/html/wp-includes/link-template.php(392): _get_page_link(Object(WP_Post), false, false) #1 /home/html/wp-includes/link-template.php(197): get_page_link(Object(WP_Post), false, false) #2 /home/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 /home/html/wp-content/plugins/civicrm/civicrm/Civi/Core/Paths.php(130): call_user_func(Object(Closure)) #5 /home/html/wp-content/plugins/civicrm/civicrm/Civi/Core in /home/html/wp-includes/link-template.php on line 430`https://lab.civicrm.org/dev/core/-/issues/2765Revisit the decision to enforce the CMS new user account option, allow CiviCR...2023-09-26T05:03:25Zjustinfreeman (Agileware)Revisit the decision to enforce the CMS new user account option, allow CiviCRM to create CMS user accounts when CMS has public registrations disabledRaising this a request to revisit the decision [originating in 2009 (CRM-4036)](https://issues.civicrm.org/jira/browse/CRM-4036.html) to enforce the CMS new user account option and instead **allow CiviCRM to create CMS user accounts when...Raising this a request to revisit the decision [originating in 2009 (CRM-4036)](https://issues.civicrm.org/jira/browse/CRM-4036.html) to enforce the CMS new user account option and instead **allow CiviCRM to create CMS user accounts when CMS has public registrations disabled**.
There are three key reasons to have this functionality:
1. Public registrations on websites attract spamming and therefore require moderation and anti-spam systems to be in place.
2. For member-only websites, the method to because a member is using the membership sign-up form (CiviCRM) and when the membership fee is paid, that's when the corresponding CMS user account should be created. And not by any other means.
3. With user account creation disabled, a separate and in some cases manual process needs to be performed to create the corresponding user account for members - which is a waste of effort.
With the current logic where CiviCRM uses the CMS configuration, the site must be open for public user registrations to support CiviCRM registering a member user account.
The change is relatively simple and would be removing the check of the user registration option for each supported CMS. Thus CiviCRM Profiles can be used to create CMS accounts.
See also related, _User Profiles, the User account registration option is displayed even when the CMS has the "User can register" option disabled_ - https://lab.civicrm.org/dev/user-interface/-/issues/41
Agileware Ref: CIVICRM-1809https://lab.civicrm.org/dev/core/-/issues/4618Tracking: Uses of {php} to remove from Smarty in order to allow upgrade to Sm...2023-09-26T03:17:14ZlarsssandergreenTracking: Uses of {php} to remove from Smarty in order to allow upgrade to Smarty 3+This is the complete list remaining (not including those in pending PRs)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Contact/Form/Task/PDFLetterCommon.hlp#L27 (I think we can get the param directly in Smarty ...This is the complete list remaining (not including those in pending PRs)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Contact/Form/Task/PDFLetterCommon.hlp#L27 (I think we can get the param directly in Smarty 3 or maybe it would be OK to hardcode docx and odt in here)
- [x] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Admin/Page/APIExplorer.js#L752 (APIv3 Explorer ouputs {php} when we have an array, but in Smarty 3 we can pass in the array, so this can be removed)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Campaign/Page/Petition/SocialNetwork.drupal#L28
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/common/accesskeys.hlp#L11 (Could maybe redo this in JS)
- [ ] https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/ACL/Header.tpl#L17
- [ ] https://github.com/civicrm/civicrm-core/blob/master/xml/templates/civicrm_msg_template.tplhttps://lab.civicrm.org/dev/core/-/issues/2907Some contact core tokens stopped working in 5.43 RC2023-09-25T22:40:57Zmagnolia61Some contact core tokens stopped working in 5.43 RCSome contact core tokens stopped working in scheduled reminders & send email in the 5.43 RC
**Does render in subject:**<BR>
```
{contact.id}
{contact.contact_type:label}
{contact.display_name}
{contact.middle_name}
{contact.last_name}
{...Some contact core tokens stopped working in scheduled reminders & send email in the 5.43 RC
**Does render in subject:**<BR>
```
{contact.id}
{contact.contact_type:label}
{contact.display_name}
{contact.middle_name}
{contact.last_name}
{contact.email_greeting_display}
{contact.phone}
{contact.city}
```
**Does NOT render in subject:**<BR>
```
{contact.first_name}
{contact.birth_date}
(and maybe more)
```
**Does not render in the body:**<BR>
```
{contact.id}
{contact.contact_type:label}
{contact.display_name}
{contact.middle_name}
{contact.last_name}
{contact.email_greeting_display}
{contact.phone}
{contact.city}
```
...
I actually cannot get any contact core token to render in the body field of the template
All my contact custom tokens work fine in subject and body thoughhttps://lab.civicrm.org/dev/core/-/issues/3682Feature request - `{domain.logo}`2023-09-25T19:36:31ZeileenFeature request - `{domain.logo}`Tim & I discussed the other day adding the `{domain.logo}` token. As always when this comes up we started with 'it would be very easy to do this minimal version' and by the end of the discussion the scope was un-manageable as unsponsored...Tim & I discussed the other day adding the `{domain.logo}` token. As always when this comes up we started with 'it would be very easy to do this minimal version' and by the end of the discussion the scope was un-manageable as unsponsored work.
However, I think the thing we CAN do is document it....
**The easy way**
`{domain.logo}`
refers to the image (if any) in the image_url field for the domain contact. That's it.
Probably we would need a version with `<img>` tags & one without.
**But then ... sizing & ^^ is too basic/ limited**
So next most complex is to use a setting. Once we start down this path we wind up having to develop a UI, handling sizing and it seems we might as well skip to....
**Mailing Component tokens**
In this version we would add a new component type to `civicrm_mailing_component` and rows of this type would be available as tokens using `{domain.{civicrm_mailing_component.name}}`. Placeholders ones for '{domain.logo}' and '{domain.header}' would be added. The existing UI could be used.
**And still spiralling**
- from there we got into trying to make it possible to nest the above, to use regions, to do the sort of thing the `entity_messages` token attempted to whereby we could store entity-related snippets (the idea was both to be able to insert a contribution specific block and to store entity-specific text to re-use - e.g to re-send an invoice with the original form-base message text)https://lab.civicrm.org/dev/core/-/issues/4560On new mailing screen the widget for include/exclude doesn't filter by number...2023-09-25T15:33:27ZDaveDOn new mailing screen the widget for include/exclude doesn't filter by numbers the same way it used to, or the same way as lettersThis might be because of https://github.com/civicrm/civicrm-core/pull/26585 but the widget itself might have been like this before too. But the previous widget didn't behave this way.
1. Create a group like "2023 All Donors".
2. On a ne...This might be because of https://github.com/civicrm/civicrm-core/pull/26585 but the widget itself might have been like this before too. But the previous widget didn't behave this way.
1. Create a group like "2023 All Donors".
2. On a new mailing try filtering for that group by typing 2023. It doesn't filter the list until you press the spacebar after the 3. Whereas if you type "all" it starts filtering right away.5.66.0https://lab.civicrm.org/dev/core/-/issues/1516Discussion ticket for handling multivalued tokens in pdfs/emails2023-09-25T14:58:11ZDaveDDiscussion ticket for handling multivalued tokens in pdfs/emailsIn particular related to:
* https://github.com/civicrm/civicrm-core/pull/12012
* and its rebased version https://github.com/civicrm/civicrm-core/pull/16200
* https://github.com/civicrm/civicrm-core/pull/16208
There are a number of way...In particular related to:
* https://github.com/civicrm/civicrm-core/pull/12012
* and its rebased version https://github.com/civicrm/civicrm-core/pull/16200
* https://github.com/civicrm/civicrm-core/pull/16208
There are a number of ways to deal with multivalued fields when you need to produce scalar output based on the field.
For example:
* Take the "first" one.
* This has the disadvantage that "first" doesn't really mean anything, especially if the order is not guaranteed to be the same each time.
* Take the "last" one.
* Ditto.
* Combine them separated by commas.
* This has the disadvantage that it may not make any sense or might look silly. Consider something like the "With Contact" on an activity. Suppose there are 3. Suppose you want to include the primary phone of the contact. Your pdf might look like this. It's not terrible, but now think about adding in address too.
* With Contact: John Smith, Mary Brown, Indiana Jones
* Phone: 555-123-2222, , 555-383-8383
* And it's not clear to me that it can guarantee that the phone values are in the same order as the names when the tokens are separate.
* Do as in https://github.com/civicrm/civicrm-core/pull/12012, where you give the template designer the option to specify a numeric suffix on the token, e.g. {activity.target_2_display_name}. The way it's implemented there has some limitations:
* The order is still arbitrary - what does "2" actually mean?
* The template designer doesn't know max(N), so they can't easily do something like concatenate all of them if they want to.
* Provide some shorthand tokens for some common uses, e.g.
* {activity.target_1_phone} means arbitrarily take the first one.
* {activity.target_COMBINE_phone} means combine all with commas.
* {activity.target_ALL_phone} means give an array and I'll do some smarty-based looping in my template to get what I want.
Further, there are some situations where you might not want some recipients to see some of the other values. An example might be activity.case_id as in [16208](https://github.com/civicrm/civicrm-core/pull/16208). There maybe it makes sense to have a token that means "concatenate all the cases where the recipient has a role, and leave out the others". A similar one might apply for activity.target_display_name, where it might mean "concatenate all the with contact display names for activities where the recipient is one of the activity_contacts.
A related note that's just food for thought: In my other life, I always try to set up 2 fields when somebody asks for something multivalued. For example "services performed". Somebody might come to you asking for a couple of the different types of service you offer. You can designate one as the primary service, which is a single-valued field, which then makes reporting work because you don't run into double-counting, and then have a secondary services field that is multi-valued, which you don't use for reporting, and in emails/pdfs you can concatenate it without it being arbitrary because you would also output the primary which is single-valued. That may not be useful right now, but this is a discussion ticket.https://lab.civicrm.org/dev/core/-/issues/2717Fix code to use Order api to create Memberships in core forms2023-09-25T05:03:28ZeileenFix code to use Order api to create Memberships in core formsThis is just to track the ongoing effort to move the creation of memberships from all sorts of scary stuff, to using the order api - the process includes moving the weird and wonderful logic from 'whereever it might be found' to 'where i...This is just to track the ongoing effort to move the creation of memberships from all sorts of scary stuff, to using the order api - the process includes moving the weird and wonderful logic from 'whereever it might be found' to 'where it should be' -something that has been ongoing as part of getting v4 Membership api up & running