Development issueshttps://lab.civicrm.org/groups/dev/-/issues2020-10-27T22:27:08Zhttps://lab.civicrm.org/dev/core/-/issues/2146Long cyrillic names give error Data too long for column sort_name when saving...2020-10-27T22:27:08ZDaveDLong cyrillic names give error Data too long for column sort_name when saving a contactSee also [stackexchange post](https://civicrm.stackexchange.com/questions/37992/db-error-for-sort-name-when-adding-contacts-with-long-names-in-2-bytes-utf8-char).
The problem is that CRM_Contact_BAO_Contact::add tries to [truncate the s...See also [stackexchange post](https://civicrm.stackexchange.com/questions/37992/db-error-for-sort-name-when-adding-contacts-with-long-names-in-2-bytes-utf8-char).
The problem is that CRM_Contact_BAO_Contact::add tries to [truncate the sort_name](https://github.com/civicrm/civicrm-core/blob/1c8707d6ae7f034474e400a42a4650985616b631/CRM/Contact/BAO/Contact.php#L163-L165) and assumes 1 byte per char. While using substr() instead of mb_substr() would get the number of chars wrong, possibly exceeding the byte length, the main problem is that it can truncate half a character creating an invalid utf8 string. This isn't a utf8 vs utf8mb4 thing either.5.32.0https://lab.civicrm.org/dev/core/-/issues/2145Italian provinces2020-10-27T03:06:52ZmasettoItalian provincesThese Italian provinces
```
-- new Italian provinces, as yet without codes (CRM-5048)
(10010, 1107, "Bar", "Barletta-Andria-Trani"),
(10011, 1107, "Fer", "Fermo"),
(10012, 1107, "Mon", "Monza e Brianza"),
```
now have a definitive abbr...These Italian provinces
```
-- new Italian provinces, as yet without codes (CRM-5048)
(10010, 1107, "Bar", "Barletta-Andria-Trani"),
(10011, 1107, "Fer", "Fermo"),
(10012, 1107, "Mon", "Monza e Brianza"),
```
now have a definitive abbreviation
```
(10010, 1107, "BT", "Barletta-Andria-Trani"),
(10011, 1107, "FM", "Fermo"),
(10012, 1107, "MB", "Monza e Brianza"),
```5.32.0https://lab.civicrm.org/dev/core/-/issues/2143Custom Searches in events fail after 5.30.x upgrade2020-10-27T02:46:00ZspalmstromCustom Searches in events fail after 5.30.x upgradeOverview
----------------------------------------
_Please describe your problem or bug in detail._
After upgrading to CiviCRM 5.30 under Joomla, event based custom searches fail with: *DB Error: value count on row* and a stack trace. I...Overview
----------------------------------------
_Please describe your problem or bug in detail._
After upgrading to CiviCRM 5.30 under Joomla, event based custom searches fail with: *DB Error: value count on row* and a stack trace. I have a development Drupal instance, but that failed to run CiviCRM after the update and I haven't managed to resolve that issue.
It is running under IIS, but we also see it under Linux.
Reproduction steps
----------------------------------------
1. Click on **Search** and select **Custom Searches**
1. Click on **Event Aggregate**
1. Select an event
1. Click **Search**
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._
Stack trace:
```
#0 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Error.php(148): CRM_Core_Error::backtrace()
#1 <Joomla directory>\administrator\components\com_civicrm\civicrm\vendor\pear\pear-core-minimal\src\PEAR.php(922): CRM_Core_Error::handle(Object(DB_Error))
#2 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\DB.php(997): PEAR_Error->__construct("DB Error: value count on row", -22, 16, (Array:2), "\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...")
#3 <Joomla directory>\administrator\components\com_civicrm\civicrm\vendor\pear\pear-core-minimal\src\PEAR.php(575): DB_Error->__construct(-22, 16, (Array:2), "\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...")
#4 <Joomla directory>\administrator\components\com_civicrm\civicrm\vendor\pear\pear-core-minimal\src\PEAR.php(223): PEAR::_raiseError(Object(DB_mysqli), NULL, -22, 16, (Array:2), "\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...", "DB_Error", TRUE)
#5 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\DB\common.php(1920): PEAR->__call("raiseError", (Array:7))
#6 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\DB\mysqli.php(936): DB_common->raiseError(-22, NULL, NULL, "\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...", "1136 ** Column count doesn't match value count at row 1")
#7 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\DB\mysqli.php(406): DB_mysqli->mysqliRaiseError()
#8 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\DB\common.php(1229): DB_mysqli->simpleQuery("\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...")
#9 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\DB\DataObject.php(2696): DB_common->query("\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...")
#10 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\DB\DataObject.php(1829): DB_DataObject->_query("\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...")
#11 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\DAO.php(445): DB_DataObject->query("\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...")
#12 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\DAO.php(1551): CRM_Core_DAO->query("\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...", TRUE)
#13 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\PrevNextCache\Sql.php(43): CRM_Core_DAO::executeQuery("\nINSERT INTO civicrm_prevnext_cache (cachekey, entity_id1, data)\n\n ...", (Array:0), FALSE)
#14 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Contact\Selector.php(1047): CRM_Core_PrevNextCache_Sql->fillWithSql("civicrm search f34df2377021b9d0d51da884d5a36bf1372d6d1cf25a00d692664ad719aadc...", "\n SELECT civicrm_participant.event_id as event_id,\n COUNT(civ...")
#15 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Contact\Selector.php(909): CRM_Contact_Selector->fillupPrevNextCache(Object(CRM_Utils_Sort), "civicrm search f34df2377021b9d0d51da884d5a36bf1372d6d1cf25a00d692664ad719aadc...", 0, 500)
#16 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Contact\Selector\Custom.php(358): CRM_Contact_Selector->buildPrevNextCache(Object(CRM_Utils_Sort))
#17 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Selector\Controller.php(402): CRM_Contact_Selector_Custom->getRows(4, 0, 50, Object(CRM_Utils_Sort), 1, NULL)
#18 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Selector\Controller.php(324): CRM_Core_Selector_Controller->getRows(Object(CRM_Contact_Selector_Controller))
#19 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Contact\Form\Search.php(867): CRM_Core_Selector_Controller->run()
#20 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Contact\Form\Search\Custom.php(157): CRM_Contact_Form_Search->postProcess()
#21 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Form.php(507): CRM_Contact_Form_Search_Custom->postProcess()
#22 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\QuickForm\Action\Refresh.php(57): CRM_Core_Form->mainProcess()
#23 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\HTML\QuickForm\Controller.php(203): CRM_Core_QuickForm_Action_Refresh->perform(Object(CRM_Contact_Form_Search_Custom), "refresh")
#24 <Joomla directory>\administrator\components\com_civicrm\civicrm\packages\HTML\QuickForm\Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Search_Custom), "refresh")
#25 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Controller.php(347): HTML_QuickForm_Page->handle("refresh")
#26 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Invoke.php(312): CRM_Core_Controller->run((Array:4), (Array:0))
#27 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Invoke.php(68): CRM_Core_Invoke::runItem((Array:12))
#28 <Joomla directory>\administrator\components\com_civicrm\civicrm\CRM\Core\Invoke.php(36): CRM_Core_Invoke::_invoke((Array:4))
#29 <Joomla directory>\administrator\components\com_civicrm\civicrm.php(121): CRM_Core_Invoke::invoke((Array:4))
#30 <Joomla directory>\administrator\components\com_civicrm\civicrm.php(40): civicrm_invoke()
#31 <Joomla directory>\libraries\src\Component\ComponentHelper.php(402): require_once("<Joomla directory>\administrator\components\com_civicrm\civicrm.php")
#32 <Joomla directory>\libraries\src\Component\ComponentHelper.php(377): Joomla\CMS\Component\ComponentHelper::executeComponent("<Joomla directory>\administrator/components/com_civicrm/civicrm.php")
#33 <Joomla directory>\libraries\src\Application\AdministratorApplication.php(101): Joomla\CMS\Component\ComponentHelper::renderComponent("com_civicrm")
#34 <Joomla directory>\libraries\src\Application\AdministratorApplication.php(159): Joomla\CMS\Application\AdministratorApplication->dispatch()
#35 <Joomla directory>\libraries\src\Application\CMSApplication.php(196): Joomla\CMS\Application\AdministratorApplication->doExecute()
#36 <Joomla directory>\administrator\index.php(51): Joomla\CMS\Application\CMSApplication->execute()
#37 {main}
```
![image](/uploads/9ddf7a4a28592eaa4e0a986960497142/image.png)
Expected behaviour
----------------------------------------
_What should happen._
Something like:
![image](/uploads/e9361b8bcdcc782ac1398f32cb7adb50/image.png)
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.30.x..._ Upgrading from _5.29.1_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.3.23/7.4.11_ but probably irrelevant
* __CMS:__ _Joomla 3.9.22_ but may be irrelevant
* __Database:__ _MySQL 5.6.40-84.0-log/MySQL 5.7.31-log..._ but probably irrelevant
* __Web Server:__ _Apache/IIS_ but probably irrelevant.
Comments
----------------------------------------
_Anything else you would like the reviewer to note._
I have been attempting to research this, and it appears to be related to how CiviCRM is trying to populate civicrm_prevnext_cache where for the event based searches it is trying to add the wrong number of values. I am reporting it in case someone has a quick fix for the issue.5.31.0https://lab.civicrm.org/dev/core/-/issues/2142Advanced logging detail report improvement2020-11-06T02:35:57ZVangelisPAdvanced logging detail report improvementOverview
----------------------------------------
This issue relates to a discussion we had in CiviCRM [Dev channel](https://chat.civicrm.org/civicrm/pl/83okshh9wif6ufkif3fd3d8w1c) where it was being identified that when we got advanced ...Overview
----------------------------------------
This issue relates to a discussion we had in CiviCRM [Dev channel](https://chat.civicrm.org/civicrm/pl/83okshh9wif6ufkif3fd3d8w1c) where it was being identified that when we got advanced logging activated and a contact triggered batch updates/changes, the detailed report most of the time does not work due to extremely long delays.
That case applies if the target system is having many contact records.
Example use-case / How to reproduce
----------------------------------------
That's a little bit difficult to reproduce due to data sizes but here are the requirements to see the make it:
* Have detailed logging enabled
* Batch import and/or update 5k-10k contacts (more is better!)
* Go to the contact that did run the import
* Go to his/her "Changelog" tab and click on the 'update' link ('View details for this update')
This link should try to render the report `logging/contact/detail` (which points to `CRM_Logging_ReportDetail` ([link here](https://github.com/civicrm/civicrm-core/blob/master/CRM/Logging/ReportDetail.php))
Current behaviour
----------------------------------------
* If the records associated are too many, the report will never finish in a timely manner
* The same issue happens if we hover to the icon next to the action in the changelog tab
Proposed behaviour
----------------------------------------
* Show a list of 50 records per page by adding limit and pagers
* Render a pager on table list
* Disable the pager if layout is overlay (thus limiting the output to 50 rows max in overlay/hover mode)
Comments/Notes
----------------------------------------
As those 50 records per page are showing contacts that might have more than 1 change (change in multiple fields), we're grouping the change entries per contact ID so that we can keep them and then we are concatenating the results on the final table/overlay (tpl) using divs. This will help us maintain a consistency on the records vs rows listed on each page.
Screenshot before applying the grouping (concatenation) function:
![screenshot-before](/uploads/f777e3ee46a12809198bd0803d3cf3f7/screenshot-before.png)
Screenshot after applying the grouping (concatenation) function:
![screenshot-after](/uploads/603d6df7e94ae58530c4fa60fac74951/screenshot-after.png)
Since the main purpose of the overlay is just to show a preview (and not a complete listing), we are not going to use a pager on that display.
PR is here https://github.com/civicrm/civicrm-core/pull/188515.33.0https://lab.civicrm.org/dev/core/-/issues/2140Do not manually construct the site path during Drupal8+ setup2020-10-22T23:27:02ZmglamanDo not manually construct the site path during Drupal8+ setupOverview
----------------------------------------
I am working on writing tests that allow testing the Drupal CiviCRM integration. However, the installation is broken due to an assumption of the site directory path.
```
// Compute s...Overview
----------------------------------------
I am working on writing tests that allow testing the Drupal CiviCRM integration. However, the installation is broken due to an assumption of the site directory path.
```
// Compute settingsPath.
$siteDir = \Civi\Setup\DrupalUtil::getDrupalSiteDir($cmsPath);
$model->settingsPath = implode(DIRECTORY_SEPARATOR, [$cmsPath, 'sites', $siteDir, 'civicrm.settings.php']);
```
In a PHPUnit test the path is actually `sites/simpletest/$siteDir/`. This is causing CiviCRM to write files to `sites/$siteDir` and prevent a test run.
In the `\Civi\Setup\DrupalUtil::getDrupalSiteDir` the basename is fetched, when really the entire path should be returned and trusted:
```
elseif (class_exists('Drupal')) {
- return basename(\Drupal::service('site.path'));
+ return \Drupal::service('site.path');
}
```
Then the computed path is just
```
// Compute settingsPath.
$siteDir = \Civi\Setup\DrupalUtil::getDrupalSiteDir($cmsPath);
$model->settingsPath = implode(DIRECTORY_SEPARATOR, [$cmsPath, $siteDir, 'civicrm.settings.php']);
```
Reproduction steps
----------------------------------------
1. Attempt to write a Functional test
Current behaviour
----------------------------------------
```
1) Drupal\Tests\drupal_civicrm\Functional\InstallTest::testInstall
include_once(sites/simpletest/34927510/civicrm.settings.php): failed to open stream: No such file or directory
```
Expected behaviour
----------------------------------------
No error, beyond any other testing errors.5.32.0https://lab.civicrm.org/dev/core/-/issues/2138Error in the selected phone to send an SMS when the Mobile type label is modi...2021-03-13T02:40:22ZdmunioError in the selected phone to send an SMS when the Mobile type label is modifiedOverview
----------------------------------------
When wanting to send an SMS, a mobile phone is not identified if it is not primary and if the label of the mobile phone type has been translated or modifed.
Reproduction steps
----------...Overview
----------------------------------------
When wanting to send an SMS, a mobile phone is not identified if it is not primary and if the label of the mobile phone type has been translated or modifed.
Reproduction steps
----------------------------------------
1. Change the label of the "Mobile" phone type.
![image](/uploads/3a758fbef44cf889539d8c47f498b3d4/image.png)
2. Use contact that has:
- Main phone with type other than "Mobile".
- A second "Mobile" type telephone number
![image](/uploads/816ff22a82c194b665cd51a9eb2bb21b/image.png)
3. Add task: Outbound SMS. The phone to which the sms is sent is the primary phone, not the Mobile type phone.
![image](/uploads/fd20d0d1faf8f17a31775170d7adad7a/image.png)5.32.0https://lab.civicrm.org/dev/user-interface/-/issues/34Use of <th> tags for labels on Contribution Ammounts tab gives them unique st...2020-10-23T16:47:09ZnicolUse of <th> tags for labels on Contribution Ammounts tab gives them unique stylingAs identified here https://lab.civicrm.org/extensions/finsburypark/-/issues/2 - the Ammounts tab in the Contribution page config screen sets the labels as `<th>` which can pick up styling from the admin theme and the rest of Civi, for e....As identified here https://lab.civicrm.org/extensions/finsburypark/-/issues/2 - the Ammounts tab in the Contribution page config screen sets the labels as `<th>` which can pick up styling from the admin theme and the rest of Civi, for e.g. on Drupal 7 with Seven admin theme, the labels appear in caps. On other tabs the labels appear
File:
https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Contribute/Form/ContributionPage/Amount.tpl
Example - Drupal with Seven Admin theme
![image](/uploads/0ae39fa25d69469ffef1fceeaa6276ba/image.png)
Joomla
![image](/uploads/d05305e94a9ba2f822f8bf28cec69fff/image.png)
Wordpress
![image](/uploads/430b17cefb986cda377c22a75627af47/image.png)
Display in other tabs
![image](/uploads/3268514d100433e75bf52f7bed7fee56/image.png)
Quickest fix would be to remove the `<th>`.5.32.0https://lab.civicrm.org/dev/core/-/issues/2137Asset building breaks the site2021-03-10T23:23:22ZAlanDixonAsset building breaks the site## NOTE:
This ticket is not about how to solve this problem, which has some known causes and some unknown causes, it was just about logging instead of crashing. Check your civi log (ConfigAndLog) or visit https://civicrm.stackexchange.co...## NOTE:
This ticket is not about how to solve this problem, which has some known causes and some unknown causes, it was just about logging instead of crashing. Check your civi log (ConfigAndLog) or visit https://civicrm.stackexchange.com/questions/37994/why-cant-the-asset-builder-find for help solving the problem.
## Description:
Upon upgrade of a Drupal 8 site to CiviCRM 5.30.1 from 5.29.something, the site broke completely with this php error in the drupal watchdog:
`Civi\Core\Exception\UnknownAssetException: Unrecognized asset name: crm-menubar.css in Civi\Core\AssetBuilder->render() (line 217 of /var/www/drupal/vendor/civicrm/civicrm-core/Civi/Core/AssetBuilder.php).`
Missing assets shouldn't break the site.5.36.0https://lab.civicrm.org/dev/core/-/issues/2136Drupal 7 + 9 Groups dont show in edit with version 5.30.12020-10-22T23:29:16ZRar9Drupal 7 + 9 Groups dont show in edit with version 5.30.1![Screenshot_10](/uploads/891ee92f4baa04a58639b60eddc4a7f4/Screenshot_10.jpg)
On from 5.29. to 5.30.0 groups where showing with extra SPAN https://lab.civicrm.org/dev/core/-/issues/2105
Now with last 5.30.1 version the Group keep load...![Screenshot_10](/uploads/891ee92f4baa04a58639b60eddc4a7f4/Screenshot_10.jpg)
On from 5.29. to 5.30.0 groups where showing with extra SPAN https://lab.civicrm.org/dev/core/-/issues/2105
Now with last 5.30.1 version the Group keep loading and dont display at all anymore.
This is valid for druapl 7 php 7.3x and drupal 9 php 7.4x5.31.0https://lab.civicrm.org/dev/core/-/issues/2131New deprecation Warning alternative2021-01-03T23:19:01ZeileenNew deprecation Warning alternativeWe were adding CRM_Core_Error::deprecationWarning to code that we wanted to be avoided. It was discussed in matter-most that it was a bit inaccurate so the bar for deprecating code became that we had to agree a new function first.
I pre...We were adding CRM_Core_Error::deprecationWarning to code that we wanted to be avoided. It was discussed in matter-most that it was a bit inaccurate so the bar for deprecating code became that we had to agree a new function first.
I pretty much stopped deprecating code after that but the deprecation process has been really helpful and the helper is much more grepable - in the meantime I'll switch back to
Civi::log()->warning("$className needs to be regenerated. Missing getEntityTitle method.", ['civi.tag' => 'deprecated']);5.34.0https://lab.civicrm.org/dev/core/-/issues/2127Contact import by CSV fails when string ends with "à"2020-12-29T19:07:07Zsluc23Contact import by CSV fails when string ends with "à"Overview
----------------------------------------
When importing a Contact with a CSV file, the strings that end with character `à` are replaced by a non-printing character.
![bug_trim](/uploads/c6df28ed3579a66b77d2433d90fc2d4d/bug_tr...Overview
----------------------------------------
When importing a Contact with a CSV file, the strings that end with character `à` are replaced by a non-printing character.
![bug_trim](/uploads/c6df28ed3579a66b77d2433d90fc2d4d/bug_trim.gif)
Reproduction steps
----------------------------------------
1. Create CSV file with string field ending with `à`
2. Import Contact by CSV, and choose this file
3. The file has been loaded in a temp table, and final `à` character is replaced by a non-printing character
Current behaviour
----------------------------------------
String ending with `à` is broken and replaced by a non-printing character
Expected behaviour
----------------------------------------
String must remain as-it-is
Environment information
----------------------------------------
Reproduced in `5.27.7` and in `dmaster`
Comments
----------------------------------------
This line of code is the culprit of replacing the character:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Import/DataSource/CSV.php#L227
Included in PR:
https://github.com/civicrm/civicrm-core/pull/7813
Not sure what's the best fix for this, to avoid removing the original fix for bug:
https://issues.civicrm.org/jira/browse/CRM-178595.34.0https://lab.civicrm.org/dev/core/-/issues/2125Group ids in profile fields are not correct2020-10-21T20:42:58ZseamusleeGroup ids in profile fields are not correctOverview
----------------------------------------
When adding the groups field onto the profiles the id that is used as part of the adding of the fields is not correct causing potential for DB errors
Reproduction steps
-----------------...Overview
----------------------------------------
When adding the groups field onto the profiles the id that is used as part of the adding of the fields is not correct causing potential for DB errors
Reproduction steps
----------------------------------------
1. Navigate to Profiles -> supporter profile fields
1. Go to fill in the supporter profile and select the Advisory Board
1. Find that the contact is not added to the group
Current behaviour
----------------------------------------
The field ids are in sequential order rather than the group id
Expected behaviour
----------------------------------------
The group id should be used in the fields
This seems to have regressed from this change https://github.com/civicrm/civicrm-core/commit/78d0090bf8b4b909564b806e40d4b3dd78720572#diff-c113d6099b62e0ddbf3876a74fbf756f7743590dd27397dec4ebf9b24dfca578R11265.30.1https://lab.civicrm.org/dev/core/-/issues/2121Option to rename the file before downloading2022-02-13T20:28:19Zshahrukh_compucorpOption to rename the file before downloadingOverview
----------------------------------------
CiviCRM has functionality to allow you to generate PDF letters.
The files that are being created throughout the system has a specific name depending on the nature of the file and does n...Overview
----------------------------------------
CiviCRM has functionality to allow you to generate PDF letters.
The files that are being created throughout the system has a specific name depending on the nature of the file and does not provide any option to rename the file.
As such the file downloaded and the file recorded on an activity record against a contact record is always called "CiviLetter.pdf".
This makes it difficult for users to know what the letter was for.
Problem statement
----------------------------------------
The key point is **not** the name of the file that is downloaded to your Computer, a user can obviously always change this after it is downloaded. The problem is that CiviCRM creates an activity with the file in the activity listing and the filename of the file that is created automatically by CiviCRM is also named "CiviLetter.pdf". This makes it impossible for a user to know what the file was once it was created. There is no way for the user to change this.
Example use-case
----------------------------------------
1. Go to activities tab in contact detail page.
2. Choose Print/Merge Document from New Activity menu.
3. Fill the form and Proceed to download or preview the document.
4. The name of the file will be CiviLetter.pdf
5. CiviCRM will create an activity with the new CiviLetter.pdf attached
6. Users will not know what the CiviLetter.pdf was about after it was created and there is no way to change the name of that file as a user.
Current behaviour
----------------------------------------
The downloaded file has always the same specific name and the PDF attached to the activity always has that name.
Proposed behaviour
----------------------------------------
The `postProcess` method in class `CRM/Contact/Form/Task/PDFLetterCommon.php` can be changed such that it looks for the filename field being posted and if it does find that field then it uses the field value for naming the downloading file otherwise it uses the activity subject and even that is empty then it falls back to default 'CiviLetter'. This way the processing for the filename will be added as a work in progress and the ui for it can be added later.5.42.0https://lab.civicrm.org/dev/core/-/issues/2120Do not attempt to obsolete primary key on log tables2021-01-03T20:28:57ZeileenDo not attempt to obsolete primary key on log tablesUnder some replication scenarios it is necessary to add an auto-increment primary key to log tables.
The log table reconciliation recognises these as 'obsolete' columns and attempt to make them NULLABLE. This is not a big problem in the...Under some replication scenarios it is necessary to add an auto-increment primary key to log tables.
The log table reconciliation recognises these as 'obsolete' columns and attempt to make them NULLABLE. This is not a big problem in the sense mysql ignores it - but since we upgraded mysql it has become sloooooowwww on upgrade - ie I'm 2 ours inn on our staging server ...5.33.0https://lab.civicrm.org/dev/core/-/issues/2119Possible regression on deleted contacts2022-03-03T16:58:47ZeileenPossible regression on deleted contactshttps://civicrm.stackexchange.com/questions/37931/mailing-to-a-contacts-in-a-group-deleted-contacts-were-included-to-the-list-ofhttps://civicrm.stackexchange.com/questions/37931/mailing-to-a-contacts-in-a-group-deleted-contacts-were-included-to-the-list-of5.30.1https://lab.civicrm.org/dev/core/-/issues/2118All my newly created contacts are from Afghanistan2020-10-15T19:10:45ZDaveDAll my newly created contacts are from AfghanistanSeems unlikely to be a coincidence.
Must be something recent in 5.31/master with the country dropdown. Can confirm it does not happen in 5.30.
It only happens if you have no default country set at civicrm/admin/setting/localization?res...Seems unlikely to be a coincidence.
Must be something recent in 5.31/master with the country dropdown. Can confirm it does not happen in 5.30.
It only happens if you have no default country set at civicrm/admin/setting/localization?reset=1
Simply go to create a contact and expand the address section. Afghanistan is now selected and the country field is required.5.31.0https://lab.civicrm.org/dev/core/-/issues/2110"Non-static method CRM_Contact_Page_AJAX::pdfFormat() should not be called st...2020-10-10T20:47:07ZDaveD"Non-static method CRM_Contact_Page_AJAX::pdfFormat() should not be called statically" when changing the page format on print/merge document1. It's a bit difficult to see the warning because it gets hidden somewhere during the ajax call. You can install the [loudnotices](https://lab.civicrm.org/extensions/loudnotices) extension to see it.
2. Go to admin - communications - pr...1. It's a bit difficult to see the warning because it gets hidden somewhere during the ajax call. You can install the [loudnotices](https://lab.civicrm.org/extensions/loudnotices) extension to see it.
2. Go to admin - communications - print page formats.
3. Add a format. Details don't matter.
4. Search for contributions.
5. Select one and from the actions dropdown choose Thank You letter.
6. Expand the Page Format section and change the format.
7. If you have loudnotices installed you can either check ConfigAndLog or on the network tab in browser dev tools check the response.
Or, just look at the function and see it's not static but it's a routing endpoint as defined at https://github.com/civicrm/civicrm-core/blob/7d6e6b8da43a5abcf1b24f205221ab13f4deea02/CRM/Core/xml/Menu/Contact.xml#L310
PR: https://github.com/civicrm/civicrm-core/pull/187265.32.0https://lab.civicrm.org/dev/core/-/issues/2109Greenwich buttons2020-10-09T23:31:44ZeileenGreenwich buttons@colemanw @totten the action button text disappears on search kit.... we should probably improve this - in 5.31 probably
![Screen_Shot_2020-10-09_at_4.16.53_PM](/uploads/f29dd63936aa7977c61b79e39a2343e8/Screen_Shot_2020-10-09_at_4.16.53...@colemanw @totten the action button text disappears on search kit.... we should probably improve this - in 5.31 probably
![Screen_Shot_2020-10-09_at_4.16.53_PM](/uploads/f29dd63936aa7977c61b79e39a2343e8/Screen_Shot_2020-10-09_at_4.16.53_PM.png)
![Screen_Shot_2020-10-09_at_4.16.59_PM](/uploads/a51a057e202c5c465b87e39a3a77b787/Screen_Shot_2020-10-09_at_4.16.59_PM.png)5.31.1https://lab.civicrm.org/dev/core/-/issues/2108Deprecation warnings when making thank-you letters2020-10-13T23:10:13ZDaveDDeprecation warnings when making thank-you lettersIn 5.31 and master only:
In a [recent commit](https://github.com/civicrm/civicrm-core/pull/17675/files#diff-f9397c2b103c68ffb588679b5d4784a2R377) you can no longer pass attributes to CRM_Core_Form::add() as a string. The PDF letters sti...In 5.31 and master only:
In a [recent commit](https://github.com/civicrm/civicrm-core/pull/17675/files#diff-f9397c2b103c68ffb588679b5d4784a2R377) you can no longer pass attributes to CRM_Core_Form::add() as a string. The PDF letters still do this though, so you get warnings like `User deprecated function: Attributes passed to CRM_Core_Form::add() are not an array. Array ( [civi.tag] => deprecated ) in CRM_Core_Error_Log->log() (line 58 of .../sites/all/modules/civicrm/CRM/Core/Error/Log.php)`.
These lines:
* CRM\Core\Form\Task\PDFLetterCommon.php(55)
* CRM\Core\Form\Task\PDFLetterCommon.php(71)
* CRM\Contribute\Form\Task\PDFLetter.php(100)
Also, I understand why it's a warning, just since it swallows the backtrace you then need to edit [the line in CRM_Core_Form](https://github.com/civicrm/civicrm-core/blob/8e499926de4a31182f3e8007789c325647417a16/CRM/Core/Form.php#L377) to log a backtrace instead to find the actual problem (in case others are also seeing similar warnings now and trying to track it down).5.31.0https://lab.civicrm.org/dev/core/-/issues/2105Drupal 7 - Groups children now get shown with SPAN CSS error2020-10-21T20:34:36ZRar9Drupal 7 - Groups children now get shown with SPAN CSS error
![Screenshot_3](/uploads/5cefdb274e847fcedd63ff54fb12f4bd/Screenshot_3.jpg)
Since 5.29.0 this error was introduced.
Its only present in **edit mode** and only present for CHILD Terms
Under View Contact Child groups get shown correctly.
![Screenshot_3](/uploads/5cefdb274e847fcedd63ff54fb12f4bd/Screenshot_3.jpg)
Since 5.29.0 this error was introduced.
Its only present in **edit mode** and only present for CHILD Terms
Under View Contact Child groups get shown correctly.5.30.0