Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-11-09T19:36:12Zhttps://lab.civicrm.org/dev/core/-/issues/4323Date is incorrect when editing a contribution2023-11-09T19:36:12ZJDrueryDate is incorrect when editing a contributionWhen editing a contribution, Date Received is always set 05/30/2013 in the edit dialog. Under Payment Details, the date is correct (see first and second images below). When adding a new date in the Edit Contribution dialog, the popup cal...When editing a contribution, Date Received is always set 05/30/2013 in the edit dialog. Under Payment Details, the date is correct (see first and second images below). When adding a new date in the Edit Contribution dialog, the popup calendar always defaults to May of 2013. The year selector doesn't allow selecting anything after 2013 (third and fourth images).
A workaround is to change Date Preferences for activityDateTime. Changing the end offset from the default setting of 10 to 0 allows for dates up to the current year. I suspect this bug is caused by the end offset being interpreted as number of years before the current year, instead of number of years after the current year. Setting the end offset to -10 has the same effect as setting it to +10 (only dates 10 years before the current year are allowed).
![image](/uploads/68cdb261f247a35c092d34cab44e8f52/image.png)
![image](/uploads/501943aeba9f96ff61e9a0cd5c7449d5/image.png)
![image](/uploads/cba0d6b5a42f2b81ec28cd8e77890062/image.png)
![image](/uploads/d4d9340b4c377ef828a4a4cadf3a09ac/image.png)5.66.0https://lab.civicrm.org/dev/core/-/issues/4319SearchKit + FormBuilder: In place edit using a list view2023-06-22T14:15:45Zsimon.hermannSearchKit + FormBuilder: In place edit using a list viewOverview
----------------------------------------
I was trying to embed a list view of a SearchKit in FormBuilder, where some of the entries have 'in-place edit' activated. When looking at the Afform I am able to click on those entries a...Overview
----------------------------------------
I was trying to embed a list view of a SearchKit in FormBuilder, where some of the entries have 'in-place edit' activated. When looking at the Afform I am able to click on those entries and the the green checkmark as well as the red X appear, however I am not able to edit the content of the entry.
Reproduction steps
----------------------------------------
1. Create a SearchKit with a list view
1. Activate the option 'in-place edit' for some of the entries.
1. Embed the list view in a Afform.
Current behaviour
----------------------------------------
The entries with 'in-place edit' are clickable and the green checkmark as well as the red X are showing. However, the input is shown but cannot be altered.
Expected behaviour
----------------------------------------
The input is shown and I can edit it.
Environment information
----------------------------------------
* __CiviCRM:__ 5.58.1 and 5.60
* __PHP:__ 7.4 and 8.1
* __CMS:__ WordPress 6.1.3https://lab.civicrm.org/dev/core/-/issues/4317Import contribution fails with custom fields2023-07-05T23:48:39ZPhilipp MichaelImport contribution fails with custom fieldsOverview
----------------------------------------
When importing contributions with field mappings to a custom field, the process fails after continuing from step 2 of 3.
Reproduction steps
----------------------------------------
1. Cl...Overview
----------------------------------------
When importing contributions with field mappings to a custom field, the process fails after continuing from step 2 of 3.
Reproduction steps
----------------------------------------
1. Click on **Contributions -> Import Contributions**.
1. Choose mandotory options and continue to step 2.
1. In "Matching CiviCRM Field" choose at least one custom field and try to continue to step 3
1. Got an error "**TypeError: CRM_Import_Parser::getFieldMetadata(): Return value must be of type array, null returned**".
Current behavior
----------------------------------------
Regardless of the provided CSV data, the process fails with:
```
TypeError: CRM_Import_Parser::getFieldMetadata(): Return value must be of type array, null returned in CRM_Import_Parser->getFieldMetadata() (line 1768 of /var/www/html/vendor/civicrm/civicrm-core/CRM/Import/Parser.php).
CRM_Import_Parser->getFieldMetadata('Zu_belastendes_Konto.nur_anstehende_Zuwendungen._IBAN') (Line: 165)
CRM_Contribute_Import_Parser_Contribution->getMappedRow(Array) (Line: 221)
CRM_Contribute_Import_Parser_Contribution->validateValues(Array) (Line: 2551)
CRM_Import_Parser->validateRow(Array) (Line: 1842)
CRM_Import_Parser->validate() (Line: 90)
CRM_Import_Form_MapField->postProcess() (Line: 612)
CRM_Core_Form->mainProcess() (Line: 144)
CRM_Core_StateMachine->perform(Object, 'next', 'Next') (Line: 43)
CRM_Core_QuickForm_Action_Next->perform(Object, 'next') (Line: 203)
HTML_QuickForm_Controller->handle(Object, 'next') (Line: 103)
HTML_QuickForm_Page->handle('next') (Line: 355)
CRM_Core_Controller->run(Array, NULL) (Line: 319)
CRM_Core_Invoke::runItem(Array) (Line: 69)
CRM_Core_Invoke::_invoke(Array) (Line: 36)
CRM_Core_Invoke::invoke(Array) (Line: 88)
Drupal\civicrm\Civicrm->invoke(Array) (Line: 83)
Drupal\civicrm\Controller\CivicrmController->main(Array, '')
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 580)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 169)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 81)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 718)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
```
Environment information
----------------------------------------
* __CiviCRM:__ _Master/5.60/5.62/5.64_
* __PHP:__ _8.0_
* __CMS:__ _Drupal 9.5.9_
* __Database:__ _MariaDB 10.4.28_
Comments
----------------------------------------
I've tested latest versions and can reproduce it in 5.60 and later. It was probably caused with changes in [Update Contribution Import to use apiv4 field names, prior to adding hooks](https://github.com/civicrm/civicrm-core/pull/25886). The way of getting custom fields available for import has changed, which leads to different field keys respectively option values. Previously you got the short version "custom_xy", now you get a long database field name like one.
5.59:
![mapping-custom-fields-options-5.59](/uploads/e4f4adc83357fd0c3e7613b6f92d5bb2/mapping-custom-fields-options-5.59.png)
5.60 (and 5.62, 5.64):
![mapping-custom-fields-options-5.62](/uploads/d0f7573c8f279bc53c794949d3183ea9/mapping-custom-fields-options-5.62.png)
The import parser can't find related field meta data regarding to those keys.
I'm not sure, if those key names provided by the API are intended and therefor can't provide a PR.5.63.0https://lab.civicrm.org/dev/core/-/issues/4316Allow administrators to restrict which contacts will receive an email notific...2023-05-31T23:54:42Zayush_compucoAllow administrators to restrict which contacts will receive an email notification when an activity is assigned to a contactHow it works currently:
----------------------------------------
Administrators can only choose either to enable or disable sending email notifications (including a copy of the activity) when an activity is assigned to a contact OR limit...How it works currently:
----------------------------------------
Administrators can only choose either to enable or disable sending email notifications (including a copy of the activity) when an activity is assigned to a contact OR limit it to specific types of activity.
![image](/uploads/15806181b9f0204f847f4e8a8a70b817/image.png)
https://dmaster.demo.civicrm.org/civicrm/admin/setting/preferences/display?reset=1
**Improvement**
----------------------------------------
We would like to allow administrators to specify which groups of users would receive an email so that certain users can be assigned an activity, but they would not receive CiviCRM's default activity assignee email.
**Note**
----------------------------------------
Note, there is already some similar (but subtly different!) functionality on CiviCase for case activities:
![image](/uploads/7683b54741cb91ec61227f47c7eb87cc/image.png)
The above restricts **who can be selected** to be assigned an activity, whereas we are specifying **who would be sent** a notification for an activity.
**Proposed solution**
----------------------------------------
We propose adding a new functionality that allows administrators to specify which CiviCRM groups would receive an email notifications. This can be achieved by introducing a new dropdown field.
We would create 2 new settings for this under the setting for "Do not notify assignees for" <Activity types> on the Display Preferences page: https://dmaster.demo.civicrm.org/civicrm/admin/setting/preferences/display?reset=1 which states:
1. Restrict email recipients to groups
- <Select Group> (list all CiviCRM groups or smart groups)
- Multiselect
- Help: Limit which contacts will receive a CiviCRM activity notification email when an activity is assigned to them. You can select any group or smart group. Leave blank for no restriction. Note that you may still assign an activity to a contact who is not in the group, but they will not receive an email.
If the field is blank there will be no restriction. If a group is selected, emails will be restricted to only go to that group.
2. Restrict email recipients to Website Users
- Checkbox
- Help: Limit which contacts will receive a CiviCRM activity notification email to only be those who have a CMS user when an activity is assigned to them. Note that you may still assign an activity to a contact who does not have a CMS user, but they will not receive an email.
Emails will be suppressed in each case.
**Next steps**
----------------------------------------
We are prepared to submit a pull request (PR) for this feature. If the concept is approved, we will promptly submit the core PR.
Thank you.https://lab.civicrm.org/dev/core/-/issues/4310Membership HTML output on contribution pages causing layout errors due to unc...2023-05-24T07:36:13ZFrancis (Agileware)Membership HTML output on contribution pages causing layout errors due to unclosed div - 5.61 regressionOverview
----------------------------------------
[commit:dfc5fb9](https://github.com/civicrm/civicrm-core/commit/dfc5fb948b0cb11947b3b75131b54b1c365f08b1) caused a regression in the display of the Membership block, where the logic wrapp...Overview
----------------------------------------
[commit:dfc5fb9](https://github.com/civicrm/civicrm-core/commit/dfc5fb948b0cb11947b3b75131b54b1c365f08b1) caused a regression in the display of the Membership block, where the logic wrapping the "makeContribution" context skips both the closing div and the javascript portion that replaces the auto renew checkbox with a note in force autorenewal mode.
Reproduction steps
----------------------------------------
1. Create a membership contribution page.
2. Attempt to use the contribution page.
Current behaviour
----------------------------------------
The membership block escapes its containment matrix, causing an unclosed div error on the form. This manifests in the browser as a layout nesting issue.
The [W3 validator](https://validator.w3.org/nu/) explains the problem as:
```
Error: End tag form seen, but there were open elements.
From line 1779, column 3; to line 1779, column 9
>↩ ↩ ↩ </form>↩
Error: Unclosed element div.
From line 692, column 3; to line 692, column 128
↩ ↩ <div class="crm-contribution-page-id-7 crm-block crm-contribution-main-form-block" data-page-id="7" data-page-template="main">↩↩
Fatal Error: Cannot recover after last error. Any further errors will be ignored.
From line 1779, column 3; to line 1779, column 9
>↩ ↩ ↩ </form>↩
```
In addition to this, if the membership type should force autorenewal, it may not due to a missing javascript section.
Expected behaviour
----------------------------------------
There should be no layout nesting issue, and all divs should be closed appropriately.
The script to advise the end use on autorenewal should function.
Environment information
----------------------------------------
* __CiviCRM:__ _Master, 5.61.x_
* __PHP:__ 8.0
* __CMS:__ WordPress 6.2.25.61.4https://lab.civicrm.org/dev/core/-/issues/4309Editing multiple scheduled reminders at the same time overwrites the most rec...2023-07-21T03:01:16Zchrisgaraffachris@aghstrategies.comEditing multiple scheduled reminders at the same time overwrites the most recently openedOverview
----------------------------------------
If you open the Edit link for multiple Scheduled Reminders in new tabs/windows and save any but the most recently opened, that most recently opened reminder gets overwritten.
Reproductio...Overview
----------------------------------------
If you open the Edit link for multiple Scheduled Reminders in new tabs/windows and save any but the most recently opened, that most recently opened reminder gets overwritten.
Reproduction steps
----------------------------------------
1. Administer > Communications > Schedule Reminders
2. Create two new Reminders, Test 1 and Test 2. The specifics don't seem to matter.
3. Observe that the list has Test 1 and Test 2.
4. Open the Edit link for Test 1 in a new window or tab.
5. Open the Edit link for Test 2 in a new window or tab.
6. Rename Test 1 to Test 3 (and/or change any other settings).
7. Save Test 1 (now Test 3)
8. View the Scheduled Reminders list
Current behaviour
----------------------------------------
The list now reads Test 1, Test 3.
Test 2, which was opened after Test 1, is overwritten by the changes and is now Test 3. The original Test 1 remains untouched.
Expected behaviour
----------------------------------------
The list should read Test 3, Test 2.
Test 1 should be renamed to Test 3. Nothing should have changed on Test 2.
Environment information
----------------------------------------
Reproduced on WordPress 5.9.7 / Civi 5.8.1, WordPress 6.2.2 / Civi 5.61.3 and on d9-master / 5.63.alpha1.https://lab.civicrm.org/dev/core/-/issues/4307SearchKit "If/Else" field transformation does not behave as described2023-05-25T02:13:22ZnoahSearchKit "If/Else" field transformation does not behave as describedFirst of all, [the description for the "If/Else" field transformation](https://github.com/civicrm/civicrm-core/blob/9e9feedffa6146ffb211f5a47de305b9bf591d22/Civi/Api4/Query/SqlFunctionIF.php#L54) is backwards. It says:
"If the field is ...First of all, [the description for the "If/Else" field transformation](https://github.com/civicrm/civicrm-core/blob/9e9feedffa6146ffb211f5a47de305b9bf591d22/Civi/Api4/Query/SqlFunctionIF.php#L54) is backwards. It says:
"If the field is empty, the first value, otherwise the second."
The order of "first" and "second" in that sentence are reversed. And, since we're just talking about the MySQL IF construct here, a closer description would be (according to the [MYSQL docs regarding the if/else construct](https://dev.mysql.com/doc/refman/8.0/en/flow-control-functions.html#function_if)):
"If the field is nonzero and non-NULL, the first value, otherwise the second."
But even that isn't totally accurate. It leaves out the fact that the field (the comparison value) will be cast to an integer for comparison. In MySQL, strings starting with any character except 1-9 will be cast to 0 (false).
````
+---------------------------+
| IF(true, 'true', 'false') |
+---------------------------+
| true |
+---------------------------+
+----------------------------+
| IF(false, 'true', 'false') |
+----------------------------+
| false |
+----------------------------+
+------------------------+
| IF(1, 'true', 'false') |
+------------------------+
| true |
+------------------------+
+------------------------+
| IF(0, 'true', 'false') |
+------------------------+
| false |
+------------------------+
+---------------------------+
| IF(null, 'true', 'false') |
+---------------------------+
| false |
+---------------------------+
+---------------------------------------+
| IF("5_golden_rings", 'true', 'false') |
+---------------------------------------+
| true |
+---------------------------------------+
+--------------------------------------+
| IF("my_1_and_only", 'true', 'false') |
+--------------------------------------+
| false |
+--------------------------------------+
````
So an accurate description of this field transformation is:
"If the field is boolean TRUE, any number except 0, or a string not starting with the digits 1-9, the first value, otherwise the second."https://lab.civicrm.org/dev/core/-/issues/4306New SMS screen crashes due to extra space in {htxt id ="id-sms_..."} in Group...2023-05-23T00:11:48ZjhungerfordNew SMS screen crashes due to extra space in {htxt id ="id-sms_..."} in Group.hlpOverview
----------------------------------------
After updating from Civi 5.57.x to 5.61.2, pressing "New SMS" or navigating to /civicrm/sms/send?reset=1 results in this error message:
```
Sorry, due to an error, we are unable to fulfi...Overview
----------------------------------------
After updating from Civi 5.57.x to 5.61.2, pressing "New SMS" or navigating to /civicrm/sms/send?reset=1 results in this error message:
```
Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
Invalid {htxt} tag. Wrapped 10 opening-tags and 12 closing-tags.
```
Reproduction steps
----------------------------------------
1. Navigate to /civicrm/sms/send?reset=1
Current behaviour
----------------------------------------
Some of the page content is present, but most of it is replaced with the error message mentioned above.
Expected behaviour
----------------------------------------
It should have a form for selecting the SMS provider, as well as "Next" and "Cancel" buttons.
Environment information
----------------------------------------
* __CiviCRM:__ 5.61.2
Comments
----------------------------------------
The bug is caused by the extra spaces in the last two {htxt} tags in this file:
https://lab.civicrm.org/dev/core/-/blob/master/templates/CRM/SMS/Form/Group.hlp#L50-53
This regex doesn't match the extra space, so it throws an exception when the count of `{htxt}`s doesn't match the count of `{/htxt}`s:
https://lab.civicrm.org/dev/core/-/blob/master/CRM/Core/Smarty/plugins/prefilter.htxtFilter.php#L21
Removing the extra spaces fixes the page:
`{htxt id="id-sms_provider-title"}`
and
`{htxt id="id-sms_provider"}`https://lab.civicrm.org/dev/core/-/issues/4305Implementing hook_civicrm_alterAngular breaks href attributes that include so...2023-05-24T10:43:11ZDaveDImplementing hook_civicrm_alterAngular breaks href attributes that include some angular expressionsSee also https://chat.civicrm.org/civicrm/pl/xqbryepb4fra5f6smn8uazbeoc
searchkit has a line like this in the code: `<a href="#/create/{{:: row.data.api_entity + '?params=' + $ctrl.encode(row.data.api_params) }}">`
If you implement alt...See also https://chat.civicrm.org/civicrm/pl/xqbryepb4fra5f6smn8uazbeoc
searchkit has a line like this in the code: `<a href="#/create/{{:: row.data.api_entity + '?params=' + $ctrl.encode(row.data.api_params) }}">`
If you implement alterAngular, even if you don't change anything, it breaks that code because the `+`'s become spaces. e.g.
```php
function myextension_civicrm_alterAngular(\Civi\Angular\Manager $angular) {
$changeSet = \Civi\Angular\ChangeSet::create('dosomething')
->alterHtml('~/crmSearchAdmin/searchListing/buttons.html',
function (phpQueryObject $doc) {
// it breaks even if you don't do anything here
});
$angular->add($changeSet);
```
The problem seems to be in DOMDocument itself (or maybe libxml). It treats href specially, but is picky about which characters it encodes. It will encode `{`, `[`, `&`, `$`, etc but not `+`, `.`, `=`, etc, and amazingly not even `%`. So then when you urldecode it turns the `+` into a space, and if you had something like `%12` in your original string, it would end up decoding that into a single char. It serves you right a bit for using those chars in a filename/url, but it's legal.
This seems inconsistent/error-prone.
And note it only does this for href attributes, e.g.
```php
<?php
$d = new DOMDocument();
$d->loadHTML('<a href="abc/!@#$%12*-.+(){}[]=" data-foo="abc/!@#$%12*-.+(){}[]=">');
echo $d->saveHTML();
```
gives
```
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><a href="abc/!@#%24%12*-.+()%7B%7D%5B%5D=" data-foo="abc/!@#$%12*-.+(){}[]="></a></body></html>
```
So while Civi\Angular\Coder could maybe be updated somehow, there isn't really a way for it to know if you meant something like `%2C` to be a literal percent followed by 2C, or if you meant `,`, and ditto for all the other characters it skips. So using ng-href instead seems like a good way of avoiding the problem, just as noted in the chat it's hard to enforce this. But core could do it at least.5.63.0https://lab.civicrm.org/dev/wordpress/-/issues/141getUFLocale() is not setting the proper locale2023-05-19T18:47:06ZshaneonabikegetUFLocale() is not setting the proper locale## Overview
Presently, the function ```getUFLocale()``` obtains the interface language for Wordpress with integration with WPML. The present formula is using incorrect ```apply_filters``` to generate the wrong locale for front-endusers....## Overview
Presently, the function ```getUFLocale()``` obtains the interface language for Wordpress with integration with WPML. The present formula is using incorrect ```apply_filters``` to generate the wrong locale for front-endusers.
This was discovered while working validating the pull request [#289](https://github.com/civicrm/civicrm-wordpress/pull/289) for better WPML integration for front-end users.
## What should happen
The link should be generated in the language that the current user has set.
## What is the problem
```php
// Maybe override with the locale that WPML reports.
elseif (defined('ICL_LANGUAGE_CODE')) {
$languages = apply_filters('wpml_active_languages', NULL);
foreach ($languages as $language) {
if ($language['active']) {
$locale = $language['default_locale'];
break;
}
}
}
```
According to the docs, ```apply_filters('wpml_active_languages', NULL)``` only retrieves a list of languages, but this has no bearing on the user's current language. The value ```$language['active']``` refers to whether the language is active or not. In my case, I have seen this reported as _false_ in some cases where languages are active - go figure :shrug: .
So we need to use ```apply_filters('wpml_current_language')``` [to obtain](https://wpml.org/wpml-hook/wpml_current_language/) the users front-end language.
I'll post a patch for this and link it to this one.
cc @kcristianohttps://lab.civicrm.org/dev/core/-/issues/4303Custom field post help results in "Unable to load help file."2023-05-23T22:58:09Zwil_SRQCustom field post help results in "Unable to load help file."Overview
----------------------------------------
See https://civicrm.stackexchange.com/questions/44976/custom-field-post-help-results-in-unable-to-load-help-file/44978#44978
Clicking the blue help bubble for a custom field yields the e...Overview
----------------------------------------
See https://civicrm.stackexchange.com/questions/44976/custom-field-post-help-results-in-unable-to-load-help-file/44978#44978
Clicking the blue help bubble for a custom field yields the error message "Unable to load help file." The log records an exception, [attached.](/uploads/8a35ccf2e69e50a8104f8ae8e755f715/log1.txt) Non-custom fields are working normally.
Reproduction steps
----------------------------------------
1. Locate or create a custom field with field post help text
1. Go to a Create or Edit page that allows filling the custom field
1. Click the blue help bubble
Current behaviour
----------------------------------------
Described in the overview.
Expected behaviour
----------------------------------------
The field post help text displays in a pop-up at the top right of the page.
Environment information
----------------------------------------
* __CiviCRM:__ _5.61.1_
* __PHP:__ _7.4.33_
* __CMS:__ _Drupal 7.97_
* __Database:__ _MySQL 5.7.42_
*
Comments
----------------------------------------
This error is new (regression), but I don't know when it emerged. [Lars](https://civicrm.stackexchange.com/users/3533/lars-sg) confirmed correct operation on 5.58.1 and the problem on dmaster.5.61.3https://lab.civicrm.org/dev/wordpress/-/issues/140Event registration confirmation page no longer shown. Error: Could not find v...2023-12-07T09:30:02Zdarren.woodsEvent registration confirmation page no longer shown. Error: Could not find valid value for id.WordPress 6.2, Civi ESR 5.57.5.
The confirmation page after event registration is no longer shown (for both Test and Live links). Instead, the attached error is shown:-
![image](/uploads/602b80ebba49507af86158d362c9b164/image.png)
The ...WordPress 6.2, Civi ESR 5.57.5.
The confirmation page after event registration is no longer shown (for both Test and Live links). Instead, the attached error is shown:-
![image](/uploads/602b80ebba49507af86158d362c9b164/image.png)
The workaround is to embed the event registration page as a shortcode. However the confirmation page and confirmation emails show a link to the event info page, which then has the "Register" button taking people to the wrong page.
I'm wondering if this can be fixed, or if we need to override the confirmation and event info pages somehow to redirect users to the WordPress page (perhaps using a naming convention).
Thanks!https://lab.civicrm.org/dev/core/-/issues/4300FormBuilder: Client-side email validation doesn't work2023-07-07T03:55:58ZkcristianoFormBuilder: Client-side email validation doesn't workThis is a follow up issue to https://lab.civicrm.org/dev/core/-/issues/4173 and relayed to https://lab.civicrm.org/dev/core/-/issues/4174#note_90537
Steps to Reproduce:
- Build WP site with latest CiviCRM - Cureently using WP 6.2.1 and...This is a follow up issue to https://lab.civicrm.org/dev/core/-/issues/4173 and relayed to https://lab.civicrm.org/dev/core/-/issues/4174#note_90537
Steps to Reproduce:
- Build WP site with latest CiviCRM - Cureently using WP 6.2.1 and CiviCRM 5.61.2
- Create a submission form with the following Fields - all required
- First Name
- Last Name
- Email
- Phone
Compete the form, but for email use `meatme` as the email address.
- expected behavior - fails validation
- Actual behavior form submits
Email validation not working client side or server side. I have confirmed this on WP and Drupal 7.
~~Possibly related - on phone or address - add a second item (second phone in my testing). Do not choose a location type. Form submits, but the record does not update CiviCRM. This behavior only exists on WP, I cannot reproduce on Drupal. I can break this out as another issue if needed. But adding here as I see this as validation failing.~~
EDIT: The location issue is fixed in WP with the master branch.
ping @eileen @colemanw @shaneonabike @JonGold As we all commented on original issue notifying and asking for feedback and comments on a possible way to fix.https://lab.civicrm.org/dev/core/-/issues/4298CiviMail - throw 400 (Bad Request) rather than 500 (Server Error) if public u...2023-07-27T17:17:06ZufundoCiviMail - throw 400 (Bad Request) rather than 500 (Server Error) if public url endpoints hit with bad parametersOverview
----------------------------------------
Urls for CiviMail public endpoints like `civicrm/mailing/open` have a few required parameters, identifying the user / url etc. How should we handle if params aren't valid?
Current behavi...Overview
----------------------------------------
Urls for CiviMail public endpoints like `civicrm/mailing/open` have a few required parameters, identifying the user / url etc. How should we handle if params aren't valid?
Current behaviour
----------------------------------------
Current standard behaviour Civi-wide for missing/invalid params is a `CRM_Core_Exception`, which in turn results in a 500 server error.
Proposed behaviour
----------------------------------------
I think a 400 Bad Request error is more appropriate, for the "public" CiviMail links in particular.
Comments
----------------------------------------
It also helps with detecting and blocking spammy click behaviour, which I've seen with random permutations of parameters and things like this.5.65.0https://lab.civicrm.org/dev/core/-/issues/4295SearchKit - non-core legacy search tasks don't work with contributions2023-05-24T07:05:24ZufundoSearchKit - non-core legacy search tasks don't work with contributionsReproduction steps
----------------------------------------
1. Create a SearchKit with contribution entities
1. Enable an extension with a legacy search task (e.g. https://lab.civicrm.org/ufundo/ukgiftaid/-/tree/searchkit-actions )
1. Ta...Reproduction steps
----------------------------------------
1. Create a SearchKit with contribution entities
1. Enable an extension with a legacy search task (e.g. https://lab.civicrm.org/ufundo/ukgiftaid/-/tree/searchkit-actions )
1. Task appears in the ACTIONS menu for the contributions
2. But the popup when you click the action fails ( "Unable to reach the server. Please refresh this page in your browser and try again.")
Current behaviour
----------------------------------------
![image](/uploads/f8f841892e5741e9544b5797aa07fbfd/image.png)
```
We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site administrator for assistance.<br /><br />Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org.<br /><br />Error type: Could not find a valid session key.
```
Expected behaviour
----------------------------------------
Action form should appear in the pop up.
Comments
----------------------------------------
`SearchDisplay::getSearchTasks` currently generates qfKey for legacy search task forms based on hard-coded class `CRM_Contribute_Controller_Task` in this line https://github.com/civicrm/civicrm-core/blob/a599e40ad27ebcd9d4b8e80bf0a5904983d5ee82/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php#LL196C1-L196C77
This causes tasks using any other class controller fail due to the mismatch.
Couple of potential fixes incoming...ufundoufundohttps://lab.civicrm.org/dev/core/-/issues/4289Multi record Profile forms not saving and redirecting on "Add New Record".2023-11-08T14:04:31Zdarren.woodsMulti record Profile forms not saving and redirecting on "Add New Record".Overview
----------------------------------------
Multi record Profile forms are no longer respecting the "Redirect URL" for the Profile:-
![image](/uploads/3b349b061965a160ec7a51cfab703972/image.png)
Reproduction steps
----------------...Overview
----------------------------------------
Multi record Profile forms are no longer respecting the "Redirect URL" for the Profile:-
![image](/uploads/3b349b061965a160ec7a51cfab703972/image.png)
Reproduction steps
----------------------------------------
1. Under "Administer/Custom Data and Screens/Display Preferences" deselect "Enable Popup Forms".
2. Create a multi record custom data group and add a field.
2. Create a Profile which exposes these fields as a standalone form, setting the "Redirect URL" to be a valid URL.
3. Embed this Profile in a WordPress page using a shortcode, e.g.: [civicrm component="profile" gid="16" mode="edit" hijack="0"]
4. View the Page and click "Add new record", enter some valid data and click "Submit button.
Current behaviour
----------------------------------------
Form data is not saved and user is redirected to /civicrm/profile/edit which results in a blank WordPress page.
Expected behaviour
----------------------------------------
Form data is saved and user is redirected to the Redirect URL.
Environment information
----------------------------------------
CiviCRM 5.61.2
WordPress 6.2
Comments
----------------------------------------
_Anything else you would like the reviewer to note._https://lab.civicrm.org/dev/core/-/issues/4283Search Kit did not install automatically (Civi 5.61.1 FR and Drupal 7.97.FR2023-05-25T13:23:57ZWebmasterBouclierSearch Kit did not install automatically (Civi 5.61.1 FR and Drupal 7.97.FROverview
----------------------------------------
Funny issue while doing a fresh installation of CiviCRM 5.61.1 FR on a Drupal 7.97 FR (not an upgrade). Search Kit is available in the extensions and indicatated as "Obligatoire" (mandato...Overview
----------------------------------------
Funny issue while doing a fresh installation of CiviCRM 5.61.1 FR on a Drupal 7.97 FR (not an upgrade). Search Kit is available in the extensions and indicatated as "Obligatoire" (mandatory). But it is not outlined in green as the other extensions allready installed. And there is no button to install it.
While trying to install Mosaico, system tell me that Search Kit needs to be installed before.
The Search Kit were not created in the Civi database.
More details and screenshots on chat.civicrm.org : [https://chat.civicrm.org/civicrm/pl/ea5osnwhrj855regwhjkbpse9y](https://chat.civicrm.org/civicrm/pl/ea5osnwhrj855regwhjkbpse9y)
Is this a bug in the installation process of SearchKit?
I solved the issue by using API3 install process, and that solved my problem.
But I understand that Search Kit should have installed itself automatically.
PHP 7.3
MySQL 5.7
Hosting OVH (France)https://lab.civicrm.org/dev/core/-/issues/4282Membership for regression in 5.612023-06-10T01:11:59ZeileenMembership for regression in 5.61Refer https://lab.civicrm.org/dev/core/-/issues/4272#note_90443 and
https://github.com/civicrm/civicrm-core/pull/26170Refer https://lab.civicrm.org/dev/core/-/issues/4272#note_90443 and
https://github.com/civicrm/civicrm-core/pull/261705.61.2https://lab.civicrm.org/dev/core/-/issues/4281`{help}` tags that don't specify the `file` parameter no longer work on windows2023-05-19T14:00:48ZDaveD`{help}` tags that don't specify the `file` parameter no longer work on windowsSeems to have broke in 5.57 with https://github.com/civicrm/civicrm-core/commit/d80e8fa62cad6661a0882753a8babf5512f9bb12. Now it just throws an error.
An example is on the activity form if you click the help bubble for assignee.
I see ...Seems to have broke in 5.57 with https://github.com/civicrm/civicrm-core/commit/d80e8fa62cad6661a0882753a8babf5512f9bb12. Now it just throws an error.
An example is on the activity form if you click the help bubble for assignee.
I see - it's because on windows it doesn't match the regex because it has `\` instead.5.63.0https://lab.civicrm.org/dev/core/-/issues/4278Import "fill" doesn't respect location type for email/phone2023-05-04T22:10:09ZJonGoldImport "fill" doesn't respect location type for email/phoneOverview
----------------------------------------
If you use the "Fill" strategy for duplicate records in Contact Import, phone and email will be skipped if *any* phone/email exists, regardless of location type. Addresses import correct...Overview
----------------------------------------
If you use the "Fill" strategy for duplicate records in Contact Import, phone and email will be skipped if *any* phone/email exists, regardless of location type. Addresses import correctly.
Reproduction steps
----------------------------------------
1. Create a contact with a Home phone number.
1. Create a CSV with two columns - that contact's ID, and a Work phone number.
1. Import with the "Fill" strategy for duplicate records, matching on contact ID.
Current behaviour
----------------------------------------
Work phone number isn't imported.
Expected behaviour
----------------------------------------
Work phone number is imported.
Comments
----------------------------------------
Similar to https://lab.civicrm.org/dev/core/-/issues/4269 but amazingly is not a regression. This was fixed years ago for addresses, but not phones/email.5.63.0JonGoldJonGold