CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2020-08-22T08:16:30Zhttps://lab.civicrm.org/dev/core/-/issues/1963Subgroup expandy triangle turns into unknown icon when clicked2020-08-22T08:16:30ZDaveDSubgroup expandy triangle turns into unknown icon when clickedOn the Contacts - Manage Groups page, if you have subgroups and you click the triangle to expand to see the subgroups, the icon becomes an unknown icon.
![1](/uploads/b258e202209abbbb9695b32ffba3a974/1.png)
**AFTER CLICKING:**
![2](/...On the Contacts - Manage Groups page, if you have subgroups and you click the triangle to expand to see the subgroups, the icon becomes an unknown icon.
![1](/uploads/b258e202209abbbb9695b32ffba3a974/1.png)
**AFTER CLICKING:**
![2](/uploads/c5e8f86ac1c7df3f958b04a58be2349c/2.png)
It's coming from [civicrm.css](https://github.com/civicrm/civicrm-core/blob/c3852f1c14a206e0218b9502f4d35110fb47e745/css/civicrm.css#L2278) and was part of https://github.com/civicrm/civicrm-core/pull/17296.
I think it's missing `font-family: "FontAwesome";`5.29.0https://lab.civicrm.org/dev/core/-/issues/1137Feature Request: Ability to enable SSL for database connection.2020-08-11T09:02:23ZtodddFeature Request: Ability to enable SSL for database connection.As far as I can tell, there is no way within civicrm core to enable SSL connections to a remote database. This would be a major concern for anyone running CiviCRM with separate web and database servers. I've 'solved' this issue for mys...As far as I can tell, there is no way within civicrm core to enable SSL connections to a remote database. This would be a major concern for anyone running CiviCRM with separate web and database servers. I've 'solved' this issue for myself by making the changes to civicrm/civicrm/packages/DB/common.php and civicrm/civicrm/packages/DB/mysqli.php detailed [here](https://civicrm.stackexchange.com/questions/31422/ssl-encypted-database-connection-for-civicrm), but it's rather sloppy and may need to be re-done after an update. Would be very useful to be able to set a flag within civicrm.settings.php (or even the initial install page) to enable SSL.5.29.0https://lab.civicrm.org/dev/core/-/issues/1895Advanced Search (search by complete or partial name) returns all contacts2020-08-06T23:07:08ZspalmstromAdvanced Search (search by complete or partial name) returns all contactsOverview
----------------------------------------
_Please describe your problem or bug in detail._
_If you have already posted on https://civicrm.stackexchange.com or https://chat.civicrm.org, please include the link to that conversatio...Overview
----------------------------------------
_Please describe your problem or bug in detail._
_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 **Advanced Search**.
1. Click on **(search by complete or partial name)**.
1. Two boxes appear.
![image](/uploads/926f85f696d68ceea30dda0da05b4747/image.png)
1. Enter something in one of the boxes and click **Search**
![image](/uploads/ba3cd0bf8fc66fac7ba4882d22106b8c/image.png)
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._
All contacts appear. Note *Accounts* are actually in trash in my test data set.
![image](/uploads/44f942bee2816908afb8be7ecec0a94d/image.png)
Expected behaviour
----------------------------------------
_What should happen._
Only contacts meeting the criteria should appear.
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. -->
* __Browser:__ _Edge, but probably irrelevant_
* __CiviCRM:__ _5.29 alpha1, but also seen in 5.27.2_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.4, but probably irrelevant.__
* __CMS:__ _Joomla 3.9.5 but probably irrelevant_
* __Database:__ _MySQL 5.7.30 but probably irrelevant._
* __Web Server:__ _IIS, but also seen under Apache. Probably irrelevant.._
Comments
----------------------------------------
_Anything else you would like the reviewer to note._
1. If **Search in Trash** is ticked, all Trash entries are returned.
1. When you click on **Edit Search Criteria** and repeat the above process, the boxes are blank.5.29.0https://lab.civicrm.org/dev/core/-/issues/1932Upgrade fails for 4.6 => 5.29 during status-check2020-08-06T22:56:32ZtottenUpgrade fails for 4.6 => 5.29 during status-checkOverview
----------------------------------------
New upgrade error when going from 4.6=>5.29.
Reproduction steps
----------------------------------------
1. Install Civi 4.6 from git. (Requires temporarily setting up PHP 5.6.)
1. Swit...Overview
----------------------------------------
New upgrade error when going from 4.6=>5.29.
Reproduction steps
----------------------------------------
1. Install Civi 4.6 from git. (Requires temporarily setting up PHP 5.6.)
1. Switch to Civi 5.29 from git. (Requires switching back to PHP 7.1+.)
1. *Note: The codepath depends on the status-check timer. It arose organically for me, but to reproduce reliably, you may need to coerece `CRM_Utils_Check::CHECK_TIMER` to a low value like `1`.*
Current behavior
----------------------------------------
The problem is that `civicrm_status_pref` didn't exist in 4.6, and we haven't run the upgrader yet.
![Screen_Shot_2020-08-06_at_12.05.47_AM](/uploads/461ae861dbffaf47f8b0216ba58b7435/Screen_Shot_2020-08-06_at_12.05.47_AM.png)
Guess: Perhaps the try/catch block from https://github.com/civicrm/civicrm-core/commit/185a0768689374ce2d2703875a855d990c197728 was also handling the case of the non-existent table?
Expected behavior
----------------------------------------
Status check fails gracefully.
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.29
* __PHP:__ 7.1
* __CMS:__ WP
* __Database:__ _MySQL 5.65.29.0https://lab.civicrm.org/dev/core/-/issues/1916Case export has two fields that are not what they say they are2020-08-03T18:45:38ZDaveDCase export has two fields that are not what they say they areThere's two fields that say "Activity Actual Date" and "Activity Scheduled Date", whose underlying fields are case_recent_activity_date and case_scheduled_activity_date. It's been that way for a while but I think it must have been a misu...There's two fields that say "Activity Actual Date" and "Activity Scheduled Date", whose underlying fields are case_recent_activity_date and case_scheduled_activity_date. It's been that way for a while but I think it must have been a misunderstanding what they were.
It looks like they both return the same thing: [recent](https://github.com/civicrm/civicrm-core/blob/28251552ce746d2a21de50aed83c3a1e16cd89d6/CRM/Case/BAO/Query.php#L104) and [scheduled](https://github.com/civicrm/civicrm-core/blob/28251552ce746d2a21de50aed83c3a1e16cd89d6/CRM/Case/BAO/Query.php#L185). I'd argue to remove the recent/scheduled completely and have a regular activity activity_date_time and call it "activity date", I guess the same way it does subject. Similarly the [activity type](https://github.com/civicrm/civicrm-core/blob/28251552ce746d2a21de50aed83c3a1e16cd89d6/CRM/Case/BAO/Query.php#L192) should just be normal activity type not labelled "recent" or "actual".
I'm suggesting remove from the export instead of trying to do the same as on the [case dashboard](https://github.com/civicrm/civicrm-core/blob/28251552ce746d2a21de50aed83c3a1e16cd89d6/CRM/Case/Selector/Search.php#L358) since it's a [weird calculation](https://github.com/civicrm/civicrm-core/blob/28251552ce746d2a21de50aed83c3a1e16cd89d6/CRM/Case/BAO/Case.php#L2853) to begin with, and obviously hasn't been available in this export forever anyway.
I believe that's what they were intended to be - the most recent activity on the case and the next scheduled activity, same as what you see on the case dashboard.5.29.0https://lab.civicrm.org/dev/core/-/issues/1843Url-tracking in mass sms2020-08-03T00:07:11ZdmunioUrl-tracking in mass smsOverview
----------------------------------------
If a mass sms is sent with a url in the message, when sending the sms a url-tracking is added. This affects the length of the sms and also, there are no sms tracking reports.
Reproductio...Overview
----------------------------------------
If a mass sms is sent with a url in the message, when sending the sms a url-tracking is added. This affects the length of the sms and also, there are no sms tracking reports.
Reproduction steps
----------------------------------------
1. New mass sms
2. Add url in the sms message.
3. Preview sms with url-tracking
![image](/uploads/8124f67212f608522c7b260185fa306b/image.png)5.29.0https://lab.civicrm.org/dev/core/-/issues/1919Text version of unsubscribed email is missing the link to resubscribe2020-08-02T22:12:49ZDaveDText version of unsubscribed email is missing the link to resubscribeFortunately very few people still use pine to read their emails so most people wouldn't notice anything missing.
It just says `You have been un-subscribed from the following groups: {unsubscribe.group}. You can re-subscribe by mailing {...Fortunately very few people still use pine to read their emails so most people wouldn't notice anything missing.
It just says `You have been un-subscribed from the following groups: {unsubscribe.group}. You can re-subscribe by mailing {action.resubscribe} or clicking `
Seems it's always been this way - the `ts` in the sql is just missing a parameter.5.29.0https://lab.civicrm.org/dev/core/-/issues/1918CRM_Core_Key::valid() does backwards comparison2020-07-31T04:09:47ZDaveDCRM_Core_Key::valid() does backwards comparisonhttps://lab.civicrm.org/dev/core/-/blob/15074087f6c7ea9c5327dcbd4e156b39912c2b73/CRM/Core/Key.php#L117-120
strpos params are backwards
Function is not used directly much but is used indirectly via CRM_Utils_Rule.php::qfKey() many place...https://lab.civicrm.org/dev/core/-/blob/15074087f6c7ea9c5327dcbd4e156b39912c2b73/CRM/Core/Key.php#L117-120
strpos params are backwards
Function is not used directly much but is used indirectly via CRM_Utils_Rule.php::qfKey() many places, but looking at the function it probably doesn't matter as long as the key still has a 32-digit hex code in it somewhere.
It is totally not clear why any "seq" number after an underscore has to be between 1 and 10000, and I'm guessing it never happens that it's outside that range, but of course it never gets to check that.5.29.0https://lab.civicrm.org/dev/core/-/issues/1909Miscellaneous E_NOTICES2020-07-31T04:08:57ZDaveDMiscellaneous E_NOTICESYou need to turn off popups or open in new tab to see these otherwise they get snippet'd out.
- [x] Edit a recurring contribution: `Notice: Undefined index: transaction in CRM_Contribute_Form_AbstractEditPayment->assignPaymentInfoBlock(...You need to turn off popups or open in new tab to see these otherwise they get snippet'd out.
- [x] Edit a recurring contribution: `Notice: Undefined index: transaction in CRM_Contribute_Form_AbstractEditPayment->assignPaymentInfoBlock() (line 721 of .../CRM/Contribute/Form/AbstractEditPayment.php).` \
https://github.com/civicrm/civicrm-core/pull/18006
- [x] Save a recurring contribution after enabling tax and invoicing but before setting up the tax account and assigning to the financial type: `Notice: Undefined index: tax_amount in CRM_Contribute_Form_Contribution_Confirm::processFormContribution() (line 957 of .../CRM/Contribute/Form/Contribution/Confirm.php` \
https://github.com/civicrm/civicrm-core/pull/18006 (not a typo - same PR as above)
- [x] After adding gender to profile:
`Notice: Undefined offset: 2 in CRM_UF_Form_Field->postProcess() (line 533 of /.../CRM/UF/Form/Field.php).` \
PR: https://github.com/civicrm/civicrm-core/pull/17962
- [x] After saving dummy SMS provider: \
This is sort of both the fault of the provider and core. Core should handle if it's missing, but in general providers would specify the service url and it's a required field on the form, e.g. for [twilio](https://github.com/civicrm/org.civicrm.sms.twilio/blob/c324f44365c5fc886d2564891555cd46a00c739f/org_civicrm_sms_twilio.php#L53). \
`Notice: Undefined property: io_3sd_dummysms::$_apiURL in CRM_SMS_Form_Provider->setDefaultValues() (line 117 of .../CRM/SMS/Form/Provider.php).` \
PR: https://github.com/civicrm/civicrm-core/pull/17985
- [x] Copy To Case and its relatives when activity subject is blank: \
(You can't see this in the UI since you can't get here without a popup, you need to look in drupal watchdog) \
`Notice: Undefined index: subject in CRM_Case_Form_ActivityToCase->setDefaultValues() (line 63 of .../CRM/Case/Form/ActivityToCase.php).` \
PR: https://github.com/civicrm/civicrm-core/pull/17959
- [x] After adding a payment processor: `Notice: Undefined property: CRM_Admin_Form_PaymentProcessor::$_testID in CRM_Admin_Form_PaymentProcessor->updatePaymentProcessor() (line 483 of .../CRM/Admin/Form/PaymentProcessor.php).` \
PR: https://github.com/civicrm/civicrm-core/pull/179645.29.0https://lab.civicrm.org/dev/core/-/issues/1915Incorrect check for "soft_credit" after making pcp donation2020-07-31T02:51:53ZDaveDIncorrect check for "soft_credit" after making pcp donationPulling this out from dev/core#1909 since it might be something more.
After you make a pcp donation you get `Notice: Undefined index: soft_credit in CRM_Contribute_BAO_Contribution->_gatherMessageValues() (line 3111 of .../CRM/Contribut...Pulling this out from dev/core#1909 since it might be something more.
After you make a pcp donation you get `Notice: Undefined index: soft_credit in CRM_Contribute_BAO_Contribution->_gatherMessageValues() (line 3111 of .../CRM/Contribute/BAO/Contribution.php).`
After looking a bit I'm not sure if this is just a minor missing check against null. For pcp the soft credit array values have different indexes - see e.g. [ContributionSoft line 331](https://github.com/civicrm/civicrm-core/blob/101f1f244307b4eb1c022049ae706dd415daef13/CRM/Contribute/BAO/ContributionSoft.php#L331) vs [line 337](https://github.com/civicrm/civicrm-core/blob/101f1f244307b4eb1c022049ae706dd415daef13/CRM/Contribute/BAO/ContributionSoft.php#L337)
I'm just not sure yet if it makes any difference, but it seems like it would not get assigned to the template for pcp.5.29.0https://lab.civicrm.org/dev/core/-/issues/1914The edit smart group form does not fill the default values for tag sets2020-07-29T12:48:34ZkainukThe edit smart group form does not fill the default values for tag setsOverview
----------------------------------------
The edit smart group form does not fill the default values for tag sets.
Reproduction steps
----------------------------------------
1. Create a tag set. This can be done in the civicrm/...Overview
----------------------------------------
The edit smart group form does not fill the default values for tag sets.
Reproduction steps
----------------------------------------
1. Create a tag set. This can be done in the civicrm/tag?reset=1 form. Example:
![tagset](/uploads/bb4fc64772bf0bce3eb15bd545f1fc76/tagset.png)
1. Now the tagset shows up in the advanced search:
![Selection_025](/uploads/2af6898c42a01fb196bfeaff3f1cc1f5/Selection_025.png)
1. Create smart group from this advanced search. This smart group works fine
1. Go to the smart group settings screen (1 - Manage Smart Groups, 2 - Go to the settings form of the smart group , 3 Click _Edit Smart Group Criteria_)
1. Now you cannot see what values of the tagset are chosen.
Current behavior
----------------------------------------
![current_behavior](/uploads/57b4b02ab75c62e417d93e87e36c849e/current_behavior.png)
Expected behavior
----------------------------------------
![Selection_025](/uploads/2af6898c42a01fb196bfeaff3f1cc1f5/Selection_025.png)
This is needed to know what the _original_ selection was
Environment information
----------------------------------------
Reproduced on the master 5.29.alpha1.
Comments
----------------------------------------
Related to https://lab.civicrm.org/dev/core/-/issues/15425.29.0https://lab.civicrm.org/dev/core/-/issues/1755Mailing Subscription form does not validate reCaptcha2020-07-28T23:07:08ZbgmMailing Subscription form does not validate reCaptchaTo reproduce:
* Go to: https://civicrm.org/civicrm/mailing/subscribe?reset=1 (or setup any site with a reCaptcha key, it automatically enables on this form).
* Enter an email, select a newsletter
* Hit Submit, without answering the Capt...To reproduce:
* Go to: https://civicrm.org/civicrm/mailing/subscribe?reset=1 (or setup any site with a reCaptcha key, it automatically enables on this form).
* Enter an email, select a newsletter
* Hit Submit, without answering the Captcha.
Result: captcha is not validated.
I tried debugging to the point where in `CRM_Core_Utils_ReCAPTCHA::add()`, the call to `isSubmitted` returns false, but that may have been a misleading, since removing this bit seems to fix it:
https://lab.civicrm.org/dev/core/-/blob/master/CRM/Mailing/Form/Subscribe.php#L123
```
// If this is POST request and came from a block,
// lets add recaptcha only if already present.
// Gross hack for now.
if (!empty($_POST) &&
!array_key_exists('recaptcha_challenge_field', $_POST)
) {
$addCaptcha = FALSE;
}
```
I don't know what "came from a block" means in this context. Mayeb an old Drupal block?
It was added in 2009: https://github.com/civicrm/civicrm-svn/commit/e745abc5114e644ef58712a42e73af9be100588c#diff-7e49ca39c25024fb4dbba97bee79be03
Related: infra/ops#9465.29.0https://lab.civicrm.org/dev/core/-/issues/785Differentiate smart group from regular group using icon in select2 field2020-07-27T19:47:10ZMonish DebDifferentiate smart group from regular group using icon in select2 fieldCurrently there is no way to tell which group is smart or regular group from UI. It would be ideal to use icon against such smart group options to differentiate them from regular ones.Currently there is no way to tell which group is smart or regular group from UI. It would be ideal to use icon against such smart group options to differentiate them from regular ones.5.29.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/1902"Contribution Source" profile field has no effect on new contribution2020-07-25T09:32:00ZAllenShaw"Contribution Source" profile field has no effect on new contributionOverview
----------------------------------------
Profiles allow inclusion of the "Contributions :: Contribution Source" on contribution pages, but any value entered therein is disregarded when saving a new contribution.
Steps to reprod...Overview
----------------------------------------
Profiles allow inclusion of the "Contributions :: Contribution Source" on contribution pages, but any value entered therein is disregarded when saving a new contribution.
Steps to reproduce (on dmaster.demo.civicrm.org)
Reproduction steps
----------------------------------------
1. Start with the Name and Address profile, and add to this profile the field "Contributions :: Contribution Source"
2. Add this profile to a Contribution Page, e.g., "Help Support CiviCRM!"
3. Open the Contribution Page, and fill in the form to submit an online contribution; for the Contribution Source field, enter a testable value such as "test source".
4. Submit the contribution
5. Find the contribution in CiviCRM, and open it; examine the value of the "Source" field.
Current behaviour
----------------------------------------
* The "Source" field reads "Online Contribution: Help Support CiviCRM!"
Expected behaviour
----------------------------------------
* The "Source" field should read "test source"
Environment information
----------------------------------------
The above repro steps were performed today on dmaster.demo.civicrm.org.
Comments
----------------------------------------
Testing on local dev indicates that a PR like this would produce the expected behavior:
```
diff --git a/CRM/Contribute/BAO/Contribution/Utils.php b/CRM/Contribute/BAO/Contribution/Utils.php
index a9e84fa..8bbb2c5 100644
--- a/CRM/Contribute/BAO/Contribution/Utils.php
+++ b/CRM/Contribute/BAO/Contribution/Utils.php
@@ -83,6 +83,9 @@ class CRM_Contribute_BAO_Contribution_Utils {
$form->_values['amount'] = $form->_params['amount'];
}
+ if (isset($paymentParams['contribution_source'])) {
+ $paymentParams['source'] = $paymentParams['contribution_source'];
+ }
if ($isPaymentTransaction) {
$contributionParams = [
'id' => $paymentParams['contribution_id'] ?? NULL,
@@ -142,9 +145,6 @@ class CRM_Contribute_BAO_Contribution_Utils {
$paymentParams['contributionID'] = $contribution->id;
$paymentParams['contributionPageID'] = $contribution->contribution_page_id;
- if (isset($paymentParams['contribution_source'])) {
- $paymentParams['source'] = $paymentParams['contribution_source'];
- }
if (!empty($form->_params['is_recur']) && $contribution->contribution_recur_id) {
$paymentParams['contributionRecurID'] = $contribution->contribution_recur_id;
```5.29.0https://lab.civicrm.org/dev/core/-/issues/1894CRM_Activity_Form_SearchTest::testQill can fail semi-randomly2020-07-21T13:32:55ZDaveDCRM_Activity_Form_SearchTest::testQill can fail semi-randomlyI think it's because it uses a dataprovider that calculates time-sensitive things. Dataproviders run at a different unknown time from when the test itself runs. Could use a callback to work around it, or just not use a dataprovider.
Exa...I think it's because it uses a dataprovider that calculates time-sensitive things. Dataproviders run at a different unknown time from when the test itself runs. Could use a callback to work around it, or just not use a dataprovider.
Example fail:
```
CRM_Activity_Form_SearchTest::testQill with data set #0 (array(array('activity_date_time_relative', '=', 'ending_60.day', 0, 0)), array(array('Activity Date is Last 60 days...59 PM)')))
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
Array (
0 => Array (
- 0 => 'Activity Date is Last 60 days including today (between May 22nd, 2020 12:00 AM and July 20th, 2020 11:59 PM)'
+ 0 => 'Activity Date is Last 60 days including today (between May 23rd, 2020 12:00 AM and July 21st, 2020 11:59 PM)'
)
)
/home/jenkins/bknix-dfl/build/core-17901-5ckvo/web/sites/all/modules/civicrm/tests/phpunit/CRM/Activity/Form/SearchTest.php:77
/home/jenkins/bknix-dfl/build/core-17901-5ckvo/web/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:209
/home/jenkins/bknix-dfl/extern/phpunit7/phpunit7.phar:615
```5.29.0https://lab.civicrm.org/dev/core/-/issues/1888Advanced search gives fatal error if select a group and missing group on cont...2020-07-20T04:07:07ZDaveDAdvanced search gives fatal error if select a group and missing group on contact editAlso happening on dmaster.demo.
Seems related to https://lab.civicrm.org/dev/core/-/issues/1885 and the same commit https://github.com/civicrm/civicrm-core/pull/13958/files
If I revert it then it works. But the revert is not clean and ...Also happening on dmaster.demo.
Seems related to https://lab.civicrm.org/dev/core/-/issues/1885 and the same commit https://github.com/civicrm/civicrm-core/pull/13958/files
If I revert it then it works. But the revert is not clean and needed to be done manually, so I'm not sure if that's just my lack of git-fu or if there's something that came later that reverting might now break.
Also copying over info from 1885:
When saving a new contact that does not have a group:
`Warning: Invalid argument supplied for foreach() in CRM_Contact_BAO_Contact::create() (line 309 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php).`
When editing a contact that does have a group:
`Warning: htmlspecialchars() expects parameter 1 to be string, array given in HTML_Common->_getAttrString() (line 144 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/packages/HTML/Common.php).`
And then it doesn't show the group on the form and then when saving that contact:
`Warning: array_key_exists() expects parameter 2 to be array, string given in CRM_Contact_Form_Contact->postProcess() (line 952 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Contact/Form/Contact.php).`5.29.0https://lab.civicrm.org/dev/core/-/issues/1885E_WARNINGS on contact edit form related to groups2020-07-20T02:57:06ZDaveDE_WARNINGS on contact edit form related to groupsThis came up the other day while reviewing a PR but I couldn't reproduce it, but now today I'm seeing it on dmaster.demo (and elsewhere) so I assume it's from a recent change somewhere.
When saving a new contact that does not have a gro...This came up the other day while reviewing a PR but I couldn't reproduce it, but now today I'm seeing it on dmaster.demo (and elsewhere) so I assume it's from a recent change somewhere.
When saving a new contact that does not have a group:
`Warning: Invalid argument supplied for foreach() in CRM_Contact_BAO_Contact::create() (line 309 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php).`
When editing a contact that does have a group:
`Warning: htmlspecialchars() expects parameter 1 to be string, array given in HTML_Common->_getAttrString() (line 144 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/packages/HTML/Common.php).`
And then it doesn't show the group on the form and then when saving that contact:
`Warning: array_key_exists() expects parameter 2 to be array, string given in CRM_Contact_Form_Contact->postProcess() (line 952 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Contact/Form/Contact.php).`5.29.0https://lab.civicrm.org/dev/core/-/issues/1767CRM_Dedupe_Finder parses phone key incorrectly2020-07-19T21:43:43Zwil_SRQCRM_Dedupe_Finder parses phone key incorrectlyOverview
----------------------------------------
A profile input form that matches on Phone-Main-Mobile (and I suspect on any phone) sends CRM_Dedupe_Finder::formatParams an input like '["phone-3-1"] => "3214567890"' which after the rel...Overview
----------------------------------------
A profile input form that matches on Phone-Main-Mobile (and I suspect on any phone) sends CRM_Dedupe_Finder::formatParams an input like '["phone-3-1"] => "3214567890"' which after the relevant code around line 255 yields ["phone-3"]. This doesn't match the "phone" in CRM_Dedupe_BAO_RuleGroup::supportedFields so the duplicate check fails.
I patched this by replacing the regular expression in line 255
https://github.com/civicrm/civicrm-core/blob/master/CRM/Dedupe/Finder.php#L255
- **From:** `'/(.*)-(Primary-[\d+])$|(.*)-(\d+|Primary)$/'`
- **To:** `'/(.*)-(Primary-[\d+])$|(.*)-(\d+-\d+)$|(.*)-(\d+|Primary)$/'`
https://civicrm.stackexchange.com/q/35672/5446
Reproduction steps
----------------------------------------
1. Create individual unsupervised rule that matches on phone
2. Create input profile that creates contact with phone-main-mobile and set to "Update the matching contact" on duplicate match
3. Create multiple contacts with same phone
Current behaviour
----------------------------------------
Creates duplicate contacts
Expected behaviour
----------------------------------------
Update pre-existing contact
Environment information
----------------------------------------
* __CiviCRM:__ 5.25.0
Comments
----------------------------------------
I expect you'd prefer I do what's called a "pull request." Apologies, I'm an old retired guy who hasn't programmed for a living in over 35 years so all this new fangled stuff intimidates me. This was an act of desperation on behalf of the nonprofit I volunteer for.
@jaapjansma has created the PR: https://github.com/civicrm/civicrm-core/pull/173615.29.0https://lab.civicrm.org/dev/core/-/issues/1751Email template permissions2020-07-18T03:07:08Zfran@compucorp.co.ukEmail template permissionsOverview
----------------------------------------
In the email modal, CiviCRM users can write an email from scratch or use an existing message template. They are given the options to update existing templates or save a new template.
Th...Overview
----------------------------------------
In the email modal, CiviCRM users can write an email from scratch or use an existing message template. They are given the options to update existing templates or save a new template.
These options are currently available and can be completed by users with basic access to CiviCRM*, even when they do not have the permission CiviCRM: edit message templates.
Organisations want to create standard message templates that cannot be altered by the hundreds of staff using the templates. They need to be able to set this up as a user permission.
Current behaviour
----------------------------------------
When writing an email in the email modal, CiviCRM users can write an email from scratch or use an existing template. If they write an email from scratch they have the option to save their email as a new message template. If they use an existing template, they have an option to ‘update’ the template or save it as a new message template.
When a CiviCRM user writes an email, selects ‘Save as new template’ and sends the email, a new message template is created. These steps are the same when a user edits an already existing email template.
When a CiviCRM user selects an existing email template, makes changes to the content, selects ‘Update template’ and sends the email, the existing template is updated to whatever content the user has changed.
![permissions_template](/uploads/67b28e3e11d4cf353e1845b22c3fac31/permissions_template.png)
Email templates can be accessed where the email modal is triggered (e.g. contact record, cases extension etc.).
Expected behaviour
----------------------------------------
Acceptance criteria:
Any user that does not have the permission to update email templates [CiviCRM: edit message templates] should not see the check box ‘Update Template’
Any user that does not have the permission to create email templates [CiviCRM: edit message templates] should not be able to edit the content of email templates
![permissions_update_template](/uploads/719e1502f187a21a52027b946cd51e92/permissions_update_template.png)5.29.0https://lab.civicrm.org/dev/core/-/issues/1869CiviReport sent as email via mail_report job with a CSV attachment doesn't sh...2020-07-17T22:07:08ZDaveDCiviReport sent as email via mail_report job with a CSV attachment doesn't show UTF8 characters properly in ExcelSimilar to https://lab.civicrm.org/dev/core/-/issues/1424, if you choose to download a civireport as csv it will now show utf8 characters properly when opened in excel. But that only works for downloads and if you use the mail_report job...Similar to https://lab.civicrm.org/dev/core/-/issues/1424, if you choose to download a civireport as csv it will now show utf8 characters properly when opened in excel. But that only works for downloads and if you use the mail_report job to send a civireport as an email with a csv attachment, the attachment does not have the BOM.
PR pending but it might be as simple as moving the prepending of the BOM to makeCsv() instead of in the download function, depending on how else makeCsv is used. I already sort of have a test since this came up while writing a test for something.5.29.0