Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-10-13T15:42:00Zhttps://lab.civicrm.org/dev/core/-/issues/4181Custom fields on multiple entities2023-10-13T15:42:00Zaydunsaidan.saunders@squiffle.ukCustom fields on multiple entitiesOverview
----------------------------------------
Currently Custom Fields 'extend' one type of entity, possibly limited to one or more subtypes(*) of that entity.
Sometimes it would be useful to allow a set of Custom Fields to be linked...Overview
----------------------------------------
Currently Custom Fields 'extend' one type of entity, possibly limited to one or more subtypes(*) of that entity.
Sometimes it would be useful to allow a set of Custom Fields to be linked to multiple entities.
[(*) - "subtypes" in a broad sense. In the case of Contacts, the fields can be linked to sub-types. For entities like Activities, fields can be linked to say Phone Calls and Meetings which are not strictly subtypes]
Example use-case
----------------------------------------
1) Suppose we want to create custom fields for 'service providers'. Some 'service providers' are Organizations (subtype SP-O), some are Individuals (subtype SP-I).
Current options are:
- link the fields to Contacts - but the fields are only relevant to small proportion of Contacts.
- duplicate the custom fields for each subtype - need to search multiple similar fields that logically should be one.
2) Suppose we want to create a field common to multiple entities (eg 'is_validated' on Memberships, Contributions & Participants). This would require separate field sets per entity.
Current behaviour
----------------------------------------
The current model comes from a single inheritance background: this set of fields 'extends' a particular entity.
Proposed behaviour
----------------------------------------
A more flexible model is to think of a set of fields 'attached' to a selection of entities.
(Vaguely like PHP traits vs class inheritance.)
Comments
----------------------------------------
Looking for feedback on this in two main areas:
1) Is this desirable?
2) How practical is it? Custom fields are used very widely so figuring out a transition plan is key. If APIv4 can bridge the gap between the current situation and a new world then it becomes feasible. @colemanw - I know you've already done a load of work with APIv4 and Custom Fields and probably best placed to answer this bit.https://lab.civicrm.org/dev/core/-/issues/4180SearchKit does not respond to campaigns in mailings2023-03-17T07:47:36ZMariaVSearchKit does not respond to campaigns in mailingsI am trying to build a SearchKit where contacts who have received a mailing with a specific campaign within the last 6 months will no longer be displayed.
**My workaround at the moment:**
- First I enabled the option (CiviMail settings)...I am trying to build a SearchKit where contacts who have received a mailing with a specific campaign within the last 6 months will no longer be displayed.
**My workaround at the moment:**
- First I enabled the option (CiviMail settings) that for each mailing there will be also an activity added.
- The I have a second SearchKit that finds all contacts that have an activity with the campaign within the last 180 days and creates a smart group:
![image](/uploads/7fa530aae317f148486a460c1f63ca26/image.png)
- In my initial SearchKit I choose:
where "in Groups" Not One of "just mentioned smart group"
This works but it has the disadvantage of having 2 SearchKits and another smart group PLUS having an additional activity for each mailing.
**Expected behavior:**
- Having a "without" "Kontakt Mailing" entity where I can just filter those contacts out:
![image](/uploads/753b1ad0c824da4a7794d752ae7c6146/image.png)
I am also confused by the 3 options I have for Mailings:
![image](/uploads/5791966ad972bbc5194e7f796818f0ab/image.png)
What is the difference? Why are 3 options needed? It seems there is no option for the receiver. I have tried all 3 but when I sent out the mailing all the contacts remain in the SearchKit Table.
Is there any other solution that I might have missed?
Thanks in advance for any hint.https://lab.civicrm.org/dev/core/-/issues/4179Event online registration validation error under narrow conditions related to...2023-05-01T22:13:11ZAllenShawEvent online registration validation error under narrow conditions related to multiple participant, $0 fee, and contact reference field permissions: "Your payment information looks incomplete. Please go back to the main registration page, to complete ..."Under a very specific set of circumstances, users are unable to complete online event registration because of the validation error:
```
Please correct the following errors in the form fields below:
Your payment information looks incompl...Under a very specific set of circumstances, users are unable to complete online event registration because of the validation error:
```
Please correct the following errors in the form fields below:
Your payment information looks incomplete. Please go back to the main registration page, to complete payment information.
```
**Setup:**
To reproduce this you will need:
1. An event with the following characteristics:
* Configured for online registration, with multiple participants, and with pricing that allows for a $0 amount on the first participant.
* Includes a profile which contains a required contact reference field.
2. A user role with permissions to register for this event, but **without** the "access contact reference fields" permission.
**Repro steps:**
Once you have that set up you can reproduce as follows:
1. As a user with the given role, open the online registration form for this event.
2. Indicate that you are registering for two participants.
3. On the registration form for either of these two participants, you will notice that the contact reference field is not displayed, as expected in light of the user's permissions.
4. For the first participant, ensure that you select price options totaling $0.
5. Proceed to register the second participant, and for this participant ensure that you select a fee amount of greater than $0.
6. Submit the registration form for the second participant.
**Expected** behavior: The event registration is submitted without error (confirmation page or thank-you page is displayed, as appropriate per event configuration)
**Actual incorrect** behavior: Submission of the final participant form results in the above-stated validation error.
**Strict requirements for repro:**
It's worth noting that you can avoid this error by making any one or more of the following changes to the above steps or set up:
- as admin:
- Change permission so that this user can access contact reference fields.
- Do not make the contact reference field required in the profile.
- as user:
- For the first participant, select fees totaling greater than $0.
- For the second participant, select fees totalling $0.
**How the code allows this wackiness to happen:**
- [This line in CRM_Core_Form::validateMandatoryFields](https://github.com/civicrm/civicrm-core/blob/503cdb20e74866ffc68311c7c2be3cf9577a23bf/CRM/Core/Form.php#L2332) adds a validation error to the form if the required contact reference field has no value, without regard for whether the user had permissioned access to the field.
- [This line in CRM_Event_Form_Registration_AdditionalParticipant::validatePaymentValues](https://github.com/civicrm/civicrm-core/blob/master/CRM/Event/Form/Registration/AdditionalParticipant.php#L522) avoids calling `CRM_Core_Form::validateMandatoryFields()` if the first participant had a fee of more than $0.
(Joinery internal ticket reference: F#1041)https://lab.civicrm.org/dev/core/-/issues/4178Import Contribution creates API4 errors for Contribution Note2023-03-17T22:00:13ZStoobImport Contribution creates API4 errors for Contribution NoteTo reproduce:
- include a Note column in your CSV
- in your test file some rows should have text in the Note column and some should not
- map this column to 'Contribution Note' and use Import Contributions feature
In my import all rows...To reproduce:
- include a Note column in your CSV
- in your test file some rows should have text in the Note column and some should not
- map this column to 'Contribution Note' and use Import Contributions feature
In my import all rows generated this error, there was over 1200 error rows, whether or not the Note column had any text at all (seen attached)
![errors-note-api4](/uploads/94b222c546898267802af5c0f5cbbf7d/errors-note-api4.png)
**Problem: None of the notes imported**
@bgm5.59.2https://lab.civicrm.org/dev/core/-/issues/4177Auto-generation of recurring contribution template ignores recurring amount2023-07-20T09:34:15ZAlanDixonAuto-generation of recurring contribution template ignores recurring amountOverview
----------------------------------------
When a recurring contribution does not have a corresponding template, sometimes one is generated implicitly (e.g. when viewing the 'template' and clicking 'done').
That 'implicit generat...Overview
----------------------------------------
When a recurring contribution does not have a corresponding template, sometimes one is generated implicitly (e.g. when viewing the 'template' and clicking 'done').
That 'implicit generation' does not pay attention to the amount in the recurring contribution record.
Reproduction steps
----------------------------------------
1. As an administrator, create a new recurring contribution for $1.
1. Observe that only the recurring contribution and contribution record are created, no recurring template contribution (requires mysql access to see this!).
1. Edit the recurring amount to $2. Note that there is still no recurring template.
1. View the recurring 'template' and click done. This implicitly creates the recurring record based on the $1 contribution, ignoring the $2 recurring contribution record amount, and as a side effect, modifies the recurring contribution record amount back to $1.
Current behaviour
----------------------------------------
The implicit generation of the recurring template does not respect the amount in the recurring record total.
Expected behaviour
----------------------------------------
It should! Of course, it's complicated. e.g. maybe that recurring template should get generated when the original recurring contribution is created?
I would note that I've only described one way that the template gets created, it appears there may be others. So regardless of whether we avoid this specific way of implicitly-generating the template, it should behave better than it does ...
Environment information
----------------------------------------
CiviCRM version: likely all versions since last June 2022.
Relevant docs link https://docs.civicrm.org/dev/en/latest/financial/recurring-contributions/https://lab.civicrm.org/dev/core/-/issues/4176Allow to search on participant id2023-03-24T17:21:16ZyashodhaAllow to search on participant idOverview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.Overview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.5.61.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4175APiv4 explorer - can't enter `contribution.contribution_recur_id`2023-03-13T21:57:14ZeileenAPiv4 explorer - can't enter `contribution.contribution_recur_id`It tries & fails to auto-fill & then won't let you put in a number
![image](/uploads/81cdcf15906037b7a993f0337d4a0fc6/image.png)
@colemanw fyiIt tries & fails to auto-fill & then won't let you put in a number
![image](/uploads/81cdcf15906037b7a993f0337d4a0fc6/image.png)
@colemanw fyi5.61.0https://lab.civicrm.org/dev/core/-/issues/4174FormBuilder: Server-side validation doesn't work2023-08-17T20:41:38ZJonGoldFormBuilder: Server-side validation doesn't workI've observed two different patterns on the master branch, but never the correct behavior.
##### Scenario 1
Basic FormBuilder form with a required date field. Date field doesn't properly client-side validate (see #4173) so it's submitt...I've observed two different patterns on the master branch, but never the correct behavior.
##### Scenario 1
Basic FormBuilder form with a required date field. Date field doesn't properly client-side validate (see #4173) so it's submitted. Server-side validation returns a 500 error. An unhelpful alert appears.
![ezgif-4-056315fd6a](/uploads/4df88302dca79440b03442d0b232029d/ezgif-4-056315fd6a.gif)
##### Scenario 2
Upon submitting, server-side validation is completely ignored and the form is submitted. I believe this happens when you have a non-required File field on the page.
![ezgif-2-2830537d8b](/uploads/1a5828a70ea9cb3f8d8b822bf4cf110a/ezgif-2-2830537d8b.gif)
Here is FormBuilder markup for both scenarios:
[scenario1-markup](/uploads/fbf2de2fe118e7a07f1cbdf2bc746628/scenario1-markup)
[scenario2-markup](/uploads/5256369eb51727d02c1ffe670f3f1b46/scenario2-markup)https://lab.civicrm.org/dev/core/-/issues/4173FormBuilder: Client-side validation doesn't work on most field types2023-05-18T12:28:55ZJonGoldFormBuilder: Client-side validation doesn't work on most field typesOn the master branch:
* Create a new FormBuilder form.
* Add the "Most Important Issue" field and make it required.
* Give the form a path and save.
* Go to the form and click **Submit**
Expected behavior:
"Please fill in the required f...On the master branch:
* Create a new FormBuilder form.
* Add the "Most Important Issue" field and make it required.
* Give the form a path and save.
* Go to the form and click **Submit**
Expected behavior:
"Please fill in the required field" notification, similar to a text field.
Actual behavior:
Form submits. You get an unhelpful JS alert (I'll file on that separately).
Radio buttons, checkboxes fail. Text inputs and files don't. https://github.com/civicrm/civicrm-core/pull/25535/files purports to fix this for Select2 inputs.https://lab.civicrm.org/dev/core/-/issues/4172FormBuilder: silent failure if required fields not on form2023-03-13T07:41:58Zaydunsaidan.saunders@squiffle.ukFormBuilder: silent failure if required fields not on formOverview
----------------------------------------
FormBuilder does not show which fields are required to create an entity.
Reproduction steps
----------------------------------------
1. Create a new FormBuilder form
1. Add an activity
1...Overview
----------------------------------------
FormBuilder does not show which fields are required to create an entity.
Reproduction steps
----------------------------------------
1. Create a new FormBuilder form
1. Add an activity
1. Select the type as Meeting
1. Give the form a name, url and Save.
1. Go to the url just created
1. Enter firstname = test, lastname = test, activity subject = test, Submit
Current behaviour
----------------------------------------
The contact is created but the activity is not. Note there is no error message.
Expected behaviour
----------------------------------------
Run-time: Show an error if the activity cannot be created.
Form-save: warn if required fields have not been added to the form, so creation will fail.
Form-edit: indicate which fields are required by the API. Compare FB with API Explorer eg
FB:
![image](/uploads/a4a2cef38dfb59b21a38cb8149974f1f/image.png)
API Explorer:
![image](/uploads/b4b540f37f520c6da5a834f941a03cad/image.png)
Required fields are shown with red asterisk
Environment information
----------------------------------------
* __CiviCRM:__ _Master_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
Comments
----------------------------------------
Note this is about fields required by the API, not fields marked as required on the form.https://lab.civicrm.org/dev/core/-/issues/4171FormBuilder: Create options to style radio buttons/checkboxes2023-03-13T07:41:35ZJonGoldFormBuilder: Create options to style radio buttons/checkboxesCurrently, there's no way to configure the style of radio buttons/checkboxes within the FormBuilder UI. It also doesn't respect the "Options Per Line" setting of the custom field.
Ideally we could specify vertical/horizontal/columns for...Currently, there's no way to configure the style of radio buttons/checkboxes within the FormBuilder UI. It also doesn't respect the "Options Per Line" setting of the custom field.
Ideally we could specify vertical/horizontal/columns for options.https://lab.civicrm.org/dev/core/-/issues/4170FormBuilder: Allow placing fields outside their entity fieldset2023-03-13T07:41:15ZJonGoldFormBuilder: Allow placing fields outside their entity fieldsetFrom today's FormBuilder meeting:
Currently, the markup for a field doesn't specify its entity, in order to facilitate creating reusable blocks. However, it would be beneficial to allow specifying the entity for a field within the field...From today's FormBuilder meeting:
Currently, the markup for a field doesn't specify its entity, in order to facilitate creating reusable blocks. However, it would be beneficial to allow specifying the entity for a field within the field's markup.
This would allow a UX-friendly way of freely ordering fields on a form without regard to the entity.https://lab.civicrm.org/dev/core/-/issues/4169Let "Number" and "Money"-type custom fields be nullable2023-03-13T07:39:11ZnoahLet "Number" and "Money"-type custom fields be nullableOverview
----------------------------------------
There are many times when NULL would be a meaningful/useful value in a custom field of type "Number" (float) or "Money" (decimal). However, it is not currently possible, via the form laye...Overview
----------------------------------------
There are many times when NULL would be a meaningful/useful value in a custom field of type "Number" (float) or "Money" (decimal). However, it is not currently possible, via the form layer, to set these fields to NULL. Blank values are currently turned into zero.
Example use-case
----------------------------------------
Let's say we need to track the elevation (meters above or below sea level) of the addresses in our database.
1. Create a custom field "Geographic Elevation" of type "Number", extending the Address entity. Leave the "Default value" blank.
1. Go to a contact and edit one of their addresses, or create a new one.
1. On the create/edit form, leave the "Geographic Elevation" field blank -- because let's say we don't know the elevation at this address.
1. Submit the form and view the saved value.
Current behaviour
----------------------------------------
"Geographic Elevation" is set to zero. That means sea level. But that's not correct -- we actually don't know the elevation.
Proposed behaviour
----------------------------------------
When the field submitted with a blank value (empty string), the database field should be set to NULL, and displayed as blank.
Comments
----------------------------------------
NULL is also a meaningful value for Money fields. Say we have a field on individuals called "Net Worth". Zero (the person is destitute) and NULL (we don't know how much money they have) are quite different.
It _is_ possible to set the field to NULL through the API, but only by passing the string 'null' (due to a PEAR DB limitation).
<details><summary>Show API example</summary>
````php
// NULL will be saved as 0
Civi\Api4\Address::update()
->addValue('Geography.Elevation', NULL)
->addWhere('id', '=', 27)
->execute();
$address = Civi\Api4\Address::get()
->addSelect('Geography.Elevation')
->addWhere('id', '=', 27)
->execute()->single();
// [
// 'id' => 27,
// 'Geography.Elevation' => 0,
// ]
// but 'null' will be saved as NULL
Civi\Api4\Address::update()
->addValue('Geography.Elevation', 'null')
->addWhere('id', '=', 27)
->execute();
$address = Civi\Api4\Address::get()
->addSelect('Geography.Elevation')
->addWhere('id', '=', 27)
->execute()->single();
// [
// 'id' => 27,
// 'Geography.Elevation' => null,
// ]
````
</details>https://lab.civicrm.org/dev/core/-/issues/4168Searchkit - Tags on saved Searches get lost on save2023-03-13T21:07:13ZdavidSearchkit - Tags on saved Searches get lost on saveOverview
----------------------------------------
tags for saved searches get lost on save.
Reproduction steps
----------------------------------------
1. go to searchkit saved searches
2. create a search, add a tag and save the search...Overview
----------------------------------------
tags for saved searches get lost on save.
Reproduction steps
----------------------------------------
1. go to searchkit saved searches
2. create a search, add a tag and save the search
4. goto searchkit saved searches. The created tag is there.
5. change something e.g. description of the search and save again
6. goto searchkit saved searches, the tag is missing
Expected behaviour
tags get not lost on save
Environment information
----------------------------------------
* __Browser:__ _Firefox 110
* __CiviCRM:__ all?, including 5.61.alpha1
* __CMS:__ https://dmaster.demo.civicrm.org/
Comments
----------------------------------------
old tags get also lost if a new tag is added in the searchhttps://lab.civicrm.org/dev/core/-/issues/4167Transferred to Link in View Event Registration for {participant} Goes to a Pr...2023-03-09T09:20:26ZLKuttnerTransferred to Link in View Event Registration for {participant} Goes to a Previous EventSteps to Reproduce:
- View an event registration that has been transferred to another participant.
- In the Status line, Click the name of the participant that the registration has been transferred to.
- Example: _Status | Transferred (...Steps to Reproduce:
- View an event registration that has been transferred to another participant.
- In the Status line, Click the name of the participant that the registration has been transferred to.
- Example: _Status | Transferred (Transferred to Megan Nedzinski)_
- The link takes you to the registration for the first event that the person was ever registered for.
- The link does not take you to the latest registration that was just transferred to that contact.
- This only happens in the View Event Registration for {participant} page.
- In the Edit Event Registration for {participant} page, clicking the equivalent link does take you to the correct event.
This is using CiviCRM 5.55.1 on Drupal 7. I just noticed this and don't know how long this behavior has been in effect.https://lab.civicrm.org/dev/core/-/issues/4166Import contribution fails if using soft-credit and a row has an empty field2023-03-16T21:31:38ZbgmImport contribution fails if using soft-credit and a row has an empty fieldTo reproduce:
- use this CSV file: [test-soft-credit.csv](/uploads/742ab3a01099b5de3ef33325e3686b54/test-soft-credit.csv)
- on dmaster, Contributions > Import
- upload the CSV file, leave the rest as-it
- in field mappings, make sure to...To reproduce:
- use this CSV file: [test-soft-credit.csv](/uploads/742ab3a01099b5de3ef33325e3686b54/test-soft-credit.csv)
- on dmaster, Contributions > Import
- upload the CSV file, leave the rest as-it
- in field mappings, make sure to select the Soft-Credit ID:
![image](/uploads/467e87e54fd398c5b9756c4acb368341/image.png)
Then run the import, it will be stuck like this:
![image](/uploads/33a5f7b713efdf7629a2e85ade6c3e73/image.png)
Fatal error:
```
Argument 2 passed to CRM_Import_Parser::getContactID() must be of the type int or null, string given, called in
CRM/Contribute/Import/Parser/Contribution.php on line 443 in CRM_Import_Parser->getContactID()
(line 2321 of CRM/Import/Parser.php).
```
I worked around it by adding an "if not empty" clause around that code:
```
$softCreditParams = [];
foreach ($params['SoftCreditContact'] ?? [] as $index => $softCreditContact) {
if (!empty($softCreditContact['Contact']['id'])) {
$softCreditParams[$index]['soft_credit_type_id'] = $softCreditContact['soft_credit_type_id'];
$softCreditParams[$index]['contact_id'] = $this->getContactID($softCreditContact['Contact'], $softCreditContact['Contact']['id'] ?? NULL, 'SoftCreditContact', $this->getDedupeRulesForEntity('SoftCreditContact'));
if (empty($softCreditParams[$index]['contact_id']) && in_array($this->getActionForEntity('SoftCreditContact'), ['update', 'select'])) {
throw new CRM_Core_Exception(ts('Soft Credit Contact not found'));
}
}
}
```
but this looks a bit fishy to me.5.59.3https://lab.civicrm.org/dev/core/-/issues/4164CiviMail send mails only to certain location type2023-03-13T11:54:35ZjmargrafCiviMail send mails only to certain location typeI have the following Usecase:
A big organization is using CiviCRM for mailing marketing of different departments. Their Contacts can have several email addresses (with different location types).
A Contact has an email address that is use...I have the following Usecase:
A big organization is using CiviCRM for mailing marketing of different departments. Their Contacts can have several email addresses (with different location types).
A Contact has an email address that is used by department A for the communication with the customer via mass mailing.
But department B wants to communicate with the customer via another email address via mass mailing.
Currently there seems to be no possibility to select which email address location type should be preferred for an specific mass mailing (of department A - while department B creates another mass mailing and wants to select their preferred location type for another mass mailing).
Possibilities in CiviCRM:
I can create different location types for the different purposes.
I can add email addresses with the corresponding location type.
I can select one email address as the primary email address.
I can select one email address for mass mailing.
Problem:
But I can not select different email addresses for different mass mailings
Possible Workaround:
I could keep the two contacts as duplicates in the system. But the customer still still want to have an overall overview over their communication with this contact - so simply having duplicates is not an attractive option.
Feature Request:
What I would need is the feature of selecting the preferred location type to be used for a specific mailing.
If the contact has no email address of this communication type the fallback option could be the primary / bulk-e-mail-address
What effort would it take to create such a feature? I guess it would make most sense to implement it into the civicrm core - do you aggree?https://lab.civicrm.org/dev/core/-/issues/4163FormBuildeR: Can't set participant status type2023-03-07T18:51:22ZJonGoldFormBuildeR: Can't set participant status typeSee screenshot. When you try to use this field, you get the error "API (ParticipantStatusType, autocomplete) does not exist (join the API team and implement it!)".
![Selection_1801](/uploads/34d14ba7259e8878f93a910627b2c151/Selection_1...See screenshot. When you try to use this field, you get the error "API (ParticipantStatusType, autocomplete) does not exist (join the API team and implement it!)".
![Selection_1801](/uploads/34d14ba7259e8878f93a910627b2c151/Selection_1801.png)
I've seen other "Loading failed" errors handled like in https://github.com/civicrm/civicrm-core/pull/25598 but I suspect we might actually want to create the API here?https://lab.civicrm.org/dev/joomla/-/issues/48CiviCRM profiles don't produce working webpages2023-05-15T18:56:34ZSOAPCiviCRM profiles don't produce working webpagesAfter upgrading my site to Joomla 4 all CiviCRM pages that are based on a CiviCRM profile refuse to display their content. Under Joomla 3 a page would render into a URL like website.org/name/user-directory. Under Joomla 4 the same page r...After upgrading my site to Joomla 4 all CiviCRM pages that are based on a CiviCRM profile refuse to display their content. Under Joomla 3 a page would render into a URL like website.org/name/user-directory. Under Joomla 4 the same page renders into the URL website.org/organisation/user-directory?view=Profiles&layout=search&task=civicrm/profile&gid=22&reset=1
Because the website (with its 100s of pages) uses mod_rewrite to remove the 'index.php' it also removes the index.php from the Joomla 4 CiviCRM URL. Adding the index.php manually to the URL in the browser does produce the information of the profile. It seems to me that under Joomla 3 that CiviCRM was working under an alias while under CiviCRM a long version of the URL is pushed to the browser that is messed up by the mod_rewrite. Anyway, in the current form I can't upgrade.
I include a screenshot of the type of menu where this issue occurs.
![Screenshot_2023-03-04_at_18.16.37](/uploads/461075cda2c4581d4abe42efc62cd622/Screenshot_2023-03-04_at_18.16.37.jpg)https://lab.civicrm.org/dev/core/-/issues/4162Up/down arrow on pager on a contact's Events tab doesn't do the right thing.2023-03-07T07:27:22ZDaveDUp/down arrow on pager on a contact's Events tab doesn't do the right thing.1. Find a contact that has attended 51+ events. Note you can use the api Participant.create to quickly generate some records against the same event+contact since otherwise this is a lot of clicking.
* Note even if you change the defau...1. Find a contact that has attended 51+ events. Note you can use the api Participant.create to quickly generate some records against the same event+contact since otherwise this is a lot of clicking.
* Note even if you change the default pager size at search settings it seems hardcoded to 50.
1. Visit the contact's events tab.
1. Click the up arrow on the pager page control.
1. It takes you to a new register participant form instead of the next page.
The next/last links work ok.
What's interesting is that the url in the network tab seems correct, and if you visit it standalone it does seem to run the event search form correctly. So I suspect something about the context is getting lost in the session. The relevant code might be in CRM_Event_Page_Tab.