Development issueshttps://lab.civicrm.org/groups/dev/-/issues2020-11-20T00:02:45Zhttps://lab.civicrm.org/dev/core/-/issues/2178Cannot manually add contacts immediately after group creation2020-11-20T00:02:45ZandrewcormickdockeryCannot manually add contacts immediately after group creationOverview
----------------------------------------
In Civi 5.31.0, there is difficulty in assigning contacts immediately after a static group creation. This is a regression compared to Civi 5.28.3 (I haven't tested later versions of Civi...Overview
----------------------------------------
In Civi 5.31.0, there is difficulty in assigning contacts immediately after a static group creation. This is a regression compared to Civi 5.28.3 (I haven't tested later versions of Civi than this).
Reproduction steps
----------------------------------------
1. Contacts/New Group, add name, set group type as mailing list, save.
2. Add contacts to group, choose name to find, ensure results have about 10 entries or so.
3. Select all contacts, add. No contacts added. Strange formatting on messages.
Current behaviour
----------------------------------------
Contacts not added to group. Strange formatting in messages, see images.
![image](/uploads/42a94da16ced4f9b6397133cd4b3a4b7/image.png)
![image](/uploads/90ac3eff22ecc5fff1ba4daa3133a99c/image.png)
Note that contacts can still be added to static groups in other ways, I have noticed this problem specifically with the "add contact" screen shown immediately after creating the static group.
Expected behaviour
----------------------------------------
Contacts should be added to the group as indicated by the user.
Environment information
----------------------------------------
* __CiviCRM:__ _5.31.0_
* __PHP:__ _7.3_
* __CMS:__ _Drupal 7.73_
* __Database:__ _MariaDB 10.3.20_
* __Web Server:__ _Nginx 1.10.3_5.31.1https://lab.civicrm.org/dev/core/-/issues/2174Activity Summary report is missing pagination2020-12-11T02:59:51ZMonish DebActivity Summary report is missing paginationSteps to replicate:
1. Go to Activity Summary report
2. Grouping - Contact
3. Submit
It always shows 50 records without pagination, irrespective of total number of records:
![core-activity-summary](/uploads/c3819b7b5e3ba79c3edf9940840...Steps to replicate:
1. Go to Activity Summary report
2. Grouping - Contact
3. Submit
It always shows 50 records without pagination, irrespective of total number of records:
![core-activity-summary](/uploads/c3819b7b5e3ba79c3edf99408400b00c/core-activity-summary.gif)5.34.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/2173Reports don't filter with empty custom fields2020-12-30T06:55:13ZCésarReports don't filter with empty custom fieldsHello,
I have created a group of custom fields and a new custom field type "Alphanumeric". Then I have created two contacts without assigning them any value in the custom field. Finally I have tried to filter the field in the reports as...Hello,
I have created a group of custom fields and a new custom field type "Alphanumeric". Then I have created two contacts without assigning them any value in the custom field. Finally I have tried to filter the field in the reports as "is empty (NULL)" and the report shows only the null results. (When the contact is created it is assigned as empty)
Tested in multiple reports on dmaster:
![report_bug3](/uploads/0f610549cab62df50a03460207f0be5c/report_bug3.gif)5.34.0https://lab.civicrm.org/dev/core/-/issues/2172Campaigns > Reserve Respondents causes SQL error2020-11-10T20:47:09Zaydunsaidan.saunders@squiffle.ukCampaigns > Reserve Respondents causes SQL errorOverview
----------------------------------------
Searching for respondents results in a SQL error
See https://civicrm.stackexchange.com/q/38114/225
Preparation
-----------
1. Check CiviCampaigns component is enabled (**Administer > Sy...Overview
----------------------------------------
Searching for respondents results in a SQL error
See https://civicrm.stackexchange.com/q/38114/225
Preparation
-----------
1. Check CiviCampaigns component is enabled (**Administer > System Settings > Components**)
1. Click on **Campaigns > New Survey** and create a survey
Reproduction steps
----------------------------------------
1. Click on **Campaigns -> Reserve Respondents**.
1. Click **Search**
1. Got an error "**Fatal error: DB error**".
Current behaviour
----------------------------------------
Error
Expected behaviour
----------------------------------------
No error!
Environment information
----------------------------------------
* __CiviCRM:__ _Master_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->5.33.0aydunsaidan.saunders@squiffle.ukaydunsaidan.saunders@squiffle.ukhttps://lab.civicrm.org/dev/core/-/issues/2169Contact hash token does not populate in reminders2021-03-28T06:46:04ZdschaferContact hash token does not populate in remindersThe token {contact.hash} does not populate when used in a scheduled reminder.
I works correctly in all other mail contexts.
Using 5.27.5 ESRThe token {contact.hash} does not populate when used in a scheduled reminder.
I works correctly in all other mail contexts.
Using 5.27.5 ESR5.37.0https://lab.civicrm.org/dev/financial/-/issues/156Refund status not set correctly when cancelled_payment_id is set2020-11-09T14:28:28ZJonGoldRefund status not set correctly when cancelled_payment_id is setThis is the same as https://lab.civicrm.org/extensions/stripe/-/issues/260, but the issue lies in core.
### Steps to Replicate
* Create a contribution.
* Refund the entire contribution via `Payment.create`. Set the `cancelled_payment_i...This is the same as https://lab.civicrm.org/extensions/stripe/-/issues/260, but the issue lies in core.
### Steps to Replicate
* Create a contribution.
* Refund the entire contribution via `Payment.create`. Set the `cancelled_payment_id`.
### Expected Result
The contribution's status should be "Refunded".
### Actual Result
The contribution's status remains "Completed".
PR [16148](https://github.com/civicrm/civicrm-core/pull/16148)'s purpose is to set a contribution's status to "Refunded" when the refund's total equals the contribution's total (in `CRM_Financial_BAO_Payment::create()`.
However, this function [returns early](https://github.com/civicrm/civicrm-core/blob/0b44c58f8d6abea7e0be266d89e0100a0e871f60/CRM/Financial/BAO/Payment.php#L99-L102) if the `cancelled_payment_id` is set. Stripe 6.5 [sets that value](https://lab.civicrm.org/extensions/stripe/-/blob/master/CRM/Core/Payment/StripeIPN.php#L318) (as it should). So that code never runs.
Moreover, the test on PR 16148 doesn't set this value, so the bug isn't caught.5.32.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/2167Fulltext search drupal block has Go button on the wrong side2020-11-05T22:15:39ZDaveDFulltext search drupal block has Go button on the wrong sideThis is technically a regression from the button changes in 5.31, but everything still works.
Civi makes a drupal block available that you can place in any block region to access the fulltext search no matter what screen you're on. It h...This is technically a regression from the button changes in 5.31, but everything still works.
Civi makes a drupal block available that you can place in any block region to access the fulltext search no matter what screen you're on. It has a "Go" button that is now floating left.
I debated whether to try to fix the float or just move it to the bottom into its own buttons row. I'm leaning to moving because I believe the word "Go" was chosen to save space to fit it all on one line, but this doesn't work in all languages anyway.5.31.0https://lab.civicrm.org/dev/core/-/issues/2166"Notice: Undefined index: domain" when deleting a mail account2020-11-05T22:09:25ZDaveD"Notice: Undefined index: domain" when deleting a mail account`Notice: Undefined index: domain in CRM_Admin_Form_MailSettings::formRule() (line 129 of ...\CRM\Admin\Form\MailSettings.php).`
I think the formRule needs to check something like `if ($this->_action != CRM_Core_Action::DELETE)`
I can d...`Notice: Undefined index: domain in CRM_Admin_Form_MailSettings::formRule() (line 129 of ...\CRM\Admin\Form\MailSettings.php).`
I think the formRule needs to check something like `if ($this->_action != CRM_Core_Action::DELETE)`
I can do a PR.5.32.0https://lab.civicrm.org/dev/core/-/issues/2165Handle emojis less fatally where not supported2020-12-04T15:18:03ZeileenHandle emojis less fatally where not supportedBoth these api calls
```
$result = civicrm_api3('Contact', 'get', [
'sequential' => 1,
'first_name' => "🦉Claire",
]);
```
and
```
$contacts = \Civi\Api4\Contact::get()
->addWhere('first_name', '=', '🦉Claire')
->setLimit(25)
...Both these api calls
```
$result = civicrm_api3('Contact', 'get', [
'sequential' => 1,
'first_name' => "🦉Claire",
]);
```
and
```
$contacts = \Civi\Api4\Contact::get()
->addWhere('first_name', '=', '🦉Claire')
->setLimit(25)
->execute();
```
result in fatal errors where emoji support is not enabled. I think a 'Claire' search or no results search would be better than a fatal error5.33.0https://lab.civicrm.org/dev/core/-/issues/2164Exporting in localized civicrm crashes due to long translations in columns T_...2021-06-09T13:57:48ZnieloExporting in localized civicrm crashes due to long translations in columns T_BooleanOverview
----------------------------------------
Export tmp tables are created with varchar(16) for T_BOOLEAN types. This may be sufficient for the short-worded language english but if translated we get longer export values. So this sho...Overview
----------------------------------------
Export tmp tables are created with varchar(16) for T_BOOLEAN types. This may be sufficient for the short-worded language english but if translated we get longer export values. So this should be 32 or more
To fix for example change ExportProcessor.php, L1454, to
return "`$fieldName` varchar(64)";5.37.0https://lab.civicrm.org/dev/core/-/issues/2162Reports cannot filter for Contacts with multiple selections in a multi-select...2020-12-02T21:04:03ZjhungerfordReports cannot filter for Contacts with multiple selections in a multi-select Custom FieldOverview
----------------------------------------
If a Contact has multiple selections in a multi-select Custom Field, a Report which filters for "one of" those selections will never find that Contact. There is no "includes" or similar o...Overview
----------------------------------------
If a Contact has multiple selections in a multi-select Custom Field, a Report which filters for "one of" those selections will never find that Contact. There is no "includes" or similar option which finds Contacts who have the specified selection and other selections as well. The generated SQL syntax is not compatible with the storage format of multi-select custom fields when more than one option is selected.
For example: Consider the demo database at https://demo.circle-interactive.co.uk/
It has a Custom Field called "Most Important Issue" with the options "Environment", "Education", and "Social Justice".
Suppose we create another Custom Field which uses the same options, and it is a multi-select. We'll call this field "Important Issues" and check "searchable" and "multi-select".
Now we edit two contacts at random - give one of them "Environment" in their "Important Issues" field, and give the other one "Environment" and "Social Justice" in the same field.
Last, we create a Contact Summary report showing the Important Issues. In the filters, we select "Is one of" - "Environment", and run the report. It will find the Contact who only has "Environment" selected, but the one who has that and "Social Justice" will not be shown.
If you see this issue shortly after it is reported, the described setup may be visible in this report:
https://demo.circle-interactive.co.uk/civicrm/report/instance/39?reset=1&force=1
Reproduction steps
----------------------------------------
- Log into a civi demo site (e.g. demo.circle-interactive.co.uk)
- Create new custom fieldset "Test Report Filter Issue"
- Add a custom field:
- Field Label: Important Issues
- Alphanumeric Select
- Multi-Select is enabled
- Reuse an existing set of multiple choice options if suitable (e.g. from "Most Important Issue") or create a new set
- Searchable: Yes
- Edit two random Contacts
- For one, set the new "Important Issues" field to "Environment"
- For the other, set the new field to "Environment" and "Social Justice"
- Create a new "Constituent Report (Summary)" (/civicrm/report/contact/summary?reset=1)
- in "Columns", tick "First name", "Last name", and "Important Issues" (the new custom field)
- in "Filters", choose "Important Issues" - "Is one of" - "Environment"
- Run the report
Current behaviour
----------------------------------------
The report only finds the Contact who has the single selection.
There is no other way to filter for people who do have the Environment selection (e.g. "includes one of" as distinct from "is exactly one of").
Expected behaviour
----------------------------------------
If some sites do want the "is exactly one of" filter, others (like ours) will need a separate "includes one of" option. I may be able to do this with custom report templates for our site as needed, but a system-wide solution would be much better.
The behaviour appears to have changed when we upgraded to 5.27 from the previous ESR, though we've only noticed it a few months later.
From our perspective, the old behaviour was correct and expected, and the "is one of" text could have been improved by changing it to "includes one of". However, the new behaviour may be desired by some sites. I think that may be implied by this old issue, but I may be misunderstanding since they're also discussing the regex as it relates to the storage format:
https://issues.civicrm.org/jira/browse/CRM-18803
Environment information
----------------------------------------
* __Browser:__ Chrome 86.0.4240.111 (Official Build) Arch Linux (64-bit)
* __CiviCRM:__ 5.27.5, also tested on 5.29.1 and 5.30.1
* __PHP:__ 7.3
* __CMS:__ Drupal 7.73
* __Database:__ MariaDB 10.3
* __Web Server:__ Apache 2.4
Comments
----------------------------------------
A couple of years ago, there was some discussion of a similar issue with contact subtypes, and Eileen wondered whether it might affect custom fields as well:
https://github.com/civicrm/civicrm-core/pull/13158#issuecomment-442334591
At the time, it was still using a regex, but the new SQL generated by the report takes the simpler form "IN ('3')", which will never match a column with a '3' nestled between control codes and other values.
Yesterday when trying to trace the path which generated the SQL, I thought this line might be relevant:
https://lab.civicrm.org/dev/core/-/blob/master/CRM/Core/BAO/CustomField.php#L2583-2584
Considering that the new behaviour might be deliberate, I thought I should report the issue rather than trying to find a solution since the correct path forward is not obvious to me.5.33.0https://lab.civicrm.org/dev/core/-/issues/2158Proposal - remove detail about updating related components when editing a con...2020-11-12T20:48:25ZeileenProposal - remove detail about updating related components when editing a contribution statusI'd like to propose removing the chunk of code that sets a message about related entities being updated when a Contribution Status is edited on the contribution page.
The reason is this code is somewhat toxic in itself but deeply couple...I'd like to propose removing the chunk of code that sets a message about related entities being updated when a Contribution Status is edited on the contribution page.
The reason is this code is somewhat toxic in itself but deeply coupled with the highly toxic 'transitionComponents' function and does not cope well with the scenario where another function (the hook in the cancelcontributioncancel actions or another extension) intervenes and the status is updated in some different way.
We could load the related entities on the form & be more sophisticated about creating a message - but my feeling is that we wouldn't lose much if we just removed it (it's a back-office form & I suspect users just check other tabs on the contact rather than reading the detail of the message.) If the form did a little less I believe it could be more robust about it
```
// get the status message for user.
foreach ($updatedComponents as $componentName => $updatedStatusId) {
if ($componentName == 'CiviMember') {
$updatedStatusName = CRM_Utils_Array::value($updatedStatusId,
CRM_Member_PseudoConstant::membershipStatus()
);
$statusNameMsgPart = 'updated';
switch ($updatedStatusName) {
case 'Cancelled':
case 'Expired':
$statusNameMsgPart = $updatedStatusName;
break;
}
$statusMsg .= "<br />" . ts("Membership for %1 has been %2.", [
1 => $userDisplayName,
2 => $statusNameMsgPart,
]);
}
if ($componentName == 'CiviEvent') {
$updatedStatusName = CRM_Utils_Array::value($updatedStatusId,
CRM_Event_PseudoConstant::participantStatus()
);
if ($updatedStatusName == 'Cancelled') {
$statusMsg .= "<br />" . ts("Event Registration for %1 has been Cancelled.", [1 => $userDisplayName]);
}
elseif ($updatedStatusName == 'Registered') {
$statusMsg .= "<br />" . ts("Event Registration for %1 has been updated.", [1 => $userDisplayName]);
}
}
if ($componentName == 'CiviPledge') {
$updatedStatusName = CRM_Utils_Array::value($updatedStatusId,
CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name')
);
if ($updatedStatusName == 'Cancelled') {
$statusMsg .= "<br />" . ts("Pledge Payment for %1 has been Cancelled.", [1 => $userDisplayName]);
}
elseif ($updatedStatusName == 'Failed') {
$statusMsg .= "<br />" . ts("Pledge Payment for %1 has been Failed.", [1 => $userDisplayName]);
}
elseif ($updatedStatusName == 'Completed') {
$statusMsg .= "<br />" . ts("Pledge Payment for %1 has been updated.", [1 => $userDisplayName]);
}
}
}
```5.33.0https://lab.civicrm.org/dev/core/-/issues/2155Remove 'onlinePendingContribution' payment support from membership edit form2020-11-16T20:05:33ZeileenRemove 'onlinePendingContribution' payment support from membership edit formI want to proposed removing support for 'onlinePendingContribution' from the Membership Edit form.
**What is onlinePendingContribution support you ask?**
It's this box on the membership edit form
![Screen_Shot_2020-10-31_at_6.30.02_PM]...I want to proposed removing support for 'onlinePendingContribution' from the Membership Edit form.
**What is onlinePendingContribution support you ask?**
It's this box on the membership edit form
![Screen_Shot_2020-10-31_at_6.30.02_PM](/uploads/10211382f41b9d0fe92362f620e68d6e/Screen_Shot_2020-10-31_at_6.30.02_PM.png)
**Hey but I've never seen that box!**
Well you only see if if someone has created a pending pay later membership through an online form which you later complete through the membership edit form
**And it allows you to send a customised receipt?**
No, it says you can, you can't
**How else would someone complete that contribution?**
Well - they could do it the same way they would for a pending contribution created in any other way - use the link a moment further down the page
![Screen_Shot_2020-10-31_at_6.27.20_PM](/uploads/3e29866a816528a9265a26a852aa73de/Screen_Shot_2020-10-31_at_6.27.20_PM.png)
**And why do you want to remove it**
There is considerable code complexity needed to support it - about 85 lines of code. Oh, and it's broken in master
**But how do we know no-one is using it**
Well I tested on 5.21 & it's broken there too so my guess is is has broken for a long time....5.33.0https://lab.civicrm.org/dev/core/-/issues/2154Fulltext search warning about deprecated attributes to CRM_Core_Form::add()2020-10-31T01:11:48ZDaveDFulltext search warning about deprecated attributes to CRM_Core_Form::add()Search - Custom Searches - Full Text Search
The deprecated part is from the CRM_Core_Form::add() change in 5.31, but is also surfacing a bug where the intention seems to have been to make the field required but was passing it in the wro...Search - Custom Searches - Full Text Search
The deprecated part is from the CRM_Core_Form::add() change in 5.31, but is also surfacing a bug where the intention seems to have been to make the field required but was passing it in the wrong parameter.
Also the styling on the form is weird. I think it's probably from something in 5.31.5.31.0https://lab.civicrm.org/dev/core/-/issues/2153BUG: when changing a group option value CiviCRM does not update existing records2020-11-22T17:44:26ZyashodhaBUG: when changing a group option value CiviCRM does not update existing recordsSteps to replicate :
Create a custom field of type Alphanumeric and html Select
Create options one with value(1).
![s](/uploads/0a6b76d48df92f8bca2533a034e91079/s.png)
Edit values for a contact with custom field selected as 'one' and sa...Steps to replicate :
Create a custom field of type Alphanumeric and html Select
Create options one with value(1).
![s](/uploads/0a6b76d48df92f8bca2533a034e91079/s.png)
Edit values for a contact with custom field selected as 'one' and save.
![Screenshot_from_2020-10-30_18_34_27](/uploads/b4a7f4a8315412598349801829fee28b/Screenshot_from_2020-10-30_18_34_27.png)
Go to options and change value of one to 2.
![Screenshot_from_2020-10-30_18_36_12](/uploads/de3b1b73a5e4725a9d235b7b827ff2f8/Screenshot_from_2020-10-30_18_36_12.png)
Contact will no longer display the value 'one' since in DB the value will not have been synce'd to 2 in custom field value table.
![ssss](/uploads/d7336cfb571abcd0496046872f3b1cd1/ssss.png)
This is a regression as this was working before and is quite confusing as the results won't show properly.5.33.0https://lab.civicrm.org/dev/core/-/issues/2152Merging contacts removes case roles2020-10-30T15:32:20ZjaapjansmaMerging contacts removes case rolesOverview
----------------------------------------
When you merge contacts and and the old and new contact had both a role on two different cases with the same client. One of the roles gets deleted.
Reproduction steps
-----------------...Overview
----------------------------------------
When you merge contacts and and the old and new contact had both a role on two different cases with the same client. One of the roles gets deleted.
Reproduction steps
----------------------------------------
1. Click on **Contacts -> New Individual**.
1. Entered **First Name** (John) and **Last Name** (Doe) and click **Save**.
1. Click on **Contacts -> New Individual**.
1. Entered **First Name** (Tom) and **Last Name** (Smith) and click **Save**.
1. Click on **Contacts -> New Individual**.
1. Entered **First Name** (Smith) and **Last Name** (Tom) and click **Save**.
1. Click on **Case -> New Case**
1. Select _Housing Support_ as **Case type** and _John Doe_ as **Client** and enter _Case 1_ as **Subject**
1. On the manage case screen select **Tom Smith** as **Health Service Coordinator**
1. Click on **Case -> New Case**
1. Select _Housing Support_ as **Case type** and _John Doe_ as **Client** and enter _Case 2_ as **Subject**
1. On the manage case screen select **Smith Tom** as **Health Service Coordinator**
1. Merge **Tom Smith** and **Smith Tom**
Current behaviour
----------------------------------------
The role **Health Service Coordinator** gets deleted from one of the cases.
Expected behaviour
----------------------------------------
The merged contact should have two roles on two cases.
Environment information
----------------------------------------
* __CiviCRM:__ _Master/5.29.1/5.30.0
* __PHP:__ _7.3
* __CMS:__ _Drupal 7/Wordpress 5
Comments
----------------------------------------
This is caused by the fact that the merged basically ends up with two the same relationships (Health Service Coordinator) for the same client but they are on two different cases.
PR: https://github.com/civicrm/civicrm-core/pull/188845.32.0jaapjansmajaapjansmahttps://lab.civicrm.org/dev/core/-/issues/2150CiviCRM reCAPTCHA Util not validating user tokens on form submission2020-11-13T06:42:09ZJohn TwymanCiviCRM reCAPTCHA Util not validating user tokens on form submissionOverview
----------------------------------------
CiviCRM's ReCAPTCHA utility class does not verify user tokens on form submission.
It seems that core's implementation of ReCAPTCHA has not been verifying user reCAPTCHA tokens since a co...Overview
----------------------------------------
CiviCRM's ReCAPTCHA utility class does not verify user tokens on form submission.
It seems that core's implementation of ReCAPTCHA has not been verifying user reCAPTCHA tokens since a commit made in 2015.
[More discussion in Civi chat](https://chat.civicrm.org/civicrm/pl/qyt7ckse4j895bfqrwyxgncwnc).
Current behaviour
----------------------------------------
The function `CRM_Utils_ReCAPTCHA::add()` in [CRM/Utils/ReCAPTCHA.php](https://github.com/civicrm/civicrm-core/blob/master/CRM/Utils/ReCAPTCHA.php#) does two things to validate a reCAPTCHA submission:
1. [Register a Rule to use `CRM_Utils_ReCAPTCHA::validate` as a callback function](https://github.com/civicrm/civicrm-core/blob/master/CRM/Utils/ReCAPTCHA.php#L98)
2. Check the form input `g-recaptcha-response` has a value
The function `CRM_Utils_ReCAPTCHA::validate()` doesn't exist. @seamuslee did some digging and found the function was removed in [this commit](https://github.com/civicrm/civicrm-core/commit/3c275f0d154cde1b2a5c17c5e3c444f17cf65ab1#diff-98c54dd98492532e724b400cde6d4fcca00a6b6805f8a497d71dde28c3bcfdfc) as part of the work done on [this issue](https://issues.civicrm.org/jira/browse/CRM-15853).
Expected behaviour
----------------------------------------
Google's [reCAPTCHA documentation](https://developers.google.com/recaptcha/docs/verify) states that user tokens should be verified within two minutes via API to prevent replay attacks.
The request should be to a POST to https://www.google.com/recaptcha/api/siteverify containing the site's reCAPTCHA secret, the user token and optionally the user's IP address.
It seems to me that the `CRM_Utils_ReCAPTCHA::validate()` function needs to be reinstated.
Context
----------------------------------------
Our site has been hit by credit card scammers who stepped around reCAPTCHA v2 Checkbox consistently. I checked our Google reCAPTCHA console and found these two statements:
1. 0% suspicious cases
2. "We detected that your site is not verifying reCAPTCHA solutions. This is required for the proper use of reCAPTCHA on your site. Please see our developer site for more information."5.32.0https://lab.civicrm.org/dev/core/-/issues/2149For countries without a province N/A is not accepted as a state in a profile2020-11-01T21:07:07ZStoobFor countries without a province N/A is not accepted as a state in a profileTake for example Singapore or Monaco.
A form can be submitted for the Billing Block with these Countries without a State (N/A is selected) but the same is not true for a Profile.
The attachment will illustrate.
[singapore-profile.pdf]...Take for example Singapore or Monaco.
A form can be submitted for the Billing Block with these Countries without a State (N/A is selected) but the same is not true for a Profile.
The attachment will illustrate.
[singapore-profile.pdf](/uploads/5c0f195c42c2df4329ff9a05f9559728/singapore-profile.pdf)
![singapore](/uploads/5c06891671559b82319a663823794802/singapore.png)5.31.0https://lab.civicrm.org/dev/core/-/issues/2148Incorrect use of quotes and escape and ts in CRM_Core_DAO::copyValues2020-11-03T22:36:00ZDaveDIncorrect use of quotes and escape and ts in CRM_Core_DAO::copyValuesThere's a couple things wrong with [this logging line](https://github.com/civicrm/civicrm-core/blob/60080668785d1e389bd81260bb13210b428f224f/CRM/Core/DAO.php#L761):
`Civi::log()->warning(ts('A string for field $dbName has been truncated...There's a couple things wrong with [this logging line](https://github.com/civicrm/civicrm-core/blob/60080668785d1e389bd81260bb13210b428f224f/CRM/Core/DAO.php#L761):
`Civi::log()->warning(ts('A string for field $dbName has been truncated. The original string was %1', [CRM_Utils_Type::escape($value, 'String')]));`
1. I'm not sure it should be ts'd since it's a system-y string usually not seen by end users.
2. It uses a variable inside the ts.
3. The variable gets output as the literal `$dbName` instead of the value because the string uses single quotes.
4. CRM_Utils_Type::escape is sometimes a misleading function name. It doesn't "make the string safe in all circumstances". In this situation it escapes it for insertion into an SQL string which might be what happens if that's the log implementation being used, but isn't necessarily where it ends up. Even if database was the end target, the log implementation should escape it at insertion time, not here.5.32.0https://lab.civicrm.org/dev/core/-/issues/2147IN operator not working in Search2020-11-02T05:46:11ZedvanleeuwenIN operator not working in SearchOverview
----------------------------------------
When selecting multiple groups in contact search, I should get all the contacts of the groups combined. Now, only the contacts of the first group are displayed.
_If you have already post...Overview
----------------------------------------
When selecting multiple groups in contact search, I should get all the contacts of the groups combined. Now, only the contacts of the first group are displayed.
_If you have already posted on https://civicrm.stackexchange.com or https://chat.civicrm.org, please include the link to that conversation._
Reproduction steps
----------------------------------------
1. Click on **Contacts -> Search**.
1. Select **in** and choose more than one group.
1. Only the contacts of the first group chosen are displayed.
Current behaviour
----------------------------------------
_What happens currently. Please provide error messages, screenshots or gifs ([LICEcap](http://www.cockos.com/licecap/), [SilentCast](https://github.com/colinkeenan/silentcast)) where appropriate._
When selecting multiple groups in contact search, I get only the contacts of the first group.
Expected behaviour
----------------------------------------
When selecting multiple groups in contact search, I should get all the contacts of the groups combined.
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. -->
* __Browser:__ _Edge_
* __CiviCRM:__ _5.30_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.4__
* __CMS:__ _Drupal 7_
* __Database:__ _MariaDB 10.4_
* __Web Server:__ _Apache 2.4_
Comments
----------------------------------------
I have verified and recreated the problem on the demo site.5.31.0