CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2022-05-04T12:19:02Zhttps://lab.civicrm.org/dev/core/-/issues/3424Search kit: Where clause for contact.created_date doesn't seem to recognize i...2022-05-04T12:19:02ZDaveDSearch kit: Where clause for contact.created_date doesn't seem to recognize it as a date1. Make a search on contacts.
2. In the where clause, try to add a filter to created date.
3. It doesn't seem to recognize that it's a date field, where you normally get a set of date-related options to choose from. Compare to e.g. birth...1. Make a search on contacts.
2. In the where clause, try to add a filter to created date.
3. It doesn't seem to recognize that it's a date field, where you normally get a set of date-related options to choose from. Compare to e.g. birth date.5.50.0colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/3423SearchKit: make inline edit for custom fields only available when applicable2022-05-21T14:07:07ZfrancescbassasSearchKit: make inline edit for custom fields only available when applicableOverview
----------------------------------------
It is possible to edit custom fields in non-applicable cases by editing inline with SearchKit.
Previously discussed here https://github.com/civicrm/civicrm-core/pull/21533#issuecomment-9...Overview
----------------------------------------
It is possible to edit custom fields in non-applicable cases by editing inline with SearchKit.
Previously discussed here https://github.com/civicrm/civicrm-core/pull/21533#issuecomment-923030658
Reproduction steps
----------------------------------------
1. Create a Custom Field only applicable for a certain Relationship Type
1. Define a SearchKit of Relationships with a Table Display allowing inline edit for the previously created Custom Field.
1. You will see how it is possible to edit the value of the Custom Field in relations with Relationship Type other than the one specified when defining the Custom Field.
Another case, for example, a Custom Field defined at Contact Subtype level.
Expected behaviour
----------------------------------------
Disable editing and adding a disabled-background for custom fields that do not belong to this type of data (contact, activity, relationship, etc.).colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/3422SearchKit: Allow referencing participant and participant_registered_by_id2022-08-16T00:09:47ZDetlev SieberSearchKit: Allow referencing participant and participant_registered_by_idOverview
----------------------------------------
We want to create a list of participants of an event, including the field "registered_by_id" (and displaying the Name of registered_by_id).
This is not possible, because the UI of Searc...Overview
----------------------------------------
We want to create a list of participants of an event, including the field "registered_by_id" (and displaying the Name of registered_by_id).
This is not possible, because the UI of SearchKit doesn't have that field available.
Comments
----------------------------------------
(As demonstrated to Coleman during Otterlo sprint.)colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/3421Deduping link to 'merge and go to list' just reloads the pair of merged contacts2022-06-12T01:04:14ZpetednzDeduping link to 'merge and go to list' just reloads the pair of merged contactsafter pulling up a list of duplicates, on the merge contacts screen one is offered a button saying "Merge and Go To Listing", but it doesn't, it just reloads the same pair of contacts. (replicated on dmaster) (fuzion tracker r26378)after pulling up a list of duplicates, on the merge contacts screen one is offered a button saying "Merge and Go To Listing", but it doesn't, it just reloads the same pair of contacts. (replicated on dmaster) (fuzion tracker r26378)5.51.0https://lab.civicrm.org/dev/core/-/issues/3420Schedule Reminders in event configuration pages display every site scheduled ...2022-04-26T21:14:00ZLKuttnerSchedule Reminders in event configuration pages display every site scheduled reminderAfter updating to CiviCRM 5.39.4, when configuring or viewing a new or existing event and switching to the Schedule Reminders tab, you see all existing scheduled reminders for all events. It appears that something has changed so that th...After updating to CiviCRM 5.39.4, when configuring or viewing a new or existing event and switching to the Schedule Reminders tab, you see all existing scheduled reminders for all events. It appears that something has changed so that the scheduled reminder list is not filtered by the event ID of the event you are editing. If you disable a reminder for an event while viewing it from a different event, the reminder title will be changed to the title of the event that you were viewing.
An example URL for the tab is:
/civicrm/event/manage/reminder?reset=1&action=browse&id=412&component=event&qfKey=CRMEventFormManageEventScheduleReminders3tup6ya78p0k84s0sk0ksk84sg404sc08gwgcso4gsssg8g8co_3012
I have not seen this reported previously. We are on Drupal 7.89 with MySQL 5.7.36. Thanks for any help you can offer.https://lab.civicrm.org/dev/core/-/issues/3419kcfinder not showing any images for CKeditor2024-01-23T05:03:20Zyashodhakcfinder not showing any images for CKeditorBrowser server for CKeditor does not work anymore, we do get a blank popup screen too and not able to choose images from server.
![dmaster_kcfinder](/uploads/fb5bd63021b3b277190e80ce85cb934c/dmaster_kcfinder.png)
I am able to replicate t...Browser server for CKeditor does not work anymore, we do get a blank popup screen too and not able to choose images from server.
![dmaster_kcfinder](/uploads/fb5bd63021b3b277190e80ce85cb934c/dmaster_kcfinder.png)
I am able to replicate this on dmaster
ref : https://dmaster.demo.civicrm.org/sites/all/modules/civicrm/packages/kcfinder/browse.php?cms=civicrm&type=images&CKEditor=details&CKEditorFuncNum=0&langCode=enhttps://lab.civicrm.org/dev/core/-/issues/3418Searchkit doesn't remove its tables when you uninstall civi2024-01-18T05:03:27ZDaveDSearchkit doesn't remove its tables when you uninstall civiThis isn't specific to search kit - the more general issue is that extensions don't run their uninstall code when civi is uninstalled - but search kit is the first extension that gets installed along with core and is enabled by default a...This isn't specific to search kit - the more general issue is that extensions don't run their uninstall code when civi is uninstalled - but search kit is the first extension that gets installed along with core and is enabled by default and has its own db tables and those tables are named `civicrm_something`.
So I don't know if I'd call it a bug, but it can cause some confusion when trying to re-install civi after uninstalling. In particular because https://github.com/civicrm/civicrm-core/blob/4d167cf85621e257b43752e6eee7c87abe5d69c2/setup/plugins/checkInstalled/CheckInstalledDatabase.civi-setup.php#L26 thinks civi is already installed and it's not obvious to the user why, especially if using the civicrm/setup screen which just keeps redirecting to the "already installed" page no matter what you do.
Normally core tables get cleaned up when you uninstall civicrm because they're in sql/civicrm_drop.mysql, which is generated from the xml/schema files. Here, search kit is both core and not core, but its tables aren't listed in drop.mysql.
Perhaps civi can try to uninstall all the extensions first before uninstalling itself?https://lab.civicrm.org/dev/core/-/issues/3417Search Kit: SQL syntax error when creating smart group based on custom field2024-01-19T05:03:23ZJonGoldSearch Kit: SQL syntax error when creating smart group based on custom fieldWhen creating a SK-based smart group, the SQL generated in the `HAVING` clause doesn't correctly calculate the name of custom fields.
### Steps to Replicate
* Create a new contact custom field of type Contact Reference.
* Fill in that v...When creating a SK-based smart group, the SQL generated in the `HAVING` clause doesn't correctly calculate the name of custom fields.
### Steps to Replicate
* Create a new contact custom field of type Contact Reference.
* Fill in that value on 1-2 contacts.
* Create a SK search that finds those contacts.
* Create a smart group based on the search. In the "Contact Column" selector, choose the custom field and save.
* Go to **Manage Groups** and attempt to view the contacts in the smart group.
### Expected Result
List of contacts.
### Actual Result
`DB Error: no such field`.
The SQL generated looks like this (my contact reference field is named 'advisor'):
```
INSERT IGNORE INTO civicrm_tmp_e_gccache_2d0f369488c3e23a1be7f722895ad9ce (group_id, contact_id)
SELECT 5 AS group_id, `constituent_information.advisor` AS contact_id FROM (
SELECT `constituent_information_1`.`advisor_7` AS `constituent_information.advisor`
FROM civicrm_contact a
LEFT JOIN `civicrm_value_constituent_information_1` `constituent_information_1` ON `a`.`id` = `constituent_information_1`.`entity_id`
WHERE (`a`.`id` >= "150")
HAVING (constituent_information.advisor NOT IN ( SELECT contact_id FROM civicrm_group_contact WHERE civicrm_group_contact.status = 'Removed' AND civicrm_group_contact.group_id = 5 )) )
```
The issue is with `HAVING (constituent_information.advisor`. A `HAVING` clause must reference the non-aliased name of the field. `CRM_Contact_BAO_GroupContactCache::getApiSQL()` has this line:
```php
$idField = SqlExpression::convert($apiParams['select'][0], TRUE)->getAlias();
```
However, this returns the incorrect value for `idField` when the Contact Column is a custom field.
I attempted a fix but couldn't find a way to determine the entity of the `$idField`.
Below is a Search Kit export of the search. You need a contact reference field named "advisor" in the "Constituent Information" custom group.
```json
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "abc",
"label": "abc",
"form_values": null,
"search_custom_id": null,
"api_entity": "Contact",
"api_params": {
"version": 4,
"select": [
"constituent_information.advisor",
"display_name",
"constituent_information.advisor"
],
"orderBy": [],
"where": [
[
"id",
">=",
150
]
],
"groupBy": [],
"join": [],
"having": []
},
"expires_date": null,
"description": null,
"mapping_id": null
}
],
"match": [
"name"
]
}
],
[
"Group",
"save",
{
"records": [
{
"name": "test_group_5",
"title": "test group",
"description": null,
"source": null,
"saved_search_id.name": "abc",
"is_active": true,
"visibility": "User and User Admin Only",
"group_type:name": [],
"parents": null,
"children": null,
"is_hidden": false,
"is_reserved": false,
"frontend_title": null,
"frontend_description": null
}
],
"match": [
"name"
]
}
]
]
```https://lab.civicrm.org/dev/core/-/issues/3416AuthX: Breaks sites when Basic Auth is enabled2023-09-04T14:08:09ZJonGoldAuthX: Breaks sites when Basic Auth is enabledOverview
----------------------------------------
AuthX completely breaks any site with Basic Auth enabled, displaying "401 Invalid Credential".
Reproduction steps
----------------------------------------
* Enable AuthX and basic auth...Overview
----------------------------------------
AuthX completely breaks any site with Basic Auth enabled, displaying "401 Invalid Credential".
Reproduction steps
----------------------------------------
* Enable AuthX and basic authentication on your site. [Apache documentation](https://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html) suggests this is as simple as adding `AuthBasicFake demo demopass` to your config. Drupal 8+ also has a "Basic Authentication" module in core.
* Alternatively, just enable AuthX and access via curl, e.g. `curl https://a:b@dmaster.demo.civicrm.org/civicrm`
Current behaviour
----------------------------------------
All CiviCRM pages error out with "401 Invalid Credential".
Expected behaviour
----------------------------------------
Normal page loading behavior.
Comments
----------------------------------------
This happens because authx.php calls an anonymous function on the `civi.invoke.auth` listener with these lines:
```php
if (!empty($_SERVER['HTTP_AUTHORIZATION'])) {
return (new \Civi\Authx\Authenticator())->auth($e, ['flow' => 'header', 'cred' => $_SERVER['HTTP_AUTHORIZATION'], 'siteKey' => $siteKey]);
}
```
`$_SERVER['HTTP_AUTHORIZATION']` is populated when Basic Auth is in use, and will never find the principal. No amount of removing AuthX guards or ignoring user accounts will fix this.
Either AuthX shouldn't support the `Authorization:` HTTP header or it should be possible to disable it.5.50.0https://lab.civicrm.org/dev/core/-/issues/3415CiviContribute: Thank you page does not appear after donation has been submit...2022-04-28T13:14:00Zben_fairlessCiviContribute: Thank you page does not appear after donation has been submitted.Overview
----------------------------------------
When a donation or membership renewal has been submitted, the user is not redirected to a thank you page. The user is redirected back to a blank page.
A receipt is generated and emailed ...Overview
----------------------------------------
When a donation or membership renewal has been submitted, the user is not redirected to a thank you page. The user is redirected back to a blank page.
A receipt is generated and emailed to the user, and their contribution is recorded (if successful), however the user is unaware that their payment has been successful.
Reproduction steps
----------------------------------------
1. Navigate to Contribution page: https://www.example.com/civicrm/?civiwp=CiviCRM&q=civicrm%2Fcontribute%2Ftransact&reset=1&id=5
2. Enter required information including credit card details via Stripe
3. Click Continue
Current behaviour
----------------------------------------
The user is redirected back to a blank version of https://www.example.com/civicrm/?civiwp=CiviCRM&q=civicrm%2Fcontribute%2Ftransact&reset=1&id=5
Expected behaviour
----------------------------------------
The user should be redirected to a "Thank you" page.
Environment information
----------------------------------------
* __Browser:__ _Chrome Version 100.0.4896.127_
* __CiviCRM:__ _5.48.1_
* __PHP:__ _7.4.28 (Supports 64bit values)_
* __CMS:__ _WordPress 5.9.3_
* __Database:__ _10.2.43-MariaDB_
* __Web Server:__ _Apache_
Comments
----------------------------------------
This can be replicated while signed in and while browsing without being signed in. The issue happens both to the test contribution page and the live page.https://lab.civicrm.org/dev/core/-/issues/3414Import code cleanup2023-01-31T04:41:08ZeileenImport code cleanupI've been working to rationalise the import code prior to fixing a couple of larger things. This ticket is intended to explain what is happening in the current code as I make sense of it....
## Basic structure
The import has 4 screens...I've been working to rationalise the import code prior to fixing a couple of larger things. This ticket is intended to explain what is happening in the current code as I make sense of it....
## Basic structure
The import has 4 screens which are (in order)
DataSource
MapField
Preview
Summary
The first 3 screens each call the relevant Parser class in the submit function - in each case in a different 'mode' with the goal of achieving different things.
The code then 'sets' submitted values and values from the parser on the form to pass it through to the next form - this setting appears to be for 2 reasons
1) because the early civi devs didn't know how else to pass values submitted on one screen to the others
2) because they had calculated certain values and perceived it to be more performant not to do so again.
_**Passing form values - the new way**_
The import forms can now all get the submitted values using the `getSubmittedValue` function - this can fetch a field submitted on the `DataSource` form - even if the contact is currently on the MapField form based on [a coded array of which values are on which form](https://github.com/civicrm/civicrm-core/blob/dfa2f16c836659a5122ee2524246083e465bca87/CRM/Import/Forms.php#L99) - so in the new code we use `getSubmittedValue` rather than the endless set+get routine to get the submitted values (this is in progress - [see](https://github.com/civicrm/civicrm-core/pull/23288/files#diff-4f0a1c0d1f7a02c448ebe273bd5b951a1811dd14949b11b9c8914b2c198fcebaR114)
## Running the parser
Here is the goal of the parser at each step
**DataSource**
The DataSource screen doesn 'really' use the parser although it calls it in MAPFIELD mode- it actually only uses the csv parsing functionality of it it to get
1) rows - it actually requests the first 100 rows & then uses 2 of them to pass to the MapField screen as sammple data - these are assigned to the template as `dataValues`
2) column headers - if there are some are assigned to the template
3)various rowCount, columnCount variables to be assigned to the template to use with the smarty `{section}` tag
_**DataSource parsing- the new way**_
The DataSource form doesn't really need to call the Parser class at all. The MapField can get it's own values once
1) these functions are available on all imports (currently only Contact)
```
$this->assign('columnNames', $this->getColumnHeaders());
$this->assign('columnCount', $this->getNumberOfColumns());
$this->assign('dataValues', array_values($this->getDataRows(2)));
```
2) The rewrite of MapTable.tpl done for Contact import is done for the others - allowing us to stop needing all those count variables.
The datasource class is also doing way too much handling of the temp tables - once https://github.com/civicrm/civicrm-core/pull/23273 is merged the datasource classes (CSV and SQL which are currently used by the contact import and are a todo for the other imports) will handle creating the tables and dropping them and adding the status columns
**MapField**
The mapfield class calls the parser in PREVIEW mode - the goal here is to validate the rows in the datasource and to provide access to download data about rows that have not imported
_**MapField parsing- the new way**_
The goal here is to separate out the validate function and call only that not 'run' - the validate function would update the output directly rather than doing this weird array_shifting pushin on errors.
**Preview**
The preview class calls the parser in import mode - this is where the importing happend
**Summary**
This class does not call the parser - however there is a postProcess there to drop the temp table - the intent in fact is that we RETAIN the temp table to export output on the fly rather than in CSV files - see https://github.com/civicrm/civicrm-core/pull/23291
## Managing the mappings
The way it works is that the selection is passed to the postProcess on `MapField` looking something like
`[['first_name'], ['phone_type_id', '1', 2], ['2_a_b', 'phone_type_id', '1', 2]]`
This is interpreted in 2 ways
1) to be saved in civicrm_mapping_field - for this purpose the above is translated to
```
[
[
'name' => 'First Name'
],
[
'name' => 'Phone',
'location_type_id' => 1,
'phone_type_id' => 2,
],
[
'name' => 'Phone',
'relationship_type_id' => 2,
'relationship_direction' => 'a_b',
'location_type_id' => 1,
'phone_type_id' => 2,
],
]
```
This conversion becomes more readable with [this change](https://github.com/civicrm/civicrm-core/pull/23288/files#diff-6381f637d7d41cb4ea44e8337383a8be3fb2f0c4ce894e8513981113fc2ea672R3571-R3581)
Note that the label rather than name is saved - this is a todo to fix - see https://github.com/civicrm/civicrm-core/pull/23288
2) to be set on the parser - (trigger warning) - this is passed as a series of arrays like
`$phoneTypeIDs = [NULL, 2, 2,]`
`$relationshipDirections = [NULL, NULL, 'a_b']`
etc etc - the parser then (in a hugely unreadable way) matches all these arrays up by index to get the sort of info visible in the above mapping array - it does that in `setActiveFields` which converts the row to a `$params` keyed in a semi-meaningful way
- [x] Stop dropping Temp Tables on completion (contact import only) https://github.com/civicrm/civicrm-core/pull/23291
- [x] Save Mappings by name not label - Contact - https://github.com/civicrm/civicrm-core/pull/23288
## Handy files for testing
[contact-more-columns.csv](/uploads/c4b70665db7a5e45e1a4b7c6c5237815/contact-more-columns.csv)
[contact-more-than-100-rows.csv](/uploads/2627012d2b7d5278ba5d7abe94c59ab2/contact-more-than-100-rows.csv)
[contact-limited.csv](/uploads/740549ad5aab60cda19efca36c384a28/contact-limited.csv)
[memberships.csv](/uploads/d20113bd1bff48ca3b1dbf793c63c74f/memberships.csv)
[a-b-c.csv](/uploads/90e8106f0fb98b2b3d49629a0b0b37db/a-b-c.csv)https://lab.civicrm.org/dev/core/-/issues/3413setAmount requires a numeric amount value2022-05-05T06:27:07Zmagnolia61setAmount requires a numeric amount valueOverview
----------------------------------------
Since https://github.com/civicrm/civicrm-core/pull/21583 our installation has a problem with making contribution payments through the contribution checksum link fails if the Thousands Sep...Overview
----------------------------------------
Since https://github.com/civicrm/civicrm-core/pull/21583 our installation has a problem with making contribution payments through the contribution checksum link fails if the Thousands Separator and Decimal Delimiter are different than default.
Reproduction steps
----------------------------------------
1. create a pending contribution
2. set locale to the following:<br>
![Screenshot_2022-04-23_112132](/uploads/890f07b518c9102b2eb551b5de5311c3/Screenshot_2022-04-23_112132.png)<br>
(common in the Netherlands)
3. pay through a contribution link with checksum<br> (example: https://www.example.nl/civicrm/contribute/transact?reset=1&id=7&ccid=123&cid=456&cs=9982c0a392534059a7ae6b4f970f394c_1650623762_5648)
4. payment fails with:
setAmount requires a numeric amount value (reproduced on the sandbox)
![Screenshot_2022-04-23_112051](/uploads/db41c7e3c5c6544f4c91883dbcf43347/Screenshot_2022-04-23_112051.png)
Current behaviour
----------------------------------------
With Thousands Separator set to . and Decimal Delimiter set to , (as we do in the Netherlands) contribution checksum link payments fail
Expected behaviour
----------------------------------------
The payments should succeed :-)
Environment information
----------------------------------------
- CiviCRM: 5.48
- CMS: Drupal 7.89
- PHP: 7.4.29 (fpm-fcgi)
- Database: 10.5.15-MariaDB-0+deb11u1 engine: InnoDB 10 row format: Dynamic
- Webserver: Apache/2.4.53 (Debian)
- OS: Linux
Comments
----------------------------------------
First I thought this had to do with omnipaymultiprocessor but this morning I tested with some more different payment methods
We found https://github.com/civicrm/civicrm-core/pull/21583 to be the change that caused our problem.
Specifically in Civi/Payment/PropertyBag.php the line about 'total_amount'
```
protected static $propMap = [
'amount' => TRUE,
'total_amount' => 'amount',
```
When we remove the 'total_amount' line payments work fine, even with our decimal separator settings.
I am not sure if that would be the solution or only helps to find a real solution.
NOTE: integral payments with event registrations work fine. It is the payment links that are affected.
@mattwire would you be able to look into this?5.49.0https://lab.civicrm.org/dev/core/-/issues/3412Event registration by an administrator sends confirmation email regardless of...2022-05-06T09:58:16ZUpperholmeEvent 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/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/3409Back-office registration of guest participants2023-01-10T15:22:25ZJKingsnorthBack-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/00c03cb2e27642db624ec612516927f8/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.https://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/3406Allow duplicate backend registration when event has "allow same participant e...2022-04-22T16:23:05ZbgmAllow 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/core/-/issues/3405Event Templates: do not auto-populate the Start Date / End Date2022-04-22T16:23:02ZbgmEvent Templates: do not auto-populate the Start Date / End DateWhen creating an event using an event template, the Start Date is automatically set to the date when the template was created.
To reproduce:
* Create an Event Template (Administer > Events > Event Templates)
* Wait one day, or set the ...When creating an event using an event template, the Start Date is automatically set to the date when the template was created.
To reproduce:
* Create an Event Template (Administer > Events > Event Templates)
* Wait one day, or set the `start_date` to some past date (templates are saved as regular events in the `civicrm_event` database table).
* Create a new Event, and use the template that was created.
* Notice how the start date is automatically set.
This might not sound like a big deal, but when the event template was created in 2015, it gets pretty annoying to have to also click to change the year (and it's easy to overlook).
This was also reported on Stack Exchange:
https://civicrm.stackexchange.com/questions/28159/event-template-start-date
cc @justinfreeman @cividesk @lcdweb (because you seem to be using Events a lot)5.17.0