Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-06-20T23:09:15Zhttps://lab.civicrm.org/dev/core/-/issues/1613updating misleading labels on buttons to confirmation pages2023-06-20T23:09:15Zyosefromanoupdating misleading labels on buttons to confirmation pagesOn contribution forms, the button leading to the confirmation page (if enabled) says 'confirm payment' which in many cases makes the user think that clicking the button submits the contribution.
On event forms, the button leading to th...On contribution forms, the button leading to the confirmation page (if enabled) says 'confirm payment' which in many cases makes the user think that clicking the button submits the contribution.
On event forms, the button leading to the confirmation page (if enabled) says 'continue' which again in many cases is misconstrued to mean 'continue and complete'
I get constant feedback from at least 50 different sites that their constituents are leaving the form before submitting it because they assume it was submitted leading to loss of revenue.
From looking at all shopping websites the industry standard with buttons leading to confirmation pages seems to be to use the word 'review'
The proposed solution in both cases is that the button label should simply say 'Review'.5.25.0https://lab.civicrm.org/dev/core/-/issues/2122Account for time zone on event registration pages2023-11-05T14:13:53ZwmortadaAccount for time zone on event registration pagesOverview
----------------------------------------
There doesn't appear to be a way to account for the time zone on an event registration page.
This is less of an issue for a local event, but is quite a problem for a global online event....Overview
----------------------------------------
There doesn't appear to be a way to account for the time zone on an event registration page.
This is less of an issue for a local event, but is quite a problem for a global online event.
At a minimum I would expect there to be an option to set the time zone for the event and for the time zone to display on the event registration page. (Ideally you'd want the page to show the time in the user's time zone.)
Current behaviour
----------------------------------------
There is no option to set the time zone for an event. (I presume that the system time zone is used but I'm not sure.)
![image](/uploads/6727ccb71e4b3129120a3275240c56cf/image.png)
The time zone isn't displayed on the event registration page.
![image](/uploads/a16d1c595ab9020e2d9e9c2d668e114c/image.png)
Proposed behaviour
----------------------------------------
There is an option to set the time zone when creating an event. This should default to the user's time zone.
The time zone is displayed on the event registration page.
Comments
----------------------------------------
I became aware of this when trying to register for this event: https://civicrm.org/civicrm/event/info?reset=1&id=1553
Probably relates to https://lab.civicrm.org/dev/core/-/issues/441
Agileware Ref: CIVICRM-404 (feature not found)https://lab.civicrm.org/dev/core/-/issues/2887ical/ics files generated by Civi are not compatible with Outlook during Dayli...2023-12-13T15:33:23ZStoobical/ics files generated by Civi are not compatible with Outlook during Daylight SavingsOverview
----------------------------------------
Since the inclusion of timezone in the ical/ics files that CiviCRM produces RFC5545 timezone is technically correct but Outlook doesn't interpret them properly
Reproduction steps
-------...Overview
----------------------------------------
Since the inclusion of timezone in the ical/ics files that CiviCRM produces RFC5545 timezone is technically correct but Outlook doesn't interpret them properly
Reproduction steps
----------------------------------------
1. during daylight savings (until Nov 7 in this year, 2021) create an event
2. download the ics/ical file from the event 'info' page
3. open that ics/ical file in Outlook
4. notice that it is one hour forward (later) than should be
Commentary
----------------------------------------
Hi guys, I wanted to make you aware of a new twist on this issue since timezones were added to the Civi-generated ical/ics files. Good news and bad, but wanted to share my research.
Good news: timezones are good, and as you know ical/ics from Civi didn't have them until 5.37.
Bad news: timezone glitches in Outlook.
The standards are meticulous but illustrate the format here: https://icalendar.org/iCalendar-RFC-5545/3-8-3-1-time-zone-identifier.html and the TZ zones can be clearly seen here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
How does this relate to Outlook, might you ask? Good question. Well I scoured the internet and people unrelated to CiviCRM have reported issues with timezone discrepancies in Outlook....
- As far back as 2016: https://theeventscalendar.com/support/forums/topic/ical-timezone-issue-with-microsoft-outlook
- And as recently as 2019: https://answers.microsoft.com/en-us/msoffice/forum/all/outlook-cant-read-timezone-in-ics-file-a-slew-of/495cadf9-4630-48b5-99ce-88d94980f289
... what these tend to have in common is that the discrepancies happen during Daylight Savings, which we are in right now, and which ends Nov 7. And they all have to do with ical/ics files that use a format of "America/New_York" whereas Outlook uses a different naming convention.
But how does this relate to CiviCRM? An even better question. Prior to version CiviCRM 5.37 which was released in June, CiviCRM ical/ics files had NO timezone at all, here: #19762 I never knew this. Lack of timezone caused problems of its own, but with most folks who are in the same timezone it doesn't matter.
When I made a mandatory security update to 5.38 CiviCRM a few months ago, the problems surfaced for a large nonprofit organization that uses primarily Outlook. That is because although CiviCRM now creates its ical/ics file to the RFC5545 standard, Outlook does not (attached). And now that CiviCRM is putting in timezones, we notice the issue for the first time...but only in Outlook. In one of the above posts it clearly states that Outlook misinterprets America/New_York in Daylight Savings.
So all that to say this is where we stand, between a rock and a hard place, metaphorically but perhaps even literally getting Microsoft to change their software might be like moving a mountain. And CiviCRM, well-meaning though we may be, may not want to accommodate a change to Civi that doesn't meet standards.
Solution ?
--------------------------------
There might be an exception or compromise in this mess, but it will more likely be on the CiviCRM side. Originally detected by agilware on this repo: https://github.com/civicrm/civicrm-core/pull/19762
![comparison](/uploads/8ef08e1138430a9793a18ad7966581f3/comparison.png)
[outlook-created.ics](/uploads/dee2cccb0c4a19b61ff106cb54f8ee5a/outlook-created.ics)5.52.2justinfreeman (Agileware)justinfreeman (Agileware)https://lab.civicrm.org/dev/core/-/issues/4377Don't allow scheduled reminders for events to also include groups2023-09-02T05:11:52ZlarsssandergreenDon't allow scheduled reminders for events to also include groupsEdit: See discussion below, this doesn't actually work anyways.
If a user is able to edit events and has access to a particular group, they can add that group to a scheduled reminder for an event with Also include. It doesn't seem like ...Edit: See discussion below, this doesn't actually work anyways.
If a user is able to edit events and has access to a particular group, they can add that group to a scheduled reminder for an event with Also include. It doesn't seem like a good idea to let users scheduled a reminder to potentially a very large number of contacts via an event scheduled reminder, which is intended to email participants for an event.
I can see the case for also including manually selected contacts, but also including groups seems dangerous and an invitation for mistakes. If a user needs to send a scheduled reminder to a group, they would probably be better off using a mailing or a separate scheduled reminder.
Proposal: Disable the Also include > Select Group option in scheduled reminders for events.https://lab.civicrm.org/dev/core/-/issues/4334Remove Event Info link from Manage Event (and same from Manage Contribution P...2023-06-21T14:55:10ZlarsssandergreenRemove Event Info link from Manage Event (and same from Manage Contribution Page)![image](/uploads/dd822bae24450b2001a604f392198a89/image.png)
I'm not sure this is needed, since it just replicates the link available in the Event Links above, except less completely, as it doesn't include Online Registration, so users...![image](/uploads/dd822bae24450b2001a604f392198a89/image.png)
I'm not sure this is needed, since it just replicates the link available in the Event Links above, except less completely, as it doesn't include Online Registration, so users tend to think this is the only option (some organizations do not use Event Info, preferring to link straight to Registration).
There is a similar thing at the bottom of the first Manage Contribution Page tab that could also be removed, in my opinion. These look kind of weird and aren't really necessary, so I think they can go without losing anything, but am looking for further opinions on this.https://lab.civicrm.org/dev/core/-/issues/3058Backend membership renewal does not attach the invoice PDF2022-06-24T03:36:05ZbgmBackend membership renewal does not attach the invoice PDFTo reproduce:
* Enable Taxes and Invoicing (Administer > CiviContribute > CiviContribute Component Settings)
* Enable "Automatically email invoice when user purchases online"
Then go to a contact record
* Make sure the contact has an ...To reproduce:
* Enable Taxes and Invoicing (Administer > CiviContribute > CiviContribute Component Settings)
* Enable "Automatically email invoice when user purchases online"
Then go to a contact record
* Make sure the contact has an email address on their record (you probably want to update to your own email address)
* Add a Membership (without CC payment), record a payment (ex: cheque or whatever).
They should receive an email confirmation, with the invoice.pdf attached.
Now go back to their contact record, and renew the membership (again, no need for a CC payment). They will be emailed with a receipt, but the invoice.pdf will not be attached.
As a tangential issue: for taxes we have custom smarty (from the taxcalculator extension) that requires the `$contributionID` in the template. It works fine for the "offline new membership" but not for renewal, the variable is undefined.
I tried comparing the `submit` functions for `CRM/Membership/Form/Membership.php` vs `MembershipRenewal.php`, but it's not an easy one. They have a lot of similarities, but also major differences in how they process the contribution.https://lab.civicrm.org/dev/core/-/issues/2382Allow disabling of confirmation page for paid events2022-10-16T01:24:38ZlarsssandergreenAllow disabling of confirmation page for paid eventsCurrently, a paid event must have a confirmation page. In simple paid event registration cases, it would be sometimes be preferable to skip the confirmation page (and potential drop-off of registrants or confusion from those who don't re...Currently, a paid event must have a confirmation page. In simple paid event registration cases, it would be sometimes be preferable to skip the confirmation page (and potential drop-off of registrants or confusion from those who don't realize that the confirmation page wasn't the end of the process) and simply register the participant directly.
Note that you can skip the confirmation page on a contribution page and this is a very similar situation (people are making a selection and filling in their payment details). We find our supporters are likely to be confused by multiple, verbose pages and the confirmation page definitely adds complexity that isn't needed in some cases. Are there any downsides to giving users the option to set up events without a confirmation page?https://lab.civicrm.org/dev/core/-/issues/1225Event Info/Contribution Page Smarty templates are inconsistent and ugly2022-12-16T05:03:23ZJonGoldEvent Info/Contribution Page Smarty templates are inconsistent and uglyThat title encompasses quite a lot - but I'm just tackling one little corner. I'm introducing some classes and some consistency between identical elements of event and contribution pages.That title encompasses quite a lot - but I'm just tackling one little corner. I'm introducing some classes and some consistency between identical elements of event and contribution pages.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/1112Require less permission for contribution page management2023-04-06T05:03:35ZJKingsnorthRequire less permission for contribution page managementCurrently a user needs a very high level of permissions in order to manage contribution pages on the website; contrary to the approach used in CiviEvent.
In order to manage events in CiviCRM, the permission 'access CiviEvent' is used.
...Currently a user needs a very high level of permissions in order to manage contribution pages on the website; contrary to the approach used in CiviEvent.
In order to manage events in CiviCRM, the permission 'access CiviEvent' is used.
In order to manage contribution pages in CiviCRM, the permissions access CiviContribute AND administer CiviCRM are required.
I suggest we either:
* Make the permission just access CiviContribute (and add this to the admin/price paths)
* Add a new permission for 'manage contribution pages' with access to the civicrm/admin/contribute* paths (and the admin/price paths)
The first option will make CiviContribute behave more like CiviEvent - giving access to create the contribution pages, but not all the admin functions like managing custom fields and profiles.https://lab.civicrm.org/dev/core/-/issues/4744Proposal - remove 'record contribution' from back office participant form whe...2023-11-02T15:27:49ZeileenProposal - remove 'record contribution' from back office participant form where pending contribution existsIf a participant record is updated where a pending record exists you need to update the status from pending to completed
![image](/uploads/1450500ef919017c7eee5c9ef326de6c/image.png)
![image](/uploads/87bc885b56fd756e897dc416a47eccd9/...If a participant record is updated where a pending record exists you need to update the status from pending to completed
![image](/uploads/1450500ef919017c7eee5c9ef326de6c/image.png)
![image](/uploads/87bc885b56fd756e897dc416a47eccd9/image.png)
However - this ONLY updates the contribution - without a separate action to update the participant status the participant status is unchanged
This is wildly confusing.
I propose we don't show 'record contribution' section when there is an existing payment & instead offer an 'add payment' button that pops up the Add payment form if clicked...https://lab.civicrm.org/dev/core/-/issues/4743Refreshing event registration thank you page resulting error2023-11-17T15:44:51Zvakeesan26Refreshing event registration thank you page resulting errorRefreshing Event registration thank you page resulting error as below
**Could not find valid value for id**
![image](/uploads/15aa0a835556a286a3ab8172cb13c63d/image.png)Refreshing Event registration thank you page resulting error as below
**Could not find valid value for id**
![image](/uploads/15aa0a835556a286a3ab8172cb13c63d/image.png)https://lab.civicrm.org/dev/core/-/issues/4551Single quote in "public" event page title throws smarty error on receipt2023-09-19T14:02:11ZelilisseckSingle quote in "public" event page title throws smarty error on receiptOverview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross m...Overview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross message during the registration process:
![image](/uploads/e105ff57ae8d9ea64bf4d30b81f08b35/image.png)
Reproduction steps
----------------------------------------
1. On 5.64.0+ add (or edit) an event page to have a single quote in the page title such as `What's a quote doing here`
2. Check off "is_share" and turn on receipt emails.
3. Run through a registration on the front-end to observe the issue.
Comments
----------------------------------------
It looks like maybe this commit introduced this but it's hard to follow: https://github.com/civicrm/civicrm-core/commit/e90b263a9ccd7c8106c98f5f7f82d4b267820f43#diff-2652c5ed241e0c2a68dc79d97ce2b6056ad2bc8ce37aee9bce8dd69678a160a8L167
Either way the issue is coming from this line in the workflow message template `{include file="CRM/common/SocialNetwork.tpl" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}` where the event title needs to have single quotes escaped or something of that nature to make it through smarty.5.65.0https://lab.civicrm.org/dev/core/-/issues/4460Feature request: Force recurring-only2023-08-11T06:35:18ZMariaVFeature request: Force recurring-onlyI would like to propose a feature for contribution pages.
There is already an [extension (ca.civicrm.contributionrecur)](https://github.com/adixon/ca.civicrm.contributionrecur/) with this feature (and a lot more) but unfortunately it do...I would like to propose a feature for contribution pages.
There is already an [extension (ca.civicrm.contributionrecur)](https://github.com/adixon/ca.civicrm.contributionrecur/) with this feature (and a lot more) but unfortunately it does not work properly anymore.
It is possible to force recurring payments only - which is very useful for i.e. membership pages.
When this option is selected, it is not possible to uncheck the checkbox:
![image](/uploads/d3898e4c576b669018029e7b4da3cb08/image.png)https://lab.civicrm.org/dev/core/-/issues/4288Price set option limit = 0 should mean no spaces, rather than no limit2023-05-15T08:16:42ZlarsssandergreenPrice set option limit = 0 should mean no spaces, rather than no limitIf you set a price set option limit to 0, this is the same as not specifying a limit. I would expect that a limit of 0 would mean there are no spaces. Setting the limit to 0 is different than disabling the price set option, as disabling ...If you set a price set option limit to 0, this is the same as not specifying a limit. I would expect that a limit of 0 would mean there are no spaces. Setting the limit to 0 is different than disabling the price set option, as disabling makes it so the option does not appear on public forms, while I expect setting the limit to 0 would just make it sold out, but still appear. I can't think of a good reason you would want 0 to be the same as no limit, but maybe others can?
Will submit PR unless there are objections. Otherwise, will add help text.https://lab.civicrm.org/dev/core/-/issues/4285Changing participant status should not add an Event Registration activity2023-05-24T06:53:21ZlarsssandergreenChanging participant status should not add an Event Registration activityIf you change a participant status, for example from Registered to Attended, an activity of type Event Registration is added with subject Event Name - Role - Status. It isn't an event registration, so the activity type should probably be...If you change a participant status, for example from Registered to Attended, an activity of type Event Registration is added with subject Event Name - Role - Status. It isn't an event registration, so the activity type should probably be Change Registration, but I'm not sure we want an activity recorded at all. Is this useful or does it just make the Activities tab less useful by filling it up with unimportant details?
For comparison, we don't record an activity for a change in contribution status, but we do record an activity for a change in membership status. This seems reasonable and the change in participant status seems more like a change in contribution status.
If someone cancels through the self service / Transfer or Cancel mechanism, a separate cancellation activity is recorded (so you end up with two activities for the cancellation).
My proposal is to not record an activity on participant status change, except through the self service mechanism.
If people feel like some of those activities are useful, maybe we could only record activities for changes to or to and from cancelled and transferred status. These should be Change Registration type activities and the separate activity from the self service mechanism would have to be removed so there is no duplication.https://lab.civicrm.org/dev/core/-/issues/4176Allow to search on participant id2023-03-24T17:21:16ZyashodhaAllow to search on participant idOverview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.Overview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.5.61.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4069Broken event confirmation emails with multiple participants and external paym...2023-01-15T23:27:12ZJKingsnorthBroken event confirmation emails with multiple participants and external payment gateways (contribution.sendconfirmation)Raised on StackExchange here: https://civicrm.stackexchange.com/questions/34004/event-email-receipt-doesnt-have-the-profile-information
We have also hit this issue.
This is an old regression from late 2019 by the looks of it.
When boo...Raised on StackExchange here: https://civicrm.stackexchange.com/questions/34004/event-email-receipt-doesnt-have-the-profile-information
We have also hit this issue.
This is an old regression from late 2019 by the looks of it.
When booking on to an event with multiple participants (ie lead booker and a guest), and using an external payment gateway using IPN, the confirmation email is missing the total amount, and all of the participant information.
Actual: [image](/uploads/b55b515da0be99cc4806c4f0cc3a3b96/image.png)
Expected: [image](/uploads/60ff3fdfc56fc6dc7765210628870ae4/image.png)
Another way to recreate this issue is to call the contribution.sendconfirmation API on any contribution record linked to a lead booker that has additional participants.
IPN-based payment gateways call completetransaction API, which in turn calls the sendconfirmation API, which explains.
---
Tracking through the code, it looks like the sendconfirmation API call only has the participant information for the 'last' participant ID associated with the booking?
It looks like @eileen you've been doing some refactoring in this area (rightly so - it looks like a bit of a swamp!).
I'm struggling to track down exactly where the issue is coming from.https://lab.civicrm.org/dev/core/-/issues/4066Can the `CRM_Event_Badge` classes be deprecated and removed?2023-07-03T14:20:54ZBradley TaylorCan the `CRM_Event_Badge` classes be deprecated and removed?I recently came across these classes:
- `CRM_Event_Badge`
- `CRM_Event_Badge_Logo`
- `CRM_Event_Badge_Logo5395`
- `CRM_Event_Badge_NameTent`
- `CRM_Event_Badge_Simple`
Stylistically they're not great, and I noticed they don't seem to b...I recently came across these classes:
- `CRM_Event_Badge`
- `CRM_Event_Badge_Logo`
- `CRM_Event_Badge_Logo5395`
- `CRM_Event_Badge_NameTent`
- `CRM_Event_Badge_Simple`
Stylistically they're not great, and I noticed they don't seem to be in use.
The last 4 of these classes extend `CRM_Event_Badge`, and are referenced in the `eventBadge` option group. However, I can't see any scenario where this `eventBadge` option group is actually used.
The `Event Name Badge Layouts` configuration screen gets stored in the `civicrm_print_label` table, and `CRM_Badge_BAO_Badge` is what actually get's used when you print a selection of badges for an event. `CRM_Badge_BAO_Badge` does not use `CRM_Event_Badge` (although they are very similar. I suspect one started as a copy of the other.)
I think it would make sense to:
1. Check nobody is using the 5 classes listed above through a universe search.
2. Noisily deprecated the 5 classes, specifying `CRM_Badge_BAO_Badge` should be used instead.
3. After a period of time remove the 5 classes.
4. Tidy up (remove all trace of) the `event_badge` option group.
Of these, the last step is the one I'm most unsure of the process for. I guess it'd be removed through an upgrade step.https://lab.civicrm.org/dev/core/-/issues/4059CiviEvent: API3/4 deletes event is_template flag on event update2023-01-16T15:22:16ZBjörn EndresCiviEvent: API3/4 deletes event is_template flag on event updateOverview
----------------------------------------
The CiviCRM API resets(!) the ``is_template`` flag on an event entity when manipulating unrelated attributes. Tested on APIv3 and APIv4.
Reproduction steps
------------------------------...Overview
----------------------------------------
The CiviCRM API resets(!) the ``is_template`` flag on an event entity when manipulating unrelated attributes. Tested on APIv3 and APIv4.
Reproduction steps
----------------------------------------
1. Create a new event template (not a message template)
1. Go to the API explorer (3 or 4)
1. Run ``Event.get`` with the ID of the given template. Observe that the ``is_template`` parameter is set to 1/true.
1. Run ``Event.create/update`` with parameters:
* ``id`` = ID of the given template
* ``title`` = "just want to trigger a change"
1. Run ``Event.get`` with the ID of the given template.
Current behaviour
----------------------------------------
Observe that the ``is_template`` parameter is set to 0/false - **the flag has been deleted!**
Expected behaviour
----------------------------------------
API call should leave the ``is_template`` parameter alone, i.e. the return value of then ``is_template`` parameter should be 1/true
Environment information
----------------------------------------
Tested on current [DMASTER](https://dmaster.demo.civicrm.org) running 5.59.alpha1, but has definitely been around for longer.
Comments
----------------------------------------
A unit test to cover that should be pretty straightforward with these instructions.5.59.0https://lab.civicrm.org/dev/core/-/issues/3990force deduplication for event registrations: misleading help text → change su...2022-11-17T07:23:57ZAndreasandreas.howiller@civiservice.deforce deduplication for event registrations: misleading help text → change suggested workaround or add feature to CiviEvent?Sometimes you want to intentionally force duplicates for anonymous registrations for certain events. Some users even want this as their default in CiviEvent.
In the profile configuration there is the following hint how you should do th...Sometimes you want to intentionally force duplicates for anonymous registrations for certain events. Some users even want this as their default in CiviEvent.
In the profile configuration there is the following hint how you should do this:
> If you are using the profile as a contact signup and editing form - this option controls what happens if the data matches an existing contact record. Using this option user can update the matching record or create a duplicate record or otherwise he will get a 'duplicate record' warning, and their input will not be saved. Contact matching is based on your configured 'Strict' rule for identifying duplicate contacts. (Weiterlesen...)
>
> This setting is ignored if the profile is embedded in an online contribution, membership signup or event registration form. In this case a contact match always results in the transaction being linked to the matching contact.
>
> In all cases, the check for an existing matching contact uses the default "Individual Strict Duplicate Matching Rule" (match on email address). If you are concerned with existing contact data being over-written by anonymous visitors, you can modify this rule to make matches less likely (or even impossible). For example, if you NEVER want anonymous input to match (i.e. always create a new contact record) - edit that rule and set the 'weight threshold' higher than 10. You will then need to run Find Duplicates periodically using a different rule, and merge any duplicate records with their associated memberships, contributions, etc.
However, this kind of "suggested workaround" no longer works because you can no longer specify an unreachable threshold in the deduplication rules. In any case, the help text would have to be adapted.
However, the question arises how to deal with the actual requirement and I see at least two possibilities:
**Option A: Replacing the workaround**
Recommend in the help text to create an unachievable deduplication rule by using in the rule a field that is never used in the user's event registrations and advice them to set this rule for registrations when needed.
**Option B: add a feature in CiviEvent**
Add a "no deduplication" feature (like there is an option to deactivate deduplication in profiles) and add this option to the duplicate rule dropdown in the event configuration.
Any (other) ideas?