CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2022-04-22T16:23:18Zhttps://lab.civicrm.org/dev/core/-/issues/3411Cannot "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/a45e49fc47d644823f559715e3aaa326/image.png)5.38.0https://lab.civicrm.org/dev/core/-/issues/3410Registering a participant with Pending event payment gives misleading informa...2023-09-06T00:16:18ZspalmstromRegistering 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/cd696e04f6227e4446e142e35ffa81a0/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.5.66.0https://lab.civicrm.org/dev/core/-/issues/3408Allow the "Cancellation or transfer time limit (hours)" to be negative2022-04-22T16:23:12ZJonGoldAllow the "Cancellation or transfer time limit (hours)" to be negativeEvents are often multi-day events; in my particular use case, events represent university courses, and there is an add/drop period wherein students may freely cancel their registration in the first week of classes.
This involves changin...Events are often multi-day events; in my particular use case, events represent university courses, and there is an add/drop period wherein students may freely cancel their registration in the first week of classes.
This involves changing the relevant MySQL field from an `unsigned int` to a `signed int`, altering a few lines of form-level validation, and changing some help text to document the change.5.30.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3407End Date on CiviCRM Events mandatory2023-07-08T15:04:35ZseamusleeEnd Date on CiviCRM Events mandatoryIn the Australian Greens we have found that the manage events screen has become a bit unusable in a way becuase the end_date field on events has not been being filled out, as such for the manage events search query they never end
There ...In the Australian Greens we have found that the manage events screen has become a bit unusable in a way becuase the end_date field on events has not been being filled out, as such for the manage events search query they never end
There are a couple of possible solutions to this
1. Make the end date mandatory, this would be the simplest approach and i think one that might be most sensible
2. Use Javascript or PHP to set a default end date of 2Hours after the start of the event or some value set by setting.
I lean towards 1 but would appreciate the communities thoughts5.63.0https://lab.civicrm.org/dev/core/-/issues/3403Scheduled reminders are incorrectly sent from event templates when "additiona...2022-04-22T16:22:57ZJonGoldScheduled 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/core/-/issues/3400Contact Dashboard does not show Event Participations for non-admins2022-04-22T16:22:50ZbgmContact Dashboard does not show Event Participations for non-adminsUsing dmaster, change the following permissions for the "authenticated user":
* add: "CiviCRM: access AJAX API"
* add: "CiviEvent: register for events"
Then create a contact and a Drupal user with no special role (so that they are just...Using dmaster, change the following permissions for the "authenticated user":
* add: "CiviCRM: access AJAX API"
* add: "CiviEvent: register for events"
Then create a contact and a Drupal user with no special role (so that they are just 'authenticated user').
Register that contact for an event.
Finally, go to their "Contact Dashboard", and notice that their participation will be displayed:
![Capture_d_écran_de_2020-10-13_15-48-19](/uploads/8b31b9c863295755e7efa07c1f16e5af/Capture_d_écran_de_2020-10-13_15-48-19.png)
Now, login as the user, and go to their CiviCRM Contact Dashboard (`/civicrm/user?reset=1`). Notice that their participation is not visible:
![event-2020-10-13_15-49](/uploads/dc3e10ef2ee76f541f33662917ce8408/event-2020-10-13_15-49.png)
Broken since 5.29.5.30.1https://lab.civicrm.org/dev/core/-/issues/3385Event cart hidden/enabled in buildkit 5.29 RC2022-04-22T16:22:30ZAndie HuntEvent cart hidden/enabled in buildkit 5.29 RCWhen viewing an event info page, there's a "Add to Cart" button. It looks like the eventcart extension is enabled (looking via the API) but it is not visible through the UI.
I don't know if this is for buildkit only or something that w...When viewing an event info page, there's a "Add to Cart" button. It looks like the eventcart extension is enabled (looking via the API) but it is not visible through the UI.
I don't know if this is for buildkit only or something that will take effect for everyone when they download the tarball, but it shouldn't be the default for buildkit to enable the event cart.5.29.0https://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/3382Data from custom fields is not stored in event but in event template2022-04-22T16:22:22ZoseidelData from custom fields is not stored in event but in event templateWhen creating a new event using an event template which includes custom fields, the data entered in the custom fields won't be stored in the event itself when clicking the 'Continue'-button, but are stored in the event template. After cl...When creating a new event using an event template which includes custom fields, the data entered in the custom fields won't be stored in the event itself when clicking the 'Continue'-button, but are stored in the event template. After clicking 'Continue' and then going back to the 'Info and Settings'-tab all data entered in the custom fields is gone. However, the data can be found in the used event template now. By going into edit mode the data is set in the template's custom fields and will be prefilled in the next event generated using this template.
This issue might be conneted to this one: [Core Issue 766](https://lab.civicrm.org/dev/core/-/issues/766)
See also a related post on [stackexchange](https://civicrm.stackexchange.com/questions/20709/new-event-from-template-does-not-copy-custom-fields)
Notice that custom field are 'only' lost in this cases, while it gets stored in the template in this one.
Steps to reproduce:
1. Set up fresh Joomla instance (V. 3.9.26 at the time of writing)
2. Install latest CiviCRM for Joomla (V. 5.37.2 at the time of writing)
3. Create a new set of custom fields (I've been using text, date and select inputs in my tests)
4. Create a new event template and fill out all necessary inputs (I've also entered something in the title, summary and description).
5. Create a new event using the newly created template. Enter something in all necessary fields as well as in the custom fields.
6. Click 'Continue'
7. Return to 'Info and Settings' - the data entered in the custom fields is gone :/
8. Open the template in edit mode. The custom data we previously entered in the event is here now
This issue can be reproduced in CiviCRM 5.37.0 and 5.37.2, but not in 5.36.1 used in the [Joomla Demo](https://cividemo.com/).
I've been using the following environments to test: AMPPS 3.9 and XAMPP (compile date 4-6-21) with PHP 7.3.
As I'm only using CiviCRM inside Joomla I haven't testet whether this issue also appears in other CMS- or the standalone-version.
A possible workaround for the problem is to skip entering something in the custom fields in Step 5 but doing so in Step 7. The contents of custom fields are saved correctly now. However, another strange behaviour occurs now: If there is any content of the custom fields already set in the template (e.g. if a field is set as required), this data is missing in the event using the template. Even in fields marked as required - the content set in the template is just gone.5.39.0https://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/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/3377Why are unique labels for price fields required?2022-04-22T16:22:10ZStoobWhy are unique labels for price fields required?This is a question not a proposal or bug report. Should a unique label for price fields be enforced (seen attached)?
Here are two use cases:
* event registration where the price of attendance changes over time (early bird) but the e...This is a question not a proposal or bug report. Should a unique label for price fields be enforced (seen attached)?
Here are two use cases:
* event registration where the price of attendance changes over time (early bird) but the event itself or the nature of the registration doesn't change
* membership registration 'special' where prior to a certain date memberships are on sale
It seems in these cases a unique label is not necessary.
![why](/uploads/5b0f604ac6fba41973e16fcfd865932b/why.png)5.47.0AllenShawAllenShawhttps://lab.civicrm.org/dev/core/-/issues/3370Event confirmation emails should go to the email submitted, not primary email2022-04-22T16:21:59ZJonGoldEvent confirmation emails should go to the email submitted, not primary email### Scenario
A site visitor submits an event registration with email "myemail@example.com". This user is matched to an existing record, whether through unsupervised dedupe or they're logged in. Their primary email "oldemail@example.com...### Scenario
A site visitor submits an event registration with email "myemail@example.com". This user is matched to an existing record, whether through unsupervised dedupe or they're logged in. Their primary email "oldemail@example.com" receives the confirmation message.
This scenario is fairly rare because it's likely that the profile records the new email is the same location type as the old email, replacing it. However, I would argue that the expected behavior of any site visitor registering for an event is that the confirmation reaches them at the email provided. This is especially true if the old email is no longer in use.5.43.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3368"Confirm from waitlist" doesn't consider whether participant roles are counted.2022-04-22T16:21:55ZJonGold"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 event#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/core/-/issues/3366Price option reaches max amount causes critical error.2022-04-22T16:21:52ZBruce ThompsonPrice option reaches max amount causes critical error.If a price field is setup with price options that have a max amount when that max amount of registrations is met the site throw a critical error in WordPress. First noticed this in CiviCRM v 5.35.1. I updated a site to 5.36 with the same...If a price field is setup with price options that have a max amount when that max amount of registrations is met the site throw a critical error in WordPress. First noticed this in CiviCRM v 5.35.1. I updated a site to 5.36 with the same result and then tested on https://wpmaster.demo.civicrm.org/ which is currently running 5.38.alpha1 and I received similar results xcept I didn't get the WP critical error message just a http 500 notice. Here is the error message sent via WordPress after the critical error page. There is nothing in the CiviCRM logs.
> An error of type E_ERROR was caused in line 209 of the file /home/account_name/public_html/wp-content/plugins/civicrm/civicrm/CRM/Price/BAO/PriceField.php. Error message: Uncaught Error: Call to a member function freeze() on string in /home/account_name/public_html/wp-content/plugins/civicrm/civicrm/CRM/Price/BAO/PriceField.php:209
Stack trace:
#0 /home/account_name/public_html/wp-content/plugins/civicrm/civicrm/CRM/Price/BAO/PriceField.php(439): CRM_Price_BAO_PriceField::freezeIfEnabled('
Happy to provide additional information.5.36.1https://lab.civicrm.org/dev/core/-/issues/3365"Self-service eligibility" has incorrect behavior when "hours to cancel" is zero2022-04-22T16:21:50ZJonGold"Self-service eligibility" has incorrect behavior when "hours to cancel" is zero#### Steps to replicate:
* Create an event with self-service cancel/transfer enabled, with the default "up to 0 hours before the event".
* Register a contact, get the cancellation link in your email.
* Set the event's begin/end date in t...#### Steps to replicate:
* Create an event with self-service cancel/transfer enabled, with the default "up to 0 hours before the event".
* Register a contact, get the cancellation link in your email.
* Set the event's begin/end date in the past.
* Attempt to cancel.
##### Expected result
The event shouldn't allow you to cancel because it's in the past.
##### Actual result
Cancellation is permitted.
This is just an `isset()` vs. `!empty()` issue. I made some grammatical fixes while I was in there though.5.33.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3360deprecated function error2022-04-22T16:21:37ZJoeMurraydeprecated function errorOn dmaster go to Manage Events, then click on the leftmost icon on top right (blue in the included image).
![Screenshot_20210219-171528_Chrome](/uploads/f6ff11c7f923ca071f8fce241bec2bf2/Screenshot_20210219-171528_Chrome.png)
Error tha...On dmaster go to Manage Events, then click on the leftmost icon on top right (blue in the included image).
![Screenshot_20210219-171528_Chrome](/uploads/f6ff11c7f923ca071f8fce241bec2bf2/Screenshot_20210219-171528_Chrome.png)
Error that shows is:
Deprecated function: Non-static method CRM_Event_ICalendar::run() should not be called statically in CRM_Core_Invoke::runItem() (line 278 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php).5.36.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/3359Partial payments fail on events in a modal dialog box2022-04-22T16:21:35ZJonGoldPartial payments fail on events in a modal dialog box### Steps to replicate on a demo site
* Go to a contact's Events tab.
* Click **Add Event Registration**.
* Register someone for a paid event (e.g. "Rainforest Cup Youth Soccer Tournament"), but record only a partial payment (e.g. $300 i...### Steps to replicate on a demo site
* Go to a contact's Events tab.
* Click **Add Event Registration**.
* Register someone for a paid event (e.g. "Rainforest Cup Youth Soccer Tournament"), but record only a partial payment (e.g. $300 instead of $800).
* Submit the form.
### Expected Results
* Event status is completed and "Partially Paid".
### Actual results
* The following error appears (with its missing word): "Payment amount is less than the amount owed. Expected participant status is 'Partially paid'. Are you sure you want to set the participant status to ? Click OK to continue, Cancel to change your entries"
### Notes
The correct behavior IS displayed when the "register event" form isn't in a modal dialog above the contact's Events tab. E.g. registering someone from **Events menu » Register Event Participant** - or even right-clicking the **Add Event Registration** to open it in a new tab doesn't trigger the error.
It looks like the issue is a collision of two DOM elements both named `#status_id`. There's some JavaScript intended to set the status to "Partially Paid" that fails because it's trying to change the wrong element.5.36.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3354Participant name overwritten with Billing Name2022-04-22T16:21:27ZADG CreativeParticipant name overwritten with Billing NameNoticed after update to Civi 5.20.2
On front-end Event Registration form, when the billing First/Last name is different than the event participant name, upon submitting the form, the Participant First/Last name is overwritten with the Bi...Noticed after update to Civi 5.20.2
On front-end Event Registration form, when the billing First/Last name is different than the event participant name, upon submitting the form, the Participant First/Last name is overwritten with the Billing First Last Name.
This causes the event registration to be attached to the Billing contact instead of the Participant contact.
![EventReg](/uploads/b052394df67c272cf04ae072d4d4d438/EventReg.jpg)
![EventConfirm](/uploads/081f712c33fba71e88b11a1153205d4b/EventConfirm.jpg)
![FindParticipants](/uploads/b3d3ae3ad5db1f2dc006ea0963e98f18/FindParticipants.jpg)5.21.0https://lab.civicrm.org/dev/core/-/issues/3351Remove scriptFee & scriptArray params2022-04-22T16:21:18Zmattwiremjw@mjwconsult.co.ukRemove scriptFee & scriptArray paramsThese parameters are not used and should be removed from CiviCRM codeThese parameters are not used and should be removed from CiviCRM code5.20.0