Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-04-25T19:33:41Zhttps://lab.civicrm.org/dev/core/-/issues/3399Self-service cancellation and transfer can't be separated2023-04-25T19:33:41ZJonGoldSelf-service cancellation and transfer can't be separatedCurrently, you can enable self-service "cancel and transfer". This means you can't enable self-service cancellation for events where registration is non-transferable.
NB: This whole self-service event code would make a much better exte...Currently, you can enable self-service "cancel and transfer". This means you can't enable self-service cancellation for events where registration is non-transferable.
NB: This whole self-service event code would make a much better extension than core code.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3398Most recent contact note exposed in event confirmation emails2022-04-22T16:22:47ZBobSMost recent contact note exposed in event confirmation emails* Create an event where the on-line registration profile contain a Contacts:Note field.
* Contact leaves that field blank during form submission.
* Result: Contact receives a confirmation email showing the most recent note on that contac...* Create an event where the on-line registration profile contain a Contacts:Note field.
* Contact leaves that field blank during form submission.
* Result: Contact receives a confirmation email showing the most recent note on that contact.
Not sure if this behavior is intentional, but I consider it problematic.
- a) Showing a contact a note he might have submitted years ago is rather confusing.
- b) Backend users may have an expectation of confidentiality when they add notes to a contact record, believing that info will never be exposed to the contact.
Confirmed on CiviCRM 5.13.4, 5.15.1.https://lab.civicrm.org/dev/core/-/issues/3397Quicklink to participant search on manage events includes Pending In Cart but...2022-04-22T16:22:46ZDaveDQuicklink to participant search on manage events includes Pending In Cart but that isn't an option in the list of statuses on event searchOn manage events there's a quicklink on the right hand side under Participants that takes you to no-show, cancelled, etc. It includes Pending in Cart, but this isn't a searchable status because it's hardcoded to be excluded.
Where this ...On manage events there's a quicklink on the right hand side under Participants that takes you to no-show, cancelled, etc. It includes Pending in Cart, but this isn't a searchable status because it's hardcoded to be excluded.
Where this came up was during testing https://github.com/civicrm/civicrm-core/pull/16038 I'm getting an E_NOTICE on my local and the status field on the search form doesn't get filled in. In trying to track that down I'm still not sure if it's related to this issue but I saw that even on dmaster.demo Pending In Cart is being searched on by that quicklink but not appearing in the list of statuses.
So the question is which of these is correct?:
1. It should be in the list for the quicklink and in the list of searchable statuses.
1. It shouldn't be in the list for the quicklink.https://lab.civicrm.org/dev/core/-/issues/3396Provide wysiwyg editor for confirmation email text2024-01-14T05:03:28ZthemakProvide wysiwyg editor for confirmation email textProvide wysiwyg editor for event confirmation emails.
Issue before was that switching to wysiwyg affects previously plain text confirmation emails.
Possible solutions
- Provide the option as a toggle
- develop some sort of translator/...Provide wysiwyg editor for event confirmation emails.
Issue before was that switching to wysiwyg affects previously plain text confirmation emails.
Possible solutions
- Provide the option as a toggle
- develop some sort of translator/convertor for the plain text to wysiwyg transition and make wysiwyg default option.
For reference:
https://github.com/civicrm/civicrm-core/pull/13976
https://civicrm.stackexchange.com/questions/21255/confirmation-email-providing-a-wysiwyg-so-users-can-add-html-ified-contenthttps://lab.civicrm.org/dev/core/-/issues/3395Separate out Search participant register form from backoffice form2024-01-14T05:03:27ZeileenSeparate out Search participant register form from backoffice formThe form you reach when selecting 'Register participant' from contact search is the same as participant edit or create for a single participant. This creates a few problems
1) AdditionalPayment form is extending the Task class purely to...The form you reach when selecting 'Register participant' from contact search is the same as participant edit or create for a single participant. This creates a few problems
1) AdditionalPayment form is extending the Task class purely to support this form
2) This form is calling CRM_Contact_Form_Task::preProcessCommon($this); - which is one of 2 places the static-ness of that function is locked in. By using a static method the expectations around the forms become much harder to track
3) Lots of hard-to-read if-else
Part of the reason for how it is I think is the focus on 'preProcess' as the action. Since that is often blocked using a different action seems to make sense allowing us to switch to $form->preProcessTask as the preferred method & extract out parts of that function (knowing they are accessible since $form is potentially 'any' form & is not restricted to an interface ). We could go down the interface path but that requires us to understand all the classes & methods & properties involved so it feels like an end goal rather than a step - how we re-wind the wool once unknotted)
![Screen_Shot_2020-09-16_at_4.11.12_PM](/uploads/562ff062b7de80d83fc30ffa4ab0bb11/Screen_Shot_2020-09-16_at_4.11.12_PM.png)https://lab.civicrm.org/dev/core/-/issues/3394Balance owed visually not updated and multiple definitions of function displa...2024-01-13T05:03:29ZDaveDBalance owed visually not updated and multiple definitions of function display() in ParticipantFeeSelection formThis came out of PR review for https://github.com/civicrm/civicrm-core/pull/18238
There's probably multiple ways of getting here and different configurations might have different outcomes but take a stock demo install and do
1. Find pa...This came out of PR review for https://github.com/civicrm/civicrm-core/pull/18238
There's probably multiple ways of getting here and different configurations might have different outcomes but take a stock demo install and do
1. Find participants.
1. Pick one and click View, e.g. for the rainforest event.
1. Click the blue Change Selections link.
1. Change the selected price.
1. Nothing happens. No errors in console. At the very least I'd expect the balance owed field to visually update. Saving seems to change the selection as expected.
If you view-source, you can see the display() javascript function is defined 3 times apparently in global space each time. Doing some js debugging the one that gets run is the one from CRM/Price/Form/Calculate.tpl, which itself seems to be included twice so two of the display() functions are identical since they're both from there.
I can't see where the first function is used in civi - the one from CRM/Event/Form/ParticipantFeeSelection.tpl - but there might be many configurations that lead here and do different things.https://lab.civicrm.org/dev/core/-/issues/3393CALSCALE being inserted at the wrong place in generated ICalendar files2024-01-13T05:03:27ZbrongCALSCALE being inserted at the wrong place in generated ICalendar filesWe had a bug report at Fastmail from a customer trying to add the following file to their calendar, which was generated by CiviCRM:
```
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//CiviCRM//NONSGML CiviEvent iCal//EN
X-WR-TIMEZONE:America/Los_...We had a bug report at Fastmail from a customer trying to add the following file to their calendar, which was generated by CiviCRM:
```
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//CiviCRM//NONSGML CiviEvent iCal//EN
X-WR-TIMEZONE:America/Los_Angeles
METHOD:PUBLISH
BEGIN:VEVENT
UID:CiviCRM_EventID_255_c2ebced490c608cd2aa7a6ae86cb8f9a@supporters.eff.org
SUMMARY:At Home With EFF: COVID-19\, Free Speech\, and Pri
vacy
DESCRIPTION:omitted here...
CATEGORIES:Workshop
CALSCALE:GREGORIAN
DTSTAMP;VALUE=DATE-TIME:20200422T120000
DTSTART;VALUE=DATE-TIME:20200422T120000
DTEND;VALUE=DATE-TIME:20200422T131500
URL:https://supporters.eff.org/civicrm/event/info?reset=1&id=255
END:VEVENT
END:VCALENDAR
```
Per the spec, CALSCALE should be in the outer VCALENDAR object, not inside the contained VEVENT object.
See: https://tools.ietf.org/html/rfc5545 section 3.7.
Having said that, `CALSCALE:GREGORIAN` is already the default, so just omitting it would be fine.https://lab.civicrm.org/dev/core/-/issues/3392"Confirm Event Invitation" message template has a bad variable2023-09-04T07:59:16ZJonGold"Confirm Event Invitation" message template has a bad variableIn the above-mentioned template, there are two URLs generated that are ostensibly the same:
```
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid=`$participantID`&{contact.checksum}" h=0 a=1 fe=1}{/captur...In the above-mentioned template, there are two URLs generated that are ostensibly the same:
```
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid=`$participantID`&{contact.checksum}" h=0 a=1 fe=1}{/capture}
```
and:
```
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid=`$participant.id`&{contact.checksum}" h=0 a=1 fe=1}{/capture}
```
`$participant.id` is a valid token in this context. `$participantID` isn't. Easy fix.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3391E_NOTICES when visiting a contact's Events tab under certain conditions.2024-01-12T05:03:27ZDaveDE_NOTICES when visiting a contact's Events tab under certain conditions.I haven't had a chance to get the exact conditions and I don't think it's recent and the following might be a bit off but it's something like:
1. Using latest master.
2. Enable the waitlist features for an event (enable the two waitlist...I haven't had a chance to get the exact conditions and I don't think it's recent and the following might be a bit off but it's something like:
1. Using latest master.
2. Enable the waitlist features for an event (enable the two waitlist participant statuses and the checkbox on an event configuration info tab).
3. Fill up the event to its max participants.
4. Add a waitlist person.
5. Visit their events tab.
`Notice: Undefined index: target_contact_name in CRM_Activity_BAO_Activity::getContactActivitySelector() (line 2611 of .../CRM/Activity/BAO/Activity.php).`
```
elseif (!$values['target_contact_name']) {
$activity['target_contact_name'] = '<em>n/a</em>';
}
```
Note it doesn't show on the screen only in drupal watchdog.https://lab.civicrm.org/dev/core/-/issues/3390API different from Form when setting contrib status to failed for event reg2024-01-12T05:03:26ZJoeMurrayAPI different from Form when setting contrib status to failed for event regUsing the API to set a Contribution's status to "Failed" does not also update its related Participant to "Cancelled", unlike when you edit via the UI.
Move business logic from Form
https://github.com/civicrm/civicrm-core/blob/master/CR...Using the API to set a Contribution's status to "Failed" does not also update its related Participant to "Cancelled", unlike when you edit via the UI.
Move business logic from Form
https://github.com/civicrm/civicrm-core/blob/master/CRM/Contribute/BAO/Contribution.php#L1938
to BAO as per discussion at https://chat.civicrm.org/civicrm/pl/gms1or8wyfni3q3boj8cx1ktxamattwiremjw@mjwconsult.co.ukmattwiremjw@mjwconsult.co.ukhttps://lab.civicrm.org/dev/core/-/issues/3389Implement tests for Event Registration pages2024-01-11T05:03:25Zmattwiremjw@mjwconsult.co.ukImplement tests for Event Registration pages`CRM/Event/Form/Registration/Register.php` needs to be refactored like `CRM/Contribute/Form/Contribution.php` so that we can implement tests on submit.
`CRM_Event_Form_Registration_Register::postProcess()` needs splitting up to call a n...`CRM/Event/Form/Registration/Register.php` needs to be refactored like `CRM/Contribute/Form/Contribution.php` so that we can implement tests on submit.
`CRM_Event_Form_Registration_Register::postProcess()` needs splitting up to call a new function `CRM_Event_Form_Registration_Register::submit()`.
Then we need to add `CRM_Event_Form_Registration_Register::testSubmit()` and write some tests to call this function.https://lab.civicrm.org/dev/core/-/issues/3388Event registration only creates one ParticipantPayment record when registerin...2024-01-11T05:03:24Zmattwiremjw@mjwconsult.co.ukEvent registration only creates one ParticipantPayment record when registering multiple participants1. Setup a paid event registration page.
2. Register multiple participants.
3. Only one ParticipantPayment record created - linking the primary participant record to the contribution.
Expected: Each Participant record has a ParticipantP...1. Setup a paid event registration page.
2. Register multiple participants.
3. Only one ParticipantPayment record created - linking the primary participant record to the contribution.
Expected: Each Participant record has a ParticipantPayment record.
The Order API does this correctly. Thanks @andrei for finding this.
Extend `CRM_Event_Form_Registration_ConfirmTest::testTaxMultipleParticipant()` to test this?https://lab.civicrm.org/dev/core/-/issues/3387Captcha not working when registering multiple participants online from same p...2022-09-30T12:56:35ZMartinCaptcha not working when registering multiple participants online from same profile (Jira CRM-21824)I'm having this issue (on civi 5.14.1) and found it on Jira but not here... So I'm restarting it. :)
Original: https://issues.civicrm.org/jira/browse/CRM-21824
Copied description:
* When creating an event and allowing contacts to regi...I'm having this issue (on civi 5.14.1) and found it on Jira but not here... So I'm restarting it. :)
Original: https://issues.civicrm.org/jira/browse/CRM-21824
Copied description:
* When creating an event and allowing contacts to register multiple participants online.
* And where the profile for the registration has captcha enabled
* And where the additional participants are registered using the same profile as the initial contact.
* Online registration is failing with a message that the captcha hasn't been completed.
In earlier versions if multiple participants where booked via this method. The first participant record was shown the captcha and this held for subsequent booked participants. This bug was noticed after a client moved from 4.6 to 4.7 versions. Answer at the moment is to not allow multiple participants, or to create a new profile without captcha for recording additional participants.https://lab.civicrm.org/dev/core/-/issues/3386Discussion of Event Cart Documentation on Wiki2024-01-10T05:03:22ZCM ToolanDiscussion of Event Cart Documentation on Wiki@bgm
I made an issue so that there would be a centralized place for questions/discussion!
On-going Wiki:
https://lab.civicrm.org/dev/event/wikis/event-cart
Note: I think all the screenshots need to be re-done later with default Civi,...@bgm
I made an issue so that there would be a centralized place for questions/discussion!
On-going Wiki:
https://lab.civicrm.org/dev/event/wikis/event-cart
Note: I think all the screenshots need to be re-done later with default Civi, and I'm leaning towards just using the 'Annual Chess Conference' as the demo, as it makes more sense that the Concert/Play example because those really need box office/eventpack to make sense/behave as expected.
> "# View Cart
> View of all events in your cart so far, with links to event info and Remove. A button will take you to checkout, asking you to log in if you haven't already. Anonymous users can have items in their cart, but cannot begin checkout without an account."
I only have Spark, and I think it's acting a bit odd because it's not connected to a website. This is still default behavior that needs https://lab.civicrm.org/extensions/boxoffice to override, right?
> To manage conference slot labels, go to "Conference Slot Labels", in Administer -> Administration Console -> Conference Slot Labels.
This is really confusing. Once one arrives at this page, what does one do?
That's as far as I got this morning, will be back to add more comments/progress/quesetions.https://lab.civicrm.org/dev/core/-/issues/3384Confirming from waitlist counts deleted contacts2022-04-22T16:22:27ZJonGoldConfirming from waitlist counts deleted contactsTo replicate:
* Create an event with a waitlist of 1.
* Register a new contact ("User 1") for the event through the public interface (anonymously).
* Delete the contact.
* register 2 more contacts through the public interface. Note how ...To replicate:
* Create an event with a waitlist of 1.
* Register a new contact ("User 1") for the event through the public interface (anonymously).
* Delete the contact.
* register 2 more contacts through the public interface. Note how the deleted contact is NOT counted, and you can register User 2 for the event, and User 3 goes on the waitlist.
* Cancel User 2's registration and run the "Update Participant Statuses" scheduled job.
* User 3 will now receive an email to ask them to confirm they want to come off the waitlist. However, when you click the link, you're told that the event is full (because User 1, despite being deleted, is still counted).
The issue is `CRM_Event_BAO_Participant::pendingToConfirmSpaces()`. Not only does it not count deleted contacts, but it appears (haven't tested) to not count correctly if an event registration counts for multiple people.
The solution is to remove this code and replace the one place it's called with a call to `CRM_Event_BAO_Event::getParticipantCount()`.
I don't have time/funding to do this, but wanted to record my findings in case someone else encountered this problem.5.23.0https://lab.civicrm.org/dev/core/-/issues/3383Edit Event Registration missing some items.2023-06-13T13:13:06ZspalmstromEdit Event Registration missing some items.Overview
----------------------------------------
Edit Event Registration is missing some information, e.g. Selection, the email address to which to send information, the latter replaced by a ? and the payment record.
Reproduction steps...Overview
----------------------------------------
Edit Event Registration is missing some information, e.g. Selection, the email address to which to send information, the latter replaced by a ? and the payment record.
Reproduction steps
----------------------------------------
1. Click on **Events -> Manage Events -> Find Events**.
1. Choose and event and click on **Participants**
1. Find a Participant and click on **Edit**.
Current behaviour
----------------------------------------
![2021-01-21__6_](/uploads/8ae54116f903c266e07501b05d0ce865/2021-01-21__6_.png)![2021-01-21__7_](/uploads/8eed2965eaa90f3d927664d0321dcf5d/2021-01-21__7_.png)
Notice the missing Selection, email address and payment record.
Expected behaviour
----------------------------------------
Under 5.30.1 and Joomla you get.
![2021-01-21__2_](/uploads/19ac447edbb7d5f9f9206e02761a1d65/2021-01-21__2_.png)
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is necessary. -->
* __Browser:__ _MS Edge_ but probably irrelevant
* __CiviCRM:__ _5.33.2_ but _5.30.1_ doesn't have the issue<!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.4_ but probably irrelevant.
* __CMS:__ _Drupal 9.1.2_ but probably irrelevant
* __Database:__ _MySQL 8.0.22_ but probably irrelevant.
* __Web Server:__ _IIS 10_ but probably irrelevant.
Comments
----------------------------------------
_Anything else you would like the reviewer to note._
Finding the relevant contact, clicking on **View -> Events** and choosing to edit the same event registration gives the 'correct' behaviour:
![2021-01-21__3_](/uploads/972245f64d0a390e30015ffd2d1efee9/2021-01-21__3_.png)https://lab.civicrm.org/dev/core/-/issues/3381Event Registration Confirm/Thank You pages show incorrect currency2024-02-08T23:37:57ZbwheelerEvent Registration Confirm/Thank You pages show incorrect currencyThe event registration confirmation/thank you pages display the incorrect currency. Steps to reproduce:
* Create a new event with a non-default currency (in my case EUR)
* Add a price set to fees and allow registration
The main event p...The event registration confirmation/thank you pages display the incorrect currency. Steps to reproduce:
* Create a new event with a non-default currency (in my case EUR)
* Add a price set to fees and allow registration
The main event page, confirmation and thank you pages will all show the incorrect currency.
We fixed this for a client by doing the following:
````
diff --git a/sites/all/modules/contrib/civicrm/CRM/Event/Form/Registration.php b/sites/all/modules/contrib/civicrm/CRM/Event/Form/Registration.php
index 74526af6a..947cc051e 100644
--- a/sites/all/modules/contrib/civicrm/CRM/Event/Form/Registration.php
+++ b/sites/all/modules/contrib/civicrm/CRM/Event/Form/Registration.php
@@ -452,6 +452,8 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
}
}
+ $this->assign('currency', $params['currencyID']);
+
$this->assign('address', CRM_Utils_Address::getFormattedBillingAddressFieldsFromParameters($params, $this->_bltID));
// The concept of contributeMode is deprecated.
````
The problem is that `templates/CRM/Price/Form/LineItem.tpl` uses the `$currency` variable, but `Event/Form/Registration.php` sets `$currencyID` and not `$currency`
However, it still doesn't work for on-the-fly (non-price-set) prices.
This bug may be related to the following:
* https://lab.civicrm.org/dev/core/-/issues/2930
* https://lab.civicrm.org/dev/core/-/issues/4115.71.0https://lab.civicrm.org/dev/core/-/issues/3380Scheduled Reminder token fails for additional group2024-01-09T05:03:22ZStefanScheduled Reminder token fails for additional groupHello everyone,
got this issue for a year now, someone told to open an issue and I do hope, this is the place for that specific one.
I now use:
Wordpress: 5.7.2
Civicrm: 5.37.2
I create an event and set up a mail-reminder, which goes ...Hello everyone,
got this issue for a year now, someone told to open an issue and I do hope, this is the place for that specific one.
I now use:
Wordpress: 5.7.2
Civicrm: 5.37.2
I create an event and set up a mail-reminder, which goes to roles and also to one additional group.
In the html field I then add {event.start_date}.
{event.start_date} works for the roles, e.x. registered.
{event.start_date} **does not work** for group recipients.
Also other event(?)-token doesn't work for that group recipients.
For testing I also deactivated all extensions.
Please can someone confirm this issue?https://lab.civicrm.org/dev/core/-/issues/3379Can't meaningfully disable self-service transfer/cancellation once enabled2022-04-22T16:22:15ZJonGoldCan't meaningfully disable self-service transfer/cancellation once enabledTo replicate:
* Create an event. Enable self-service transfer/cancellation.
* Register a participant, receive the email to the self-service update page.
* Disable self-service transfer/cancellation.
* Click the self-service link. Note t...To replicate:
* Create an event. Enable self-service transfer/cancellation.
* Register a participant, receive the email to the self-service update page.
* Disable self-service transfer/cancellation.
* Click the self-service link. Note that you can still load the self-service page even though self-service has been disabled.
This is an easy fix, but given the many self-service issues, I think a refactor is in order first, so I'll submit that before proceeding.5.29.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3378Find Participants searches using the Event Dates and relative search criteria...2022-04-22T16:22:13Zjustinfreeman (Agileware)Find Participants searches using the Event Dates and relative search criteria will not display any Event Participants for Events which have no defined Event End DateFind Participants searches using the Event Dates and relative search criteria will not display any Event Participants for Events which have no defined Event End Date.
**Steps to reproduce**
1. Create an Event
1. Set the Event Start Date...Find Participants searches using the Event Dates and relative search criteria will not display any Event Participants for Events which have no defined Event End Date.
**Steps to reproduce**
1. Create an Event
1. Set the Event Start Date
1. Do not set the Event End Date (because you can)
1. Complete the other Event details
1. Save the Event
1. Register a few Participants for the Event
1. Go to the Find Participants page
1. Enter search criteria, Event Dates: "this calendar year"
1. Note that the search criteria is listed on the page like: *Start Date - greater than or equal to "January 1st, 2019 12:00 AM" ...AND... End Date - less than or equal to "December 31st, 2019 11:59 PM" ...AND... Participant is not a Test*
1. The Participants registered for the Event with no end date are not listed, this is wrong
1. Because an End Date value is queried, those Events with a null End Date are excluded from the results
**Recommended change**
* Make the Event End Date mandatory, as discussed on event#4
* Or fix this bug by also including End Date is null in the search criteria