Development issueshttps://lab.civicrm.org/groups/dev/-/issues2022-02-04T14:41:41Zhttps://lab.civicrm.org/dev/core/-/issues/3028Fatal error when merging Housholds (getTemplateForGreeting)2022-02-04T14:41:41Zmagnolia61Fatal error when merging Housholds (getTemplateForGreeting)Overview
----------------------------------------
When I try to merge two households of which one has the "communication style" filled, the merge results in a fatal error
Reproduction steps
----------------------------------------
1. Cl...Overview
----------------------------------------
When I try to merge two households of which one has the "communication style" filled, the merge results in a fatal error
Reproduction steps
----------------------------------------
1. Click on merge housholds
2. Merge two households of which one has a "communication style" field
1. Try to merge: end up with fatal error.
Current behaviour
----------------------------------------
![afbeelding](/uploads/378cececbc7a52ab2f6f1074255e345f/afbeelding.png)
`TypeError: Return value of CRM_Contact_BAO_Contact::getTemplateForGreeting() must be of the type string, null returned in CRM_Contact_BAO_Contact::getTemplateForGreeting() (line 3509 of /var/www/vhosts/xyz/webroot/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php).`
`Notice: Undefined offset: 1 in CRM_Contact_BAO_Contact::getTemplateForGreeting() (line 3509 of /var/www/vhosts/xyz/webroot/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php).`
Expected behaviour
----------------------------------------
Successful merge of two households
Environment information
----------------------------------------
- CiviCRM: 5.45.0
- CMS: Drupal 7.84
- PHP: 7.4.27 (fpm-fcgi)
- Database: 10.6.5-MariaDB-1:10.6.5+maria~bullseye-log engine: InnoDB 10 row format: Dynamic
- Webserver: Apache
- OS: Linux
Comments
----------------------------------------
_Anything else you would like the reviewer to note._5.45.2https://lab.civicrm.org/dev/core/-/issues/3026Drupal Full-Text Search block session time out error2022-01-12T14:24:48ZlcdwebDrupal Full-Text Search block session time out errorA recent upgrade migrated all custom searches to an extension framework. In so doing, it looks like it broke the Drupal full-text search block. Enabling that block and running a search consistently triggers a session timeout error.A recent upgrade migrated all custom searches to an extension framework. In so doing, it looks like it broke the Drupal full-text search block. Enabling that block and running a search consistently triggers a session timeout error.5.46.0https://lab.civicrm.org/dev/drupal/-/issues/174Change message so it doesn't say Drupal8 on Drupal9 site2022-09-20T22:27:16ZJoeMurrayChange message so it doesn't say Drupal8 on Drupal9 siteThere was a message today on page for Synchronize Users to Contacts (/civicrm/admin/synchuser:
Synchronize Drupal8 Users
This was on a Drupal9 site, and the client got concerned about what they were running.
Please adjust the message s...There was a message today on page for Synchronize Users to Contacts (/civicrm/admin/synchuser:
Synchronize Drupal8 Users
This was on a Drupal9 site, and the client got concerned about what they were running.
Please adjust the message so that it either refers to just Drupal or ideally emits the correct major version of Drupal, eg Drupal9, Drupal10, etc.5.55.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/3025Can't create a relationship with CiviMember disabled2022-01-11T20:38:01ZJonGoldCan't create a relationship with CiviMember disabledWhen creating a relationship via the "Add Relationship" UI, Civi crashes if CiviMember is disabled.
### Steps to Replicate
* Disable CiviMember.
* Add a relationship by pressing the **Add Relationship** button on the *Relationships* tab...When creating a relationship via the "Add Relationship" UI, Civi crashes if CiviMember is disabled.
### Steps to Replicate
* Disable CiviMember.
* Add a relationship by pressing the **Add Relationship** button on the *Relationships* tab.
### Expected Result
Relationship added, no error.
### Actual Result
Relationship is added, but with error `Key id not found in api results` (in Civi 5.45) or `MembershipType API is not available because CiviMember component is disabled` (Civi 5.47).
This is a regression introduced in 5.43 by [PR 21803](https://github.com/civicrm/civicrm-core/pull/21803). Post-save, Civi tries to calculate the membership/contribution counts to display on the contact tab. `CRM_Contact_BAO_Contact::getCountComponent()` attempts to look up the count using API4, but without regard for whether that entity is present.5.45.1JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3024Membership Auto-Renewal Requirement Not Enforced if Paired with Option Allowi...2023-11-13T05:03:22ZlcarterMembership Auto-Renewal Requirement Not Enforced if Paired with Option Allowing Optional Auto-RenewalI'm not sure if this is related to https://lab.civicrm.org/dev/core/-/issues/1630 or a completely separate issue but this is the use case:
Membership price field with (at least) two options, one of which requires auto-renewal and one of...I'm not sure if this is related to https://lab.civicrm.org/dev/core/-/issues/1630 or a completely separate issue but this is the use case:
Membership price field with (at least) two options, one of which requires auto-renewal and one of which makes it optional.
In this scenario, CiviCRM does not enforce the requirement for auto-renewal. I tested disabling the field option with optional auto-renewal and Civi reverted to enforcing the auto-renewal (correctly). I've tested this on CiviCRM 5.39.2, 5.39.4, and 5.47alpha1 (Civi demo site) - same result for all.https://lab.civicrm.org/dev/core/-/issues/3023TypeError: Argument 1 passed to Civi\Core\Format::money() must be of the type...2022-01-10T16:44:18ZnatefollmerTypeError: Argument 1 passed to Civi\Core\Format::money() must be of the type string, null givenOverview
----------------------------------------
Free events are causing null to be passed to Civi\Core\Format::money(), which creates an error in Drupal when loading the Events Dashboard.
Reproduction steps
--------------------------...Overview
----------------------------------------
Free events are causing null to be passed to Civi\Core\Format::money(), which creates an error in Drupal when loading the Events Dashboard.
Reproduction steps
----------------------------------------
1. Updated Drupal to 9.3.2 and CiviCRM to 5.46.beta1.
1. Load Event Dashboard with any free Event
1. Page returns the Drupal 'White Screen of Death'. Watchdog is showing the error "TypeError: Argument 1 passed to Civi\Core\Format::money() must be of the type string, null given"
Current behaviour
----------------------------------------
Full Error below:
```
TypeError: Argument 1 passed to Civi\Core\Format::money() must be of the type string, null given, called in /vendor/civicrm/civicrm-core/CRM/Core/Smarty/plugins/modifier.crmMoney.php on line 32 in Civi\Core\Format->money() (line 36 of /public_html/vendor/civicrm/civicrm-core/Civi/Core/Format.php)
#0 /vendor/civicrm/civicrm-core/CRM/Core/Smarty/plugins/modifier.crmMoney.php(32): Civi\Core\Format->money(NULL, 'USD')
#1 /public_html/sites/default/files/civicrm/templates_c/en_US/%%FE/FEB/FEB92208%%Selector.tpl.php(21): smarty_modifier_crmMoney(NULL, 'USD')
#2 /public_html/vendor/civicrm/civicrm-packages/Smarty/Smarty.class.php(1914): include('...')
#3 /public_html/sites/default/files/civicrm/templates_c/en_US/%%1B/1B4/1B447EC5%%DashBoard.tpl.php(190): Smarty->_smarty_include(Array)
#4 /public_html/vendor/civicrm/civicrm-packages/Smarty/Smarty.class.php(1914): include('...')
#5 /public_html/sites/default/files/civicrm/templates_c/en_US/%%0C/0CB/0CBEC124%%default.tpl.php(19): Smarty->_smarty_include(Array)
#6 /public_html/vendor/civicrm/civicrm-packages/Smarty/Smarty.class.php(1914): include('...')
#7 /public_html/sites/default/files/civicrm/templates_c/en_US/%%F7/F77/F77C7890%%CMSPrint.tpl.php(51): Smarty->_smarty_include(Array)
#8 /public_html/vendor/civicrm/civicrm-packages/Smarty/Smarty.class.php(1914): include('...')
#9 /public_html/sites/default/files/civicrm/templates_c/en_US/%%2B/2BD/2BD99720%%drupal8.tpl.php(6): Smarty->_smarty_include(Array)
#10 /public_html/vendor/civicrm/civicrm-packages/Smarty/Smarty.class.php(1273): include('...')
#11 /public_html/vendor/civicrm/civicrm-core/CRM/Core/Smarty.php(194): Smarty->fetch('CRM/common/drup...', NULL, NULL, false)
#12 /public_html/vendor/civicrm/civicrm-core/CRM/Core/Page.php(244): CRM_Core_Smarty->fetch('CRM/common/drup...')
#13 /public_html/vendor/civicrm/civicrm-core/CRM/Event/Page/DashBoard.php(65): CRM_Core_Page->run()
#14 /public_html/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(319): CRM_Event_Page_DashBoard->run(Array, NULL)
#15 /public_html/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem(Array)
#16 /public_html/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke(Array)
#17 /public_html/modules/contrib/civicrm/src/Civicrm.php(88): CRM_Core_Invoke::invoke(Array)
#18 /public_html/modules/contrib/civicrm/src/Controller/CivicrmController.php(80): Drupal\civicrm\Civicrm->invoke(Array)
#19 [internal function]: Drupal\civicrm\Controller\CivicrmController->main(Array, '')
#20 /public_html/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#21 /public_html/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#22 /public_html/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#23 /public_html/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#24 /public_html/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#25 /public_html/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#26 /public_html/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#27 /public_html/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#28 /public_html/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#29 /public_html/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#30 /public_html/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#31 /public_html/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#32 /public_html/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#33 /public_html/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#34 /public_html/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#35 {main}
.
```
Expected behaviour
----------------------------------------
Events page should load, but Drupal displays WSOD.
Environment information
----------------------------------------
* __CiviCRM:__ _5.46.beta1_
* __PHP:__ _7.4_
* __CMS:__ _Drupal 9.3.2_
Comments
----------------------------------------
I created a temporary fix, which might not be the best solution. I modified /vendor/civicrm/civicrm-core/CRM/Core/Smarty/plugins/modifier.crmMoney.php for the time being:
```
function smarty_modifier_crmMoney($amount, ?string $currency = NULL): string {
if ($amount == NULL)
{
$amount = '0';
}
return Civi::format()->money($amount, $currency);
}
```
Now free events are displaying $0.00 and the Events page loads again. I'm pretty new to CiviCRM, so please let me know if I can provide any other information.https://lab.civicrm.org/dev/core/-/issues/3022Custom contribution field of type money crashes if it has a blank value when ...2022-01-10T00:08:07ZDaveDCustom contribution field of type money crashes if it has a blank value when viewing contribution1. Create a custom field for contributions of type money and single-line input (text).
2. View any existing contribution where you haven't updated it yet.
3. Crash.
This is basically the same as https://github.com/civicrm/civicrm-core/p...1. Create a custom field for contributions of type money and single-line input (text).
2. View any existing contribution where you haven't updated it yet.
3. Crash.
This is basically the same as https://github.com/civicrm/civicrm-core/pull/22427, but I'll note that CRM_Core_BAO_CustomField::displayValue() also ends up with a similar error with such a field defined but by directly calling money formatting from php not via smarty, just I don't have a way at the moment to reproduce on master, possibly because of the recent token changes, but is still a theoretical issue.
```
Brick\Math\Exception\NumberFormatException: "The given value "" does not represent a valid number."
0 .../civicrm/vendor/brick/math/src/BigNumber.php(119): Brick\Math\BigNumber::Brick\Math\{closure}()
1 .../civicrm/vendor/brick/money/src/Money.php(196): Brick\Math\BigNumber::of("")
2 .../civicrm/Civi/Core/Format.php(43): Brick\Money\Money::of("", Object(Brick\Money\Currency), Object(Brick\Money\Context\DefaultContext), 5)
3 .../civicrm/CRM/Core/Smarty/plugins/modifier.crmMoney.php(32): Civi\Core\Format->money("", "USD")
4 .../templates_c/en_US/%%FD/FD4/FD481315%%CustomDataView.tpl.php(79): smarty_modifier_crmMoney("")
5 .../civicrm/packages/Smarty/Smarty.class.php(1914): include("/home/jenkins/bknix-dfl/build/core-22401-55dqr/web/sites/default/files/civicr...")
6 .../templates_c/en_US/%%82/82F/82F38BFE%%ContributionView.tpl.php(375): Smarty->_smarty_include((Array:2))
7 .../civicrm/packages/Smarty/Smarty.class.php(1914): include("/home/jenkins/bknix-dfl/build/core-22401-55dqr/web/sites/default/files/civicr...")
8 .../templates_c/en_US/%%5E/5EA/5EA30681%%Tab.tpl.php(12): Smarty->_smarty_include((Array:2))
9 .../civicrm/packages/Smarty/Smarty.class.php(1914): include("/home/jenkins/bknix-dfl/build/core-22401-55dqr/web/sites/default/files/civicr...")
10 .../templates_c/en_US/%%0C/0CB/0CBEC124%%default.tpl.php(19): Smarty->_smarty_include((Array:2))
11 .../civicrm/packages/Smarty/Smarty.class.php(1914): include("/home/jenkins/bknix-dfl/build/core-22401-55dqr/web/sites/default/files/civicr...")
12 .../templates_c/en_US/%%F7/F77/F77C7890%%CMSPrint.tpl.php(51): Smarty->_smarty_include((Array:2))
13 .../civicrm/packages/Smarty/Smarty.class.php(1914): include("/home/jenkins/bknix-dfl/build/core-22401-55dqr/web/sites/default/files/civicr...")
14 .../templates_c/en_US/%%06/069/0693F89E%%drupal.tpl.php(6): Smarty->_smarty_include((Array:2))
15 .../civicrm/packages/Smarty/Smarty.class.php(1273): include("/home/jenkins/bknix-dfl/build/core-22401-55dqr/web/sites/default/files/civicr...")
16 .../civicrm/CRM/Core/Smarty.php(194): Smarty->fetch("CRM/common/drupal.tpl", NULL, NULL, FALSE)
17 .../civicrm/CRM/Core/Page.php(244): CRM_Core_Smarty->fetch("CRM/common/drupal.tpl")
18 .../civicrm/CRM/Contribute/Page/Tab.php(463): CRM_Core_Page->run()
19 .../civicrm/CRM/Core/Invoke.php(319): CRM_Contribute_Page_Tab->run((Array:4), NULL)
20 .../civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:13))
21 .../civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:4))
22 .../civicrm/drupal/civicrm.module(471): CRM_Core_Invoke::invoke((Array:4))
23 .../web/includes/menu.inc(527): civicrm_invoke("contact", "view", "contribution")
24 .../web/index.php(21): menu_execute_active_handler()
25 {main}
```5.46.0https://lab.civicrm.org/dev/core/-/issues/3021PCP account creation does not show password fields for WordPress2022-01-10T11:31:55ZKurund JalmiPCP account creation does not show password fields for WordPressEarlier user was able to set the password while creating user account during PCP creation process. However, after these changes
https://github.com/civicrm/civicrm-core/commit/633d512254424bba7c2195da8c62a9d3ff43d1e4 it's removed.
@bgm ...Earlier user was able to set the password while creating user account during PCP creation process. However, after these changes
https://github.com/civicrm/civicrm-core/commit/633d512254424bba7c2195da8c62a9d3ff43d1e4 it's removed.
@bgm Any thoughts?https://lab.civicrm.org/dev/core/-/issues/3020Environments as collections of settings2023-11-06T05:03:22ZtottenEnvironments as collections of settingsOverview
----------------------------------------
Revise the conception of "environment" so that it can more usefully model these distinctions:
* As a developer working on patches with abstract sample data, you want to toggle some sett...Overview
----------------------------------------
Revise the conception of "environment" so that it can more usefully model these distinctions:
* As a developer working on patches with abstract sample data, you want to toggle some settings/behaviors (eg `backtrace=1`).
* As a developer/trainer/etc working on with a local copy of real data, you want to toggle different settings/behaviors (eg restricting cron jobs that might communicate to real people).
This issue proposes that an `environment` is *merely and strictly* a collection of settings - changing the environment will change the active settings.
Off-shoot of discussion circa https://github.com/civicrm/civicrm-core/pull/22377#issuecomment-1006058134
Current behaviour
----------------------------------------
* Sysadmins can design bespoke meta-settings by editing `civicrm.settings.php`
* `civibuild` users can design bespoke meta-settings by placing files [`/etc/civicrm.settings.d/*.php`](https://docs.civicrm.org/dev/en/latest/tools/civibuild/#settings-civicrm)
* The setting `environment` has the primary effect of toggling some guards for `JobManager` / `mailing_backend` / `runInNonProductionEnvironment`.
Proposed behaviour
----------------------------------------
1. Use `environment` to load files which list standard/default values for various settings. eg
* `civicrm-core.git:env/Development.json` has a list of defaults to use in "Development" envs
* `/etc/civicrm.settings.d/env/Development.json` has a list of local overrides to use in "Development" envs
2. Make it easier to set `environment` on new builds, eg
* Add an install option (eg `cv core:install --env=Demo`)
* Add an env-var (eg `CIVICRM_ENVIRONMENT=Staging`) - respected by both installer+runtime
* Add a self-documenting subcommand to configure `civibuild`, eg
```bash
civibuild config --env=Development
```
3. Don't hard-code `environment` behaviors in PHP. Always use settings. eg
* For the JobManager/runInNonProductionEnvironment stuff, there should be a setting `restrictScheduledJobs`. For "Development" envs, the effective-default is `restrictScheduledJobs=true`.
For example, the standard definition of a "Development" environment might be:
```javascript
// FILE: civicrm-core.git:env/Development.json
{
"debug_enabled": true,
"backtrace": true,
"restrictScheduledJobs": true,
"assetCache": 0
}
```
But I could still tune it for my system:
```javascript
// FILE: /etc/civicrm.settings.d/env/Development.json
{
"restrictScheduledJobs": false,
"mailing_backend": {
"outBound_option" => 0,
"smtpServer": "localhost",
"smtpPort": 1025,
"smtpAuth": FALSE
}
}
```
In a similar vein, it may also help to allow `global $civicrm_setting` to target by environment:
```php
## Normal usage
$civicrm_setting['domain']['backtrace'] = 1;
## Target settings per environment.
$civicrm_setting['#Development']['backtrace'] = 1;
$civicrm_setting['#Production']['backtrace'] = 0;
```https://lab.civicrm.org/dev/core/-/issues/3019SearchKit: Relationship Description unavailable2022-01-26T04:07:09ZJonGoldSearchKit: Relationship Description unavailableThe "Description" field from relationships is unavailable to SearchKit. This is because it's not part of `civicrm_relationship_cache`, nor is `is_permission_a_b` or `is_permission_b_a`.
Proposed behaviour
------------------------------...The "Description" field from relationships is unavailable to SearchKit. This is because it's not part of `civicrm_relationship_cache`, nor is `is_permission_a_b` or `is_permission_b_a`.
Proposed behaviour
----------------------------------------
The field (fields?) should be added to the RelationshipCache so they're available to SearchKit.https://lab.civicrm.org/dev/core/-/issues/3018Cannot configure repeat events in CiviCRM2022-01-06T00:13:17ZChabadrichmondCannot configure repeat events in CiviCRMWhen trying to create an event and add repeating it shows a critical wordpress error page.
If I go into an existing event and try to go the repeat tab it gives me the network error.
This seems somewhat recent (maybe since V 5.3x... but I...When trying to create an event and add repeating it shows a critical wordpress error page.
If I go into an existing event and try to go the repeat tab it gives me the network error.
This seems somewhat recent (maybe since V 5.3x... but I had the issue on 5.42 and 5.44)
I could not replicate on CiviCRM demo site but was able to replicate on both demos which show on the CiviCRM website [here](https://civicrm.org/demo?field_language_value=All&field_cms_demo_value=wordpress)
Attaching a VIDEO to show what's happening.
![Screen_Recording_2022-01-04_at_10.20.36_PM](/uploads/745accbe5266fd731c9799234585e6b6/Screen_Recording_2022-01-04_at_10.20.36_PM.mov)5.45.0https://lab.civicrm.org/dev/wordpress/-/issues/117Cannot configure repeat events in CiviCRM2022-01-05T23:33:29ZChabadrichmondCannot configure repeat events in CiviCRMWhen trying to create an event and add repeating it shows a critical wordpress error page.
If I go into an existing event and try to go the repeat tab it gives me the network error.
This seems somewhat recent (maybe since V 5.3x... but I...When trying to create an event and add repeating it shows a critical wordpress error page.
If I go into an existing event and try to go the repeat tab it gives me the network error.
This seems somewhat recent (maybe since V 5.3x... but I had the issue on 5.42 and 5.44)
I could not replicate on CiviCRM demo site but was able to replicate on both demos which show on the CiviCRM website [here](https://civicrm.org/demo?field_language_value=All&field_cms_demo_value=wordpress)
Attaching a VIDEO to show what's happening.
![Screen_Recording_2022-01-04_at_10.20.36_PM](/uploads/926a4eda5e1bfa42feee46791256d2e2/Screen_Recording_2022-01-04_at_10.20.36_PM.mov)5.45.0https://lab.civicrm.org/dev/core/-/issues/3017Search kit edit in place fails when Adding a date2022-01-05T05:47:07ZeileenSearch kit edit in place fails when Adding a dateIn testing I created a search with editable fields for custom field marriage date. I can edit & removed but adding looks like it will work but then doesn't
@colemanw
![image](/uploads/60a434e3cfc8f5db1e39c5e2bc407124/image.png)In testing I created a search with editable fields for custom field marriage date. I can edit & removed but adding looks like it will work but then doesn't
@colemanw
![image](/uploads/60a434e3cfc8f5db1e39c5e2bc407124/image.png)https://lab.civicrm.org/dev/core/-/issues/3016search kit UI link confusion2022-01-05T05:47:08Zeileensearch kit UI link confusion@colemanw with the new 'default' search the 'view' link goes there - but it ALSO goes there is you are on a specific display you are configuring - which is really confusing as you make changes & then click view & go to a display without...@colemanw with the new 'default' search the 'view' link goes there - but it ALSO goes there is you are on a specific display you are configuring - which is really confusing as you make changes & then click view & go to a display without your changes (in this case the changes are to make it editable)
(also in the default theme the view link becomes white when I hover on it)
![image](/uploads/cad811139567a4ebeefc4aac1d984593/image.png)
In this case the view link goes to https://dmaster.localhost:32353/civicrm/search#/display/Basic_search but the link to the display I'm configuring is https://dmaster.localhost:32353/civicrm/search#/display/Basic_search/Basic_searchhttps://lab.civicrm.org/dev/core/-/issues/3013Can't create > 25 thank-you letters from contributions2021-12-30T03:41:35ZJonGoldCan't create > 25 thank-you letters from contributionsThis is a regression in 5.44 from https://github.com/civicrm/civicrm-core/pull/21816. API3 25 record limit bug.
### Steps to replicate
* Do a contribution search that yields > 25 records.
* Create PDF thank-you letters from all records...This is a regression in 5.44 from https://github.com/civicrm/civicrm-core/pull/21816. API3 25 record limit bug.
### Steps to replicate
* Do a contribution search that yields > 25 records.
* Create PDF thank-you letters from all records.
Get this error:
```
TypeError: Argument 2 passed to CRM_Contribute_Form_Task_PDFLetter::resolveTokens() must be of the type int, null given, called in /home/jon/local/crcl/htdocs/sites/all/modules/civicrm/CRM/Contribute/Form/Task/PDFLetter.php on line 436 in CRM_Contribute_Form_Task_PDFLetter->resolveTokens() (line 553 of /home/jon/local/crcl/htdocs/sites/all/modules/civicrm/CRM/Contribute/Form/Task/PDFLetter.php).
```JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3012Expose email on hold as filter for reports2023-11-14T05:03:22ZyashodhaExpose email on hold as filter for reportsIt would be helpful to have email on hold exposed as filter for reportsIt would be helpful to have email on hold exposed as filter for reportsyashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/3011SMS search action results in queue overflow error2023-11-18T05:03:28ZandyburnsSMS search action results in queue overflow errorhttps://civicrm.stackexchange.com/questions/40973/sms-search-v-pre-built-group-queue-overflow/40974#40974
The `SMS - schedule/send` should behave just like CiviMail when doing a search action mailing and create a hidden group.https://civicrm.stackexchange.com/questions/40973/sms-search-v-pre-built-group-queue-overflow/40974#40974
The `SMS - schedule/send` should behave just like CiviMail when doing a search action mailing and create a hidden group.https://lab.civicrm.org/dev/core/-/issues/3009authx: Proposal: Make "require" the default user policy instead of "optional"2023-11-04T05:03:19ZDaveDauthx: Proposal: Make "require" the default user policy instead of "optional"If you look at https://docs.civicrm.org/dev/en/latest/framework/authx/#settings the default setting for the `XXX_user` settings is "optional" which means a corresponding cms user doesn't need to exist in order to log in. This seems unint...If you look at https://docs.civicrm.org/dev/en/latest/framework/authx/#settings the default setting for the `XXX_user` settings is "optional" which means a corresponding cms user doesn't need to exist in order to log in. This seems unintuitive as a default. My expectation is that it would work the same way as regular logins by default, so should default to "require".https://lab.civicrm.org/dev/core/-/issues/3007Use of translation functions in menu logic is... odd.2023-11-07T00:43:20ZBradley TaylorUse of translation functions in menu logic is... odd.See this screenshot of the CiviCRM nav menu with the site locale set to Spanish:
![Screenshot_2021-12-24_at_15.10.04](/uploads/869b3e37c228d258c61ee6fe40867771/Screenshot_2021-12-24_at_15.10.04.png)
The bulk of the labels are translate...See this screenshot of the CiviCRM nav menu with the site locale set to Spanish:
![Screenshot_2021-12-24_at_15.10.04](/uploads/869b3e37c228d258c61ee6fe40867771/Screenshot_2021-12-24_at_15.10.04.png)
The bulk of the labels are translated, except for the middle "Hide menu". My first thought was that this was just down to a lack of translation, but it turns out things are not that simple.
The home menu items themselves are defined as hardcoded strings in `app/public/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/Navigation.php` (`CRM_Core_BAO_Navigation::buildHomeMenu`):
```
$item['child'] = [
[
'attributes' => [
'label' => 'CiviCRM Home',
'name' => 'CiviCRM Home',
'url' => 'civicrm/dashboard?reset=1',
'weight' => 1,
],
],
[
'attributes' => [
'label' => 'Hide Menu',
'name' => 'Hide Menu',
'url' => '#hidemenu',
'weight' => 2,
],
],
[
'attributes' => [
'label' => 'Log out',
'name' => 'Log out',
'url' => 'civicrm/logout?reset=1',
'weight' => 3,
],
],
];
```
Later in `CRM_Admin_Page_AJAX::formatMenuItems` the labels are passed through the `ts()` function:
```
if (!empty($props['label'])) {
$item['label'] = ts($props['label'], ['context' => 'menu']);
}
```
Some of the strings are used elsewhere (e.g. 'CiviCRM Home') and so are caught by the translation string extraction, and therefore get translated when passed into `ts()` as a variable `$props['label']`. This isn't the case for the string 'Hide Menu' however.
I suggest that `CRM_Core_BAO_Navigation::buildHomeMenu` is updated so that each label is passed through `ts()`. I'm not sure if this should include `['context' => 'menu']` to match `CRM_Admin_Page_AJAX::formatMenuItems`.
Best practice says that variables should not be passed as the first argument to `ts()`. However, `CRM_Admin_Page_AJAX::formatMenuItems` already works in this way, so it could be seen as a break to backwards compatiability to change this. If we don't change this, then there is the edge-case where a string would be double-translated, which could lead to unexpected results when combined with word replacement. So I'm not sure if this method should be updated or not.https://lab.civicrm.org/dev/core/-/issues/3006Search kit UI bug2021-12-29T23:07:13ZeileenSearch kit UI bug@colemanw I find that if delete the value in page size in order to change from 50 to 10 as soon as I delete the 50 the whole box disappears...
![image](/uploads/fdd43d8f9582295873f7f8e6b2a32a60/image.png)
Disappeared....
![image](/uploa...@colemanw I find that if delete the value in page size in order to change from 50 to 10 as soon as I delete the 50 the whole box disappears...
![image](/uploads/fdd43d8f9582295873f7f8e6b2a32a60/image.png)
Disappeared....
![image](/uploads/e2ddff811214ff2627b83fbf50017f3e/image.png)
(Note the second screen grab is from a different site hence the theme change between them)