Events - archive issueshttps://lab.civicrm.org/dev/event/-/issues2024-01-12T01:27:42Zhttps://lab.civicrm.org/dev/event/-/issues/23"Confirm from waitlist" doesn't consider whether participant roles are counted.2024-01-12T01:27:42ZJonGold"Confirm from waitlist" doesn't consider whether participant roles are counted.To test this:
* Set your Participant Role of "Host" as not Counted. Keep "Attendee" as Counted.
* Create an event with a max enrollment of 1.
* Register a host.
* Observe that everywhere you can look in the UI, the non-counted participan...To test this:
* Set your Participant Role of "Host" as not Counted. Keep "Attendee" as Counted.
* Create an event with a max enrollment of 1.
* Register a host.
* Observe that everywhere you can look in the UI, the non-counted participant isn't counted; registration is still open.
* Register an attendee.
* Add an attendee to the waitlist.
* Cancel (or delete) the registered attendee's participant record.
* At this point, everything STILL works correctly.
The issue only arises when the person gets the "Confirm you want to come off the waitlist" email and clicks the link, bringing them to `<site>/civicrm/event/confirm`. This page says that registration is closed - because it's counting the Host against the max enrollment count.
After working through this, I realized this is very similar to #7 - the function `CRM_Event_BAO_Participant::pendingToConfirmSpaces()` is a dog. It duplicates code found elsewhere, but poorly.
I replaced the one reference to this function with a call to `CRM_Event_BAO_Participant::eventFull()`, which I tweaked slightly to accommodate this use case. This means that:
* We removed a 50-line function by adding 5 lines to another function;
* We replaced an untested function with a tested one.5.23.0JonGoldJonGoldhttps://lab.civicrm.org/dev/event/-/issues/16Event registration by an administrator sends confirmation email regardless of...2022-04-22T16:23:20ZUpperholmeEvent registration by an administrator sends confirmation email regardless of confirmation settingWhen recording an event registration through the back-end (i.e. as an administrator) it is possible to untick the checkbox against the setting labelled as "Send Confirmation" or for a paid event "Send Confirmation and Receipt".
The expec...When recording an event registration through the back-end (i.e. as an administrator) it is possible to untick the checkbox against the setting labelled as "Send Confirmation" or for a paid event "Send Confirmation and Receipt".
The expected behaviour is that when this checkbox is unchecked then no email will be sent.
In practice this setting appears to be ignored and the email notification is sent regardless.
Using CivicRM 5.13.5 with Drupal 7.https://lab.civicrm.org/dev/event/-/issues/54Cannot "Transfer or Cancel" event participant as admin user2022-04-22T16:23:18Zmark-rodgers11markrodgers11@gmail.comCannot "Transfer or Cancel" event participant as admin user* OS: CentOS Linux release 7.9.2009 (Core)
* Apache: 2.4.46
* MariaDB: 5.7.33
* PHP: 7.2.34
* CiviCRM: 5.36.0
* Drupal: 7.79
---
When trying to _Transfer or Cancel_ an event participant from the _Events_ tab on the contact view I get t...* OS: CentOS Linux release 7.9.2009 (Core)
* Apache: 2.4.46
* MariaDB: 5.7.33
* PHP: 7.2.34
* CiviCRM: 5.36.0
* Drupal: 7.79
---
When trying to _Transfer or Cancel_ an event participant from the _Events_ tab on the contact view I get the following error: "This event registration can not be transferred or cancelled. Contact the event organizer if you have questions."
I tested this as a Drupal user with the administrator role, all permissions are enabled for this role.
If I enable "Allow self-service cancellation or transfer?" on the Online Registration tab of the manage event page, then I am able to cancel/transfer.
We don't want to allow self-service by the registrants themselves, but shouldn't administrators be able to cancel or transfer event participants, without that option on the event being enabled? I don't recall ever running into this issue before we upgraded to CiviCRM 5.36.0 a few days ago. Possible regression bug?
![image](/uploads/e56d2ece09ea918024394b274ea0eee8/image.png)5.38.0https://lab.civicrm.org/dev/event/-/issues/67Registering a participant with Pending event payment gives misleading informa...2022-04-22T16:23:17ZspalmstromRegistering a participant with Pending event payment gives misleading information.1. Register a participant for an event.
1. Record a payment as pending, not complete.
The payment is not recorded in the database, but is displayed in the receipt emailed to that participant. Surely the receipt should not show that mone...1. Register a participant for an event.
1. Record a payment as pending, not complete.
The payment is not recorded in the database, but is displayed in the receipt emailed to that participant. Surely the receipt should not show that money has been paid when it is not recorded on the system?
No record of payment here:
![image](/uploads/31a066d0f19840ae8120b0d54a602a43/image.png)
but here is the body of the email.
Dear First_1003,
===========================================================
Event Information and Location
===========================================================
Conference 2022
13th May, 2022 12:00 AM-15th May, 2022 12:00 AM
xxxxxxx
xxxxxx
xxx, xxxe xxx xxx
xxx xxx
Event Contacts:
Phone: xxxx
Email: xxxxx
===========================================================
Registered Email
===========================================================
first_1003.last_1003@somedomain.com
===========================================================
Event Fee(s)
===========================================================
---------------------------------------------------------
Item Qty Each Total
----------------------------------------------------------
En suite double 1 £ 150.00 £ 150.00
**Total Paid: £ 20.00
Balance: £ 130.00**
Registration Date: 31st January, 2022 4:40 PM
Transaction Date: 31st January, 2022 4:41 PM
Financial Type: Conference Fee
Paid By: Online payment
==========================================================
Conference Fields
==========================================================
Dietary Requirements:
Music:
Other:
Subsidy Fund (Optional):
==========================================================
Conference Payment
==========================================================
Payment options: Deposit of £20 per person online
Notice the payment is recorded.https://lab.civicrm.org/dev/event/-/issues/29Back-office registration of guest participants2022-04-22T16:23:15ZJKingsnorthBack-office registration of guest participants**Motivation:**
Currently it is not possible to add 'additional participants' (guests) to an event booking in the back end. Instead, you need to create a new booking for the guest record, and then there is no way to 'link' them to the le...**Motivation:**
Currently it is not possible to add 'additional participants' (guests) to an event booking in the back end. Instead, you need to create a new booking for the guest record, and then there is no way to 'link' them to the lead booker.
**Solution:**
Allow additional participants (guests) to be added to someone's booking, when managing participants through the back end, eg:
![image](/uploads/94a30a31a10716d5aca4b115d11cde69/image.png)
**Previous work:**
See https://issues.civicrm.org/jira/browse/CRM-19047 . The PR here (https://github.com/civicrm/civicrm-core/pull/8676) works for adding guests to peoples' bookings in the back end for free events. But we ran into some problems with paid events, because of the way the contribution row is handled.
We are currently working on this and hope to submit a new PR that will work for free and paid events by the end of January.JKingsnorthJKingsnorthhttps://lab.civicrm.org/dev/event/-/issues/6Allow duplicate backend registration when event has "allow same participant e...2022-04-22T16:23:07ZbgmAllow duplicate backend registration when event has "allow same participant emails"We have the following use-case:
* Organisation using CiviEvent for a box office, i.e. to sell tickets for concerts
* People may buy multiple tickets for concerts, and often not at the same time.
For example, they may have bought a tick...We have the following use-case:
* Organisation using CiviEvent for a box office, i.e. to sell tickets for concerts
* People may buy multiple tickets for concerts, and often not at the same time.
For example, they may have bought a ticket during pre-sales, then later bought a ticket as a gift for a friend.
The front-end allows this, thanks for the "allow same participant emails". However the backend does not validate this option. When adding a backend registration, if the participant has already bought a ticket, the admin will get an error message: "This contact has already been assigned to this event."
Looking at Stack Exchange, I found this thread:
https://civicrm.stackexchange.com/questions/15826/enable-multiple-event-registration-for-same-purchaser-participant
Since we use the Event Cart and the [boxoffice](https://lab.civicrm.org/extensions/boxoffice) extension, I implemented a workaround here:
https://lab.civicrm.org/extensions/boxoffice/commit/526703f40c772930bac18e16f71e918e5bd50fb1#d8fbb70d3d7f43c0bde3f9f1385c3d03e740a39f_0_79
but we could avoid all those overrides by adding those 4 lines of code to CRM_Event_Form_Participant.
cc @cmtool5.17.0https://lab.civicrm.org/dev/event/-/issues/56Should back-end users be able to add event registration selections for sold o...2022-04-22T16:23:01ZlarsssandergreenShould back-end users be able to add event registration selections for sold out price set items?Currently, if a price set selection is sold out, back-end users can add this selection on Events - Register Event Participant or from search, but if they edit a existing registration (e.g. from the Contact record, Events, View, Change Se...Currently, if a price set selection is sold out, back-end users can add this selection on Events - Register Event Participant or from search, but if they edit a existing registration (e.g. from the Contact record, Events, View, Change Selections) they cannot either add or subtract from sold out selections as these are disabled/frozen.
Obviously, back-end users should be able to remove registrants from sold out selections and both of these forms should work in the same way for adding registrations (i.e. either you should or shouldn't be able to add registrants to sold out items on both).
I think back-end users should also be able to add registrants to sold out price set selections. There could be many reasons for orgs to want to enabled their staff to add event registrants to selections (special treatment for VIPs, entering paper registrations, etc). I propose to unfreeze these fields on the Change Selections form, but keep the "Sold out" text so that back-end users can see these selections are sold out, at the same time adding "Sold out" text on the Events - Register Event Participant form.
With this change, staff will be able to see a selection is sold out, but make the choice to add a registrant nonetheless. The work around we use currently is to temporarily increase the price set selection limit and then decrease it again after adding the selection, but this is awkward and not obvious.
I think this could be accomplished by moving the [check here from the registration form](https://github.com/civicrm/civicrm-core/blob/5db0bc3c1f54eaca4307f103a73bda596ae914d6/CRM/Event/Form/Registration/Register.php#L764) to [here in the price field](https://github.com/civicrm/civicrm-core/blob/35093fbff08842016c1ef01042e225b9cb5ffec2/CRM/Price/BAO/PriceField.php#L353). I will submit a PR if supported.https://lab.civicrm.org/dev/event/-/issues/28Scheduled reminders are incorrectly sent from event templates when "additiona...2022-04-22T16:22:58ZJonGoldScheduled reminders are incorrectly sent from event templates when "additional group" is selectedTo replicate:
* Create a new event template.
* In the template's Scheduled Reminders, create a reminder.
* In that reminder, select "Also Include" "Group".
* Fire `Job.send_reminder` via API, Scheduled Jobs page, whatever.
Expected res...To replicate:
* Create a new event template.
* In the template's Scheduled Reminders, create a reminder.
* In that reminder, select "Also Include" "Group".
* Fire `Job.send_reminder` via API, Scheduled Jobs page, whatever.
Expected result:
* No scheduled reminders are sent - no event exists.
Actual result:
* Scheduled reminders are sent based on the template.5.23.0JonGoldJonGoldhttps://lab.civicrm.org/dev/event/-/issues/49Hide explanatory text about multiple participants unless 2 or more participan...2022-04-22T16:22:56ZlarsssandergreenHide explanatory text about multiple participants unless 2 or more participants selectedOn event registration pages, when multiple participants is enabled, there is a lengthy bit of explanatory text shown:
"Fill in your registration information on this page. If you are registering additional people, you will be able to ente...On event registration pages, when multiple participants is enabled, there is a lengthy bit of explanatory text shown:
"Fill in your registration information on this page. If you are registering additional people, you will be able to enter their registration information after you complete this page and click "Continue"."
It would be better to hide this text until the user selects a number of participants greater than one. I'll submit a patch if this change is supported.https://lab.civicrm.org/dev/event/-/issues/60Event reminder html mandatory2022-04-22T16:22:54ZStefanEvent reminder html mandatoryHello everyone,
Wordpress: 5.7.2
Civicrm: 5.37.2
When I send scheduled event reminders it says, that html is mandatory.
I wonder why that is, cause I don't have to send html mails in traditional mail sending.
For me that was an issu...Hello everyone,
Wordpress: 5.7.2
Civicrm: 5.37.2
When I send scheduled event reminders it says, that html is mandatory.
I wonder why that is, cause I don't have to send html mails in traditional mail sending.
For me that was an issue, therfore I haven't had an html editor activated and without one it was a mess for my users to send a formatted html mail.
Still I think, if there aren't serious concerns about that, just sending plain mails should be allowed.https://lab.civicrm.org/dev/event/-/issues/27Self-service cancellation and transfer can't be separated2022-04-22T16:22:49ZJonGoldSelf-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/event/-/issues/10Most recent contact note exposed in event confirmation emails2022-04-22T16:22:48ZBobSMost 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/event/-/issues/45Provide wysiwyg editor for confirmation email text2022-04-22T16:22:45ZthemakProvide 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/event/-/issues/42Separate out Search participant register form from backoffice form2022-04-22T16:22:44ZeileenSeparate 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/2680270a298746e1b42415b7e2bc6559/Screen_Shot_2020-09-16_at_4.11.12_PM.png)https://lab.civicrm.org/dev/event/-/issues/41Balance owed visually not updated and multiple definitions of function displa...2022-04-22T16:22:43ZDaveDBalance 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/event/-/issues/36CALSCALE being inserted at the wrong place in generated ICalendar files2022-04-22T16:22:42ZbrongCALSCALE 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/event/-/issues/32"Confirm Event Invitation" message template has a bad variable2022-04-22T16:22:41ZJonGold"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/event/-/issues/31E_NOTICES when visiting a contact's Events tab under certain conditions.2022-04-22T16:22:39ZDaveDE_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/event/-/issues/18Implement tests for Event Registration pages2022-04-22T16:22:37Zmattwiremjw@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/event/-/issues/17Event registration only creates one ParticipantPayment record when registerin...2022-04-22T16:22:36Zmattwiremjw@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?