Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-06-27T09:00:36Zhttps://lab.civicrm.org/dev/core/-/issues/4115AFFORM: numerical fields are not checked when the form is submitted2023-06-27T09:00:36ZNadaillacAFFORM: numerical fields are not checked when the form is submittedSee Wpmaster 5.60
Expected -> have an error message and do not allow the form submissionSee Wpmaster 5.60
Expected -> have an error message and do not allow the form submissionhttps://lab.civicrm.org/dev/core/-/issues/4114{SEARCHKIT} exported file is corrupted2023-02-09T07:21:46ZGuillaumeSorel{SEARCHKIT} exported file is corruptedOn different versions of CiviCRM but only for one instance I can export and download a file as .ods or .xls but I get the message that the file is corrupted and can't be opened both with LibreOffice and MSOffice and Numbers on Mac, Debia...On different versions of CiviCRM but only for one instance I can export and download a file as .ods or .xls but I get the message that the file is corrupted and can't be opened both with LibreOffice and MSOffice and Numbers on Mac, Debian or Windows. But the .csv export is usable. Upgrading the core of the instance didn't change this behaviour.
Issue initially opened on [Export to excel] extension repo (https://lab.civicrm.org/extensions/civiexportexcel/-/issues/18)https://lab.civicrm.org/dev/core/-/issues/4112Finish making legacycustomsearches optional2023-10-16T00:27:55ZeileenFinish making legacycustomsearches optionalOur long term goal is to stop supporting the legacycustomsearch framework (and eventually the rest
of the legacy search framework). We have a way to go before this is possible. However, we are already providing de facto limited support ...Our long term goal is to stop supporting the legacycustomsearch framework (and eventually the rest
of the legacy search framework). We have a way to go before this is possible. However, we are already providing de facto limited support for the extension in that we are really only doing the following:
1) doing work that involves getting the extension code out of core & into the core extension
2) doing php8.2 updates (begrudingly)
3) merging bug fixes
4) addressing regressions
This mostly means that features, in particular, are no longer being added.
We are now in a good position to work towards the interim goal of shipping CiviCRM with the extension disabled.
In order to do this I have found a few places where the extension needs to come out of the core code
1) ~~The `fillPrevNextCache` functionality - this doesn't need to be shared with the core search - and by unsharing we can simplify all that `isCoreSearch` stuff. I put up a PR after doing universe grepping https://github.com/civicrm/civicrm-core/pull/25392~~
2) ~~The export task functionality - a separate path for the custom searches is embedded in the core searches. I got this within a whisper of working in the past & will try to revive that work https://github.com/civicrm/civicrm-core/pull/25504~~
3) ~~`CRM_Contact_BAO_SearchCustom` needs to be moved to the extension~~
4) ~~The shared but nah-not-really code in `contactIDSQL` needs to come out of the core code~~
![image](/uploads/8d37aa9ceddfb92805767e5e1698ae82/image.png)
5) ~~This is probably the one that needs most thought - the code to build the group contact cache needs to not be called directly from that class - ie we need a listener of some sort available - currently the code is 'if api4 then x, if custom search then y, if legacy core search then z' - so all 3 would probably 'listen & do'~~ https://github.com/civicrm/civicrm-core/pull/26611
![image](/uploads/5911b7b274bbd747404d0c5857850bdf/image.png)
7) ~~Query formatter appears to be entirely part of the FullTextSearch `CRM_Utils_QueryFormatter`~~
6) Many but not all of these places are covered above - but they all need to be out of `CRM`
![image](/uploads/d68ef94c80a9428e591abf95d0bfa4ef/image.png)https://lab.civicrm.org/dev/wordpress/-/issues/138Don't start session for certain requests (eg. Mosaico image processor)2023-03-01T12:11:52Zmattwiremjw@mjwconsult.co.ukDon't start session for certain requests (eg. Mosaico image processor)Accessing *any* civicrm page triggers a call to `session_start()` via `maybe_start_session()`. But this can be quite problematic because it generally causes caching to be disabled/bypassed.
This is particularly a problem for Mosaico imag...Accessing *any* civicrm page triggers a call to `session_start()` via `maybe_start_session()`. But this can be quite problematic because it generally causes caching to be disabled/bypassed.
This is particularly a problem for Mosaico image backend located at `civicrm/mosaico/img` which gets called many (1000s) of times when a bulk mail is sent. I've tested by commenting out the `session_start()` and `civicrm/mosaico/img` works fine, but that obviously breaks the rest of CiviCRM..
Any thoughts how we could solve this @bgm @haystack - I tried checking eg. `get_query_args('q')` but it errors so I assume we can't check that early in the "boot" process?https://lab.civicrm.org/dev/core/-/issues/4109New `address_primary` tokens don't work2023-02-27T12:35:41ZJonGoldNew `address_primary` tokens don't workhttps://github.com/civicrm/civicrm-core/pull/25032 introduced a new standard, such that a postal code token should be: `{contact.address_primary.postal_code}`.
There is also what the tests call the "briefly popular" interim format: `{co...https://github.com/civicrm/civicrm-core/pull/25032 introduced a new standard, such that a postal code token should be: `{contact.address_primary.postal_code}`.
There is also what the tests call the "briefly popular" interim format: `{contact.primary_address.postal_code}`.
However, the `address_primary` variant only works if either the corresponding `primary_address` OR legacy token is also present. The tests pass because the legacy tokens and new tokens are tested together.
E.g. this won't render:
```
pa postal: {contact.address_primary.postal_code}
```
But these two will:
```
old postal: {contact.postal_code}
pa postal: {contact.address_primary.postal_code}
```
```
interim postal: {contact.primary_address.postal_code}
pa postal: {contact.address_primary.postal_code}
```5.58.1https://lab.civicrm.org/dev/core/-/issues/4106Add filter on pledge payment in contribution report templates2023-02-28T06:44:39ZyashodhaAdd filter on pledge payment in contribution report templates Add a filter on "contribution is a pledge payment Yes/No" in contribution report templates Add a filter on "contribution is a pledge payment Yes/No" in contribution report templatesyashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4105Import contribution note does not accept emtpy string2023-03-10T23:41:49ZmasettoImport contribution note does not accept emtpy stringOverview
----------------------------------------
If in import contributions I map the field 'Note' and if there are rows with an empty value, I get this error:
**`"Mandatory values missing from Api4 Note::save: note"`**
Reproduction s...Overview
----------------------------------------
If in import contributions I map the field 'Note' and if there are rows with an empty value, I get this error:
**`"Mandatory values missing from Api4 Note::save: note"`**
Reproduction steps
----------------------------------------
1. Click on **Contributions -> Import contributions**.
1. Choose a CSV file. There must be a column for 'Notes'.
1. In Match Fields (step 2 of 3) for the column "Notes" choose "Note"
Current behaviour
----------------------------------------
For rows with emtpy notes I have this error:
**`"Mandatory values missing from Api4 Note::save: note"`**
Expected behaviour
----------------------------------------
It must also accept empty notes.
Environment information
----------------------------------------
* __CiviCRM:__ _5.57.3_
* __PHP:__ _8.1_
* __CMS:__ _Drupal 9_
* __Database:__ _MySQL 5.7.7_5.59.2https://lab.civicrm.org/dev/core/-/issues/4104SearchKit / API4 Explorer: Cannot select Contribution ID for ContributionSoft2023-02-02T00:47:08ZlarsssandergreenSearchKit / API4 Explorer: Cannot select Contribution ID for ContributionSoftSeems like something isn't right with the reference from ContributionSoft contribution id to the original contribution id. When trying to use the select2 for these, no matter what you enter, you'll get Loading failed and be unable to sel...Seems like something isn't right with the reference from ContributionSoft contribution id to the original contribution id. When trying to use the select2 for these, no matter what you enter, you'll get Loading failed and be unable to select a contribution id. API4 itself works as expected.
In Searchkit:
![image](/uploads/c34f072e4840d65f55069905d335ff3a/image.png)
In API4 Explorer:
![image](/uploads/58abb51db8b5ecf70e75bf9709244d2b/image.png)
Tested on dmaster (5.59).5.58.0https://lab.civicrm.org/dev/core/-/issues/4103Event price sets: Admin-only text field amount is shown in event registration...2023-05-05T15:52:20ZlarsssandergreenEvent price sets: Admin-only text field amount is shown in event registration test driveThis is a minor issue, but potentially confusing as it makes the event registration test drive page incorrect and different from the live registration page.
Steps to replicate:
1. Start with an event with a price set for registration o...This is a minor issue, but potentially confusing as it makes the event registration test drive page incorrect and different from the live registration page.
Steps to replicate:
1. Start with an event with a price set for registration options
2. Add a Text / Numeric Quantity field to the price set with Visibility = Admin.
3. Open Registration (Test Drive) in an Incognito / Private window.
4. Open Registration (Live) in an Incognito / Private window.
Note that the amount of the field is shown on a line on the test drive page, but not on the live page. The input field itself is not shown, just the amount. Nothing should be shown on the test drive page as this option is admin only.
This only happens with text fields, other field types are correctly not shown if set to admin only.
Tested on dmaster (5.59).
I will look into this when I have some time available.5.63.0https://lab.civicrm.org/dev/core/-/issues/4100Add setting to disable Smarty in Scheduled reminders2023-04-11T12:40:41ZMichael McAndrewAdd setting to disable Smarty in Scheduled remindersUntil now, Smarty has been turned on in scheduled reminders.
This can cause problems when inline CSS is present in the scheduled reminder (e.g. when the html for the reminder was generated via Mosaico using the https://civicrm.org/exten...Until now, Smarty has been turned on in scheduled reminders.
This can cause problems when inline CSS is present in the scheduled reminder (e.g. when the html for the reminder was generated via Mosaico using the https://civicrm.org/extensions/mosaico-message-templates extension). It causes a fatal error when sending the messages which may not be detected and may cause other scheduled jobs to fail.
We could fix this by turning it off but some sites may want to preserve the current behaviour (those who actually use Smarty in their scheduled reminders - we don't now how many of these exist but we presume that they are in the minority - see https://github.com/civicrm/civicrm-core/pull/15436#issuecomment-541923948 for a discussion of why Smarty was enabled originally).
So we:
1. add a new setting `scheduled_reminder_smarty` which by default is null, i.e. we disable this feature for new sites.
2. enable this feature during the upgrade to preserve the existing behaviour
3. let people know they we might want to turn it off in a post upgrade message
We should also consider mentioning this in the https://civicrm.org/extensions/mosaico-message-templates documentation.
See https://github.com/civicrm/civicrm-core/pull/15436 and https://lab.civicrm.org/dev/core/-/issues/58 for relevant background.5.60.0https://lab.civicrm.org/dev/core/-/issues/4097CRM_Utils_Number::formatLocaleNumeric() method throws fatal error with empty ...2023-01-30T21:07:08ZbenmoreassyntCRM_Utils_Number::formatLocaleNumeric() method throws fatal error with empty string parameter.Overview
----------------------------------------
CRM_Utils_Number::formatLocaleNumeric() method throws fatal error due to string parameter.
Reproduction steps
----------------------------------------
1. Generate a report that uses cust...Overview
----------------------------------------
CRM_Utils_Number::formatLocaleNumeric() method throws fatal error due to string parameter.
Reproduction steps
----------------------------------------
1. Generate a report that uses custom fields with numeric values. In my case the custom fields were storing simple integer counts of family members.
1. The following fatal error is thrown: "Fatal error: Uncaught Error: NumberFormatter::format(): Argument #1 ($num) must be of type int|float, string given
in /path/to/civicrm/civicrm/CRM/Utils/Number.php on line 123"
Current behaviour
----------------------------------------
Fatal error is thrown. Error affects multiple reports. Full output follows.
```
Fatal error: Uncaught Error: NumberFormatter::format(): Argument #1 ($num) must be of type int|float, string given
in /path/to/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Utils/Number.php on line 123
Call stack:
NumberFormatter::format()
wp-content/plugins/civicrm/civicrm/CRM/Utils/Number.php:123
CRM_Utils_Number::formatLocaleNumeric()
wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomField.php:1282
CRM_Core_BAO_CustomField::formatDisplayValue()
wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomField.php:1116
CRM_Core_BAO_CustomField::displayValue()
wp-content/plugins/civicrm/civicrm/CRM/Report/Form.php:2388
CRM_Report_Form::alterCustomDataDisplay()
wp-content/plugins/civicrm/civicrm/CRM/Report/Form.php:3293
CRM_Report_Form::sectionTotals()
wp-content/plugins/civicrm/civicrm/CRM/Report/Form.php:2578
CRM_Report_Form::formatDisplay()
wp-content/plugins/civicrm/civicrm/CRM/Report/Form/Contact/Summary.php:154
CRM_Report_Form_Contact_Summary::postProcess()
wp-content/plugins/civicrm/civicrm/CRM/Report/Form.php:956
CRM_Report_Form::preProcess()
wp-content/plugins/civicrm/civicrm/CRM/Report/Form/Contact/Summary.php:125
CRM_Report_Form_Contact_Summary::preProcess()
wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php:668
CRM_Core_Form::buildForm()
wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Display.php:76
CRM_Core_QuickForm_Action_Display::perform()
wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php:203
HTML_QuickForm_Controller::handle()
wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php:103
HTML_QuickForm_Page::handle()
wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php:355
CRM_Core_Controller::run()
wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php:98
CRM_Utils_Wrapper::run()
wp-content/plugins/civicrm/civicrm/CRM/Report/Page/Instance.php:74
CRM_Report_Page_Instance::run()
wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:319
CRM_Core_Invoke::runItem()
wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:69
CRM_Core_Invoke::_invoke()
wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:36
CRM_Core_Invoke::invoke()
wp-content/plugins/civicrm/civicrm.php:1199
CiviCRM_For_WordPress::invoke()
wp-includes/class-wp-hook.php:308
WP_Hook::apply_filters()
wp-includes/class-wp-hook.php:332
WP_Hook::do_action()
wp-includes/plugin.php:517
do_action()
wp-admin/admin.php:259
```
Expected behaviour
----------------------------------------
A CiviCRM report of custom fields and data should be shown.
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __CiviCRM:__ 5.57.1
* __PHP:__ reproduced in 8.1 and 8.0
* __CMS:__ WordPress 6.6.1
* __Database:__ reproduced in MySQL 5.7 and MySQL 8.0
* __Web Server:__ Apache 2.4
Comments
----------------------------------------
Possible fix (submitted via pull request):
CRM/Utils/Number.php Insert the following after line 122.
```php
if ((int) $amount == $amount) {
$amount = intval($amount);
} else {
$amount = floatval($amount);
}
```5.59.0https://lab.civicrm.org/dev/core/-/issues/4096Proposal - change title for all `is_primary` fields to 'Is Primary'2023-02-06T03:57:46ZeileenProposal - change title for all `is_primary` fields to 'Is Primary'I just got REALLY confused trying to import to `Primary Email` - which turns out to be the `is_primary` field - I think we should maybe change to `Is Primary` - @colemanw ?I just got REALLY confused trying to import to `Primary Email` - which turns out to be the `is_primary` field - I think we should maybe change to `Is Primary` - @colemanw ?5.59.0https://lab.civicrm.org/dev/core/-/issues/40955.58 rc upgrade error2023-01-25T23:07:10Zeileen5.58 rc upgrade errorI hit an error in the 5.58rc upgrade script - although oddly enough the sql seems to run when run directly & column type seems to be text
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHan...I hit an error in the 5.58rc upgrade script - although oddly enough the sql seems to run when run directly & column type seems to be text
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => UPDATE `civicrm_option_group` SET `description`
= 'When recording mobile phone numbers for contacts, it may be useful
to include the Mobile Phone Service Provider (e.g. Cingular, Sprint,
etc.). CiviCRM is installed with the most commonly encountered
service providers. Administrators may define as many additional
providers as needed.' WHERE ( `civicrm_option_group`.`id` = 5 )
[nativecode=1406 ** Data too long for column 'description' at row 1]
[type] => DB_Error
[user_info] => UPDATE `civicrm_option_group` SET `description`
= 'When recording mobile phone numbers for contacts, it may be useful
to include the Mobile Phone Service Provider (e.g. Cingular, Sprint,
etc.). CiviCRM is installed with the most commonly encountered
service providers. Administrators may define as many additional
providers as needed.' WHERE ( `civicrm_option_group`.`id` = 5 )
[nativecode=1406 ** Data too long for column 'description' at row 1]5.58.0https://lab.civicrm.org/dev/core/-/issues/4094Admin UI: Attempting to delete custom field group with custom fields opens th...2023-08-12T05:12:29ZlarsssandergreenAdmin UI: Attempting to delete custom field group with custom fields opens the listing page in modal windowIf you:
1. Enable Admin UI
2. Attempt to delete a custom field group that contains at least one custom field
You will get a message that you cannot do this while the field group contains fields (makes sense), but also modal window will...If you:
1. Enable Admin UI
2. Attempt to delete a custom field group that contains at least one custom field
You will get a message that you cannot do this while the field group contains fields (makes sense), but also modal window will open with the main custom field groups listing page again (this should not happen).
![image](/uploads/539ce85d7607649fe04405e3f14c22bf/image.png)
Also, there is no timeout for the alert generated, so it never goes away. Standard 10s for this seems sufficient.
![image](/uploads/2a520630fe49b4290ba54e6167cc3cd3/image.png)
Verified on dmaster (5.59).https://lab.civicrm.org/dev/core/-/issues/4092Resubscribe request processing crashes, blocks cron job2023-01-31T08:29:15ZBobSResubscribe request processing crashes, blocks cron jobOverview
----------------------------------------
When CiviCRM performs bounce processing, a resubscribe request email results in a call to CRM_Mailing_Event_BAO_Resubscribe::resub_to_mailing() which fails as that class does not exist. A...Overview
----------------------------------------
When CiviCRM performs bounce processing, a resubscribe request email results in a call to CRM_Mailing_Event_BAO_Resubscribe::resub_to_mailing() which fails as that class does not exist. As the error occurs before the offending email is removed from the Inbox, subsequent invocations of "civicrm-api job.execute" continue to fail.
Reproduction steps
----------------------------------------
1. Unsubscribe from an email list.
2. Receive confirmation email with the message ```You can re-subscribe by mailing mailto:bounce+e.[redacted]@mydomain.org```
3. Send an email to that address.
In addition, clicking the link in the email fails for the same reason.
Current behaviour
----------------------------------------
* Popup indicating "Cron not running".
* Mail processing (and presumably other scheduled jobs) not running.
* Drupal log entry: ```Error: Class 'CRM_Mailing_Event_BAO_Resubscribe' not found in civicrm_api3_mailing_event_resubscribe_create() (line 29 of /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/api/v3/MailingEventResubscribe.php).```
Expected behaviour
----------------------------------------
Contact resubscribed.
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is necessary. -->
* __CiviCRM:__ _5.57.0_
* __PHP:__ _7.4.33_
* __CMS:__ _Drupal 7.91_
* __Database:__ _MariaDB 10.4_
* __Web Server:__ _Apache 2.4_
Comments
----------------------------------------
* Most recent bounce+e email we've received before this one was in 11/21, and that caused no issues.
* Marking this Confidential as it could be used in a type of Denial of Service attack, preventing CiviCRM sites from sending email/SMS.5.57.3https://lab.civicrm.org/dev/core/-/issues/4090Managed Entity reconciliation fails if entity exists without Managed entity2023-06-08T16:37:28Zaydunsaidan.saunders@squiffle.ukManaged Entity reconciliation fails if entity exists without Managed entityOverview
----------------------------------------
Follow along now: "Managed Entities" involve both a `Managed` entity and the entity being managed. If the managed entity exists but the corresponding `Managed` entity does not, errors a...Overview
----------------------------------------
Follow along now: "Managed Entities" involve both a `Managed` entity and the entity being managed. If the managed entity exists but the corresponding `Managed` entity does not, errors are thrown.
For example, if an extension provides a `.mgd.php` file specifying a `PaymentProcessorType` entity, the reconciliation process will create the `PaymentProcessorType` entity and a `Managed` entity and then manage updates or deletion when the extension is updated or uninstalled.
In some (unknown) circumstances, the `Managed` entity does not exist but the managed (eg `PaymentProcessorType`) entity does exist. `CRM_Core_ManagedEntities::reconcile()` does not check for the existence of the `PaymentProcessorType` entity and so attempts to create a duplicate which fails. This happens any time a cache clear occurs.
Reproduction steps
----------------------------------------
I don't know how this has occurred on live systems, but to simulate:
1. Install Stripe (or other extension with `.mgd.php`)
2. Delete the `Managed` entity for Stripe: `cv api4 Managed.delete +w 'name = "Stripe"'`
3. `cv flush`
Current behaviour
----------------------------------------
```
$ cv flush
Flushing system caches
Error: API Call Failed: Array
(
[entity] => System
[action] => flush
[params] => Array
(
[debug] => 1
[version] => 3
)
[result] => Array
(
[trace] => #0 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/ManagedEntities.php(192): CRM_Core_ManagedEntities->onApiError()
#1 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/ManagedEntities.php(152): CRM_Core_ManagedEntities->insertNewEntity()
#2 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/ManagedEntities.php(113): CRM_Core_ManagedEntities->reconcileEntities()
#3 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(417): CRM_Core_ManagedEntities->reconcile()
#4 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/api/v3/System.php(33): CRM_Core_Invoke::rebuildMenuAndCaches()
#5 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_system_flush()
#6 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Kernel.php(158): Civi\API\Provider\MagicFunctionProvider->invoke()
#7 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest()
#8 /opt/buildkit/build/dmaster/web/sites/all/modules/civicrm/api/api.php(22): Civi\API\Kernel->runSafe()
#9 phar:///opt/buildkit/bin/cv/src/Command/BaseCommand.php(63): civicrm_api()
#10 phar:///opt/buildkit/bin/cv/src/Command/FlushCommand.php(37): Civi\Cv\Command\BaseCommand->callApiSuccess()
#11 phar:///opt/buildkit/bin/cv/vendor/symfony/console/Command/Command.php(255): Civi\Cv\Command\FlushCommand->execute()
#12 phar:///opt/buildkit/bin/cv/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run()
#13 phar:///opt/buildkit/bin/cv/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#14 phar:///opt/buildkit/bin/cv/src/Application.php(82): Symfony\Component\Console\Application->doRun()
#15 phar:///opt/buildkit/bin/cv/vendor/symfony/console/Application.php(149): Civi\Cv\Application->doRun()
#16 phar:///opt/buildkit/bin/cv/src/Application.php(49): Symfony\Component\Console\Application->run()
#17 phar:///opt/buildkit/bin/cv/bin/cv(27): Civi\Cv\Application::main()
#18 /opt/buildkit/bin/cv(14): require('phar:///opt/bui...')
#19 {main}
[is_error] => 1
[error_message] => API error: DB Error: already exists on PaymentProcessorType.create( entity name Stripe)
)
)
```
Expected behaviour
----------------------------------------
No error - or at least a helpful error message.
I think `reconcile()` could just create the missing `Managed` entity but there may be other ramifications of doing that.
Environment information
----------------------------------------
* __CiviCRM:__ _Master_
Comments
----------------------------------------
_Anything else you would like the reviewer to note._https://lab.civicrm.org/dev/core/-/issues/4089Batch Data Entry for Membership2024-02-09T02:31:39ZmollconsBatch Data Entry for MembershipSee https://chat.civicrm.org/civicrm/pl/43n5d1d8tfr5xkc1ptmqhpn7iw for detail of issue.
I have created the contacts successfully and am now attempting to perform a "Batch Data Entry for Memberships". I have created the membership types ...See https://chat.civicrm.org/civicrm/pl/43n5d1d8tfr5xkc1ptmqhpn7iw for detail of issue.
I have created the contacts successfully and am now attempting to perform a "Batch Data Entry for Memberships". I have created the membership types (3 types) and when I attempt to "Enter Records" the error occurs.
If I delete all of the member type records, then I am able to enter the batch entry. But then I am not able to select any member type.
I am using Chrome browser on Joomla 4.2.6 and with CiviCRM 5.57.0 (or 5.57.1).https://lab.civicrm.org/dev/core/-/issues/4088Regression - CiviCRM core unit tests interfere with running non-CiviCRM tests2023-02-09T22:51:30ZeileenRegression - CiviCRM core unit tests interfere with running non-CiviCRM testsWe run our own unit tests on CiviCRM, using the tarball in our CiviCRM folder. We use a set up that @totten did many many years back when `civibuild` was first created.
It ran fine on 5.54 & does not on 5.58 due to changes in core
The ...We run our own unit tests on CiviCRM, using the tarball in our CiviCRM folder. We use a set up that @totten did many many years back when `civibuild` was first created.
It ran fine on 5.54 & does not on 5.58 due to changes in core
The error is
```
Error: Class 'api\v4\Api4TestBase' not found in include() (line 12 of /srv/civi-sites/wmff/drupal/sites/all/modules/civicrm/ext/afform/core/tests/phpunit/Civi/Afform/AfformContactSummaryTest.php).
```
We are not trying to run this test & the file does not ship with CiviCRM.
There are 2 recent changes in play
1) Class scanning was touched mid last year - this may not be relevant as the net effect of the code may not have changed
![image](/uploads/b7520bb506f68e8bc34301deb7dc0373/image.png)
2) A dependency was added by @colemanw in tests that DO ship with core on files that do NOT ship with core.
![image](/uploads/e2b1ecbc9b5666d9ec484a7a8b75f56c/image.png)
The net effect is that if tries & fails to load these unit test classes despite them being out-of-scope for what we are testing.
I think the basic principle is either the tests should not ship at all in the tarball or they should be shipped with their dependencies.
In this case it seems likely we should consider whether the `Api4TestBase` class is mature enough to ship under `Civi\Test` (with the implied support for extensions that creates). I would probably prefer to offer a trait over a `BaseClass` if we do that - although there might be blockers on that.https://lab.civicrm.org/dev/backdrop/-/issues/77Bug: when adding CMS user with a profile, get a fatal error when passwords ge...2023-01-27T21:47:09ZherbdoolBug: when adding CMS user with a profile, get a fatal error when passwords get verified for strengthThe error:
> TypeError: trim(): Argument #1 ($string) must be of type string, array given in trim() (line 1111 of /var/www/vhosts/code.on.ca/httpdocs/core/modules/user/user.module).
If a Backdrop site has "Reject weak passwords" settin...The error:
> TypeError: trim(): Argument #1 ($string) must be of type string, array given in trim() (line 1111 of /var/www/vhosts/code.on.ca/httpdocs/core/modules/user/user.module).
If a Backdrop site has "Reject weak passwords" setting enabled, then it will check the password with `user_password_policy_validate()`. This is required to recreate the error.
`CRM_Utils_System_Backdrop::createUser()` is passing the passwords as an array, which is the same as the Drupal 7 version. It's not clear why since both items in the array "pass1" and "pass2" are assigned the same field, instead of the confirmation password as well. As far as I can tell Drupal 7 does nothing with it, thus no errors. (Unless it is need for a contrib module). At any rate Backdrop only needs the main password field for validation (CiviCRM already checks that the two password fields match.)
The quick fix:
```
$form_state['input']['pass'] = ['pass1' => $params['cms_pass'], 'pass2' => $params['cms_pass']];
```
should be:
```
$form_state['input']['pass'] = $params['cms_pass'];
```
But on top of that it would be good to do the password verification in `CRM_Core_BAO_CMSUser::formRule()` similar to the username and email verification. Otherwise, the user will only see Backdrop complain after the profile is submitted and it redirects to the home page.
PR to follow5.59.0https://lab.civicrm.org/dev/core/-/issues/4087Offline Event confirmation receipt prints waitlist message2023-01-19T18:32:47ZPradeep Nayakpradpnayak@gmail.comOffline Event confirmation receipt prints waitlist messageReplicate:
1. Register for Event
2. View participant record
3. Click on Change selection link under selections
4. Select on Send Confirmation and add confirmation text and Save
Expected result:
Email should display confirmation text
Ac...Replicate:
1. Register for Event
2. View participant record
3. Click on Change selection link under selections
4. Select on Send Confirmation and add confirmation text and Save
Expected result:
Email should display confirmation text
Actual result:
Waitlist message displayed in email
```You have been added to the WAIT LIST for this event. If space becomes available you will receive an email with a link to a web page where you can complete your registration.```
Regression from: [5.53.0](https://github.com/civicrm/civicrm-core/commit/a0b74a905e2)5.58.0