Development issueshttps://lab.civicrm.org/groups/dev/-/issues2020-08-28T01:22:17Zhttps://lab.civicrm.org/dev/core/-/issues/1937Upgrading a site that still has "mysql" in the dsn string breaks in latest ma...2020-08-28T01:22:17ZDaveDUpgrading a site that still has "mysql" in the dsn string breaks in latest masterI think it's partly because of https://github.com/civicrm/civicrm-packages/pull/302 but more because I remember once seeing something somewhere that civi silently converted mysql to mysqli for you, and maybe that has also been removed so...I think it's partly because of https://github.com/civicrm/civicrm-packages/pull/302 but more because I remember once seeing something somewhere that civi silently converted mysql to mysqli for you, and maybe that has also been removed somewhere. While reviewing it maybe I missed it.
The fix is easy, just update your DSN in civicrm.settings.php to explicitly say "mysqli".
The technical issue is that without that silent conversion, it ends up trying to load php-mysql. It's just confusing at first because the error is `extension not found`, which makes you think "Civi Extension", but it means php extension.
Going to label it regression, but it's not the usual type of regression and it just started yesterday.5.30.0https://lab.civicrm.org/dev/core/-/issues/1936When Contribution Page has no labels (just amounts) -> the Review and Thank y...2020-08-20T00:52:10ZKarinGWhen Contribution Page has no labels (just amounts) -> the Review and Thank you and Receipt all show string - null in ESR 5.27.4 AND dmaster [Regression]
Upgrading from 5.21.3 (previous ESR) to 5.27.4 (current ESR)
**To reproduce:**
Create a Contribution page -> Amounts section: fill in Amounts without Labels -> that produces:
![image](/uploads/e50c31e6542fe83feb249a8b321f4081/image.png...
Upgrading from 5.21.3 (previous ESR) to 5.27.4 (current ESR)
**To reproduce:**
Create a Contribution page -> Amounts section: fill in Amounts without Labels -> that produces:
![image](/uploads/e50c31e6542fe83feb249a8b321f4081/image.png)
Hit Review your Contribution button
**Before (5.21.3) -> all good**
![image](/uploads/45ca387ee6c46c0c14d2fea712ee657b/image.png)
**After (5.27.4) -> **
![image](/uploads/3300ecc0248bc39aff646a3d2916afb2/image.png)
the `null` is visible on Review, Thank you and Receipt.
**Quick solution:** hide label with CSS5.27.5https://lab.civicrm.org/dev/core/-/issues/1934Merging Contacts causes DB Error: Already Exists - conflict on setting table2020-09-03T20:15:33ZsadashivMerging Contacts causes DB Error: Already Exists - conflict on setting tableOverview
----------------------------------------
After upgrading my civicrm from 4.7.31 to 5.27.0 I found that merging contacts breaks. It no longer merges the contacts but shows DB Error: Already Exist as shown in the snapshot.
Repro...Overview
----------------------------------------
After upgrading my civicrm from 4.7.31 to 5.27.0 I found that merging contacts breaks. It no longer merges the contacts but shows DB Error: Already Exist as shown in the snapshot.
Reproduction steps
----------------------------------------
1. Click on **Contacts -> New Individual**.
2. Entered **First Name** and **Last Name** and clicked **Save**.
3. Follow same steps and create one more contact which is a duplicate.
4. Check if both contacts have a navigation entry in the civicrm_setting table
5. Click on **Search -> Find Contacts**.
6. Search by the name and locate the duplicates
7. Click on merge contact
8. Click merge
9. Got an error "**DB error**".
Current behaviour
----------------------------------------
![Screen_Shot_2020-08-04_at_2.57.24_PM](/uploads/0939bd069e2b722d1f0f5275692a4a9c/Screen_Shot_2020-08-04_at_2.57.24_PM.png)
Backtrace from ConfigLogs
```
Aug 06 04:12:23 [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
) [code] => -5
[message] => DB Error: already exists
[mode] => 16
[debug_info] => UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714 [nativecode=1062 ** Duplicate entry '1-244336-navigation' for key 'index_domain_contact_name']
[type] => DB_Error
[user_info] => UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714 [nativecode=1062 ** Duplicate entry '1-244336-navigation' for key 'index_domain_contact_name']
[to_string] => [db_error: message="DB Error: already exists" code=-5 mode=callback callback=CRM_Core_Error::handle prefix="" info="UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714 [nativecode=1062 ** Duplicate entry '1-244336-navigation' for key 'index_domain_contact_name']"]
)
Aug 06 04:12:23 [debug] $backTrace = #0 /var/www/html/sites/all/modules/civicrm/CRM/Core/Error.php(205): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/html/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(922): CRM_Core_Error::handle(Object(DB_Error))
#2 /var/www/html/sites/all/modules/civicrm/packages/DB.php(998): PEAR_Error->__construct("DB Error: already exists", -5, 16, (Array:2), "UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714 [nat...")
#3 /var/www/html/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-5, 16, (Array:2), "UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714 [nat...")
#4 /var/www/html/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -5, 16, (Array:2), "UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714 [nat...", "DB_Error", TRUE)
#5 /var/www/html/sites/all/modules/civicrm/packages/DB/common.php(1925): PEAR->__call("raiseError", (Array:7))
#6 /var/www/html/sites/all/modules/civicrm/packages/DB/mysqli.php(935): DB_common->raiseError(-5, NULL, NULL, "UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714 [nat...", "1062 ** Duplicate entry '1-244336-navigation' for key 'index_domain_contact_n...")
#7 /var/www/html/sites/all/modules/civicrm/packages/DB/mysqli.php(405): DB_mysqli->mysqliRaiseError()
#8 /var/www/html/sites/all/modules/civicrm/packages/DB/common.php(1231): DB_mysqli->simpleQuery("UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714")
#9 /var/www/html/sites/all/modules/civicrm/packages/DB/DataObject.php(2696): DB_common->query("UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714")
#10 /var/www/html/sites/all/modules/civicrm/packages/DB/DataObject.php(1829): DB_DataObject->_query("UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714")
#11 /var/www/html/sites/all/modules/civicrm/CRM/Core/DAO.php(421): DB_DataObject->query("UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714")
#12 /var/www/html/sites/all/modules/civicrm/CRM/Core/DAO.php(1473): CRM_Core_DAO->query("UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714", TRUE)
#13 /var/www/html/sites/all/modules/civicrm/CRM/Dedupe/Merger.php(563): CRM_Core_DAO::executeQuery("UPDATE civicrm_setting SET contact_id = 244336 WHERE contact_id = 243714", (Array:0), TRUE, NULL, TRUE)
#14 /var/www/html/sites/all/modules/civicrm/CRM/Dedupe/Merger.php(1316): CRM_Dedupe_Merger::moveContactBelongings(Object(CRM_Dedupe_MergeHandler), (Array:12), (Array:0))
#15 /var/www/html/sites/all/modules/civicrm/CRM/Contact/Form/Merge.php(308): CRM_Dedupe_Merger::moveAllBelongings(244336, 243714, (Array:74))
#16 /var/www/html/sites/all/modules/civicrm/CRM/Core/Form.php(484): CRM_Contact_Form_Merge->postProcess()
#17 /var/www/html/sites/all/modules/civicrm/CRM/Core/StateMachine.php(144): CRM_Core_Form->mainProcess()
#18 /var/www/html/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Next.php(45): CRM_Core_StateMachine->perform(Object(CRM_Contact_Form_Merge), "next", "Next")
#19 /var/www/html/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Contact_Form_Merge), "next")
#20 /var/www/html/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Merge), "next")
#21 /var/www/html/sites/all/modules/civicrm/CRM/Core/Controller.php(335): HTML_QuickForm_Page->handle("next")
#22 /var/www/html/sites/all/modules/civicrm/CRM/Utils/Wrapper.php(98): CRM_Core_Controller->run()
#23 /var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php(285): CRM_Utils_Wrapper->run("CRM_Contact_Form_Merge", "Merge Contact", (Array:0))
#24 /var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php(68): CRM_Core_Invoke::runItem((Array:13))
#25 /var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
#26 /var/www/html/sites/all/modules/civicrm/drupal/civicrm.module(454): CRM_Core_Invoke::invoke((Array:3))
#27 /var/www/html/includes/menu.inc(527): civicrm_invoke("contact", "merge")
#28 /var/www/html/index.php(21): menu_execute_active_handler()
#29 {main}
```
Expected behaviour
----------------------------------------
Contact should be merged
Environment information
----------------------------------------
* __Browser:__ Tried on Firefox and chrome both
* __CiviCRM:__ Tried with 5.27.0
* __PHP:__ Tested with 7.2
* __CMS:__ Drupal 7.32
* __Database:__ MySQL 5.7.7
* __Web Server:__ Apache 2.4
Comments
----------------------------------------
Issue seems to be related to https://github.com/civicrm/civicrm-core/commit/bbc11d1920687d2e88c0fd24697032fd9a1b673f as reverting this change fixes this issue.5.28.1https://lab.civicrm.org/dev/core/-/issues/1933Failed scheduled reminders should log message somewhere more useful2021-12-16T14:06:16ZAndy ClarkFailed scheduled reminders should log message somewhere more usefulOverview
----------------------------------------
A failed schedule reminder should log the error in a place that the end user can see why it failed.
Example use-case
----------------------------------------
A schedule reminder is set u...Overview
----------------------------------------
A failed schedule reminder should log the error in a place that the end user can see why it failed.
Example use-case
----------------------------------------
A schedule reminder is set up to send an SMS to a contact with a bad phone number. The reminder will fail, and a message will be added to table civicrm_action_log. The user who set up the reminder will not know whether it failed, or why, since they cannot view database tables.
Proposed behaviour
----------------------------------------
I propose a couple of alternatives:
1. The error message should be logged as an activity, either against the creator of the schedule reminder or the target. Then the user can check for this.
Or
2. The error message should be written to the system log, so at least someone with the 'Log Viewer' extension could see it.
Comments
----------------------------------------
My preference would be the first of the alternatives. There are a number of questions on SE about analysing failed Schedule Reminders - this would be a help with that.5.46.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/1930Contact merge form moves unchecked related entities2020-08-06T02:48:40ZPatrick Figelpfigel@greenpeace.orgContact merge form moves unchecked related entitiesWhile reviewing [this PR](https://github.com/civicrm/civicrm-core/pull/17981), I noticed that on latest master, the contact merge form moves related entities (e.g. contributions) even if the corresponding "Move related..." checkbox is un...While reviewing [this PR](https://github.com/civicrm/civicrm-core/pull/17981), I noticed that on latest master, the contact merge form moves related entities (e.g. contributions) even if the corresponding "Move related..." checkbox is unchecked.
I was able to reproduce this with all entities other than memberships (which has some special handling in the code, IIRC).
Not sure when exactly this regressed, but I was able to confirm it worked on 5.24.6.5.28.0https://lab.civicrm.org/dev/core/-/issues/1928Collapsed custom field set for activities with a required radio makes case ac...2020-09-18T15:11:46ZDaveDCollapsed custom field set for activities with a required radio makes case activity buttons seem disabledMight be from the recent jquery radio validation update. Haven't followed it through yet. Not even sure if it's specific to radio yet.
1. Create a custom fieldset for activities.
1. Make it apply to all activity types (not relevant just...Might be from the recent jquery radio validation update. Haven't followed it through yet. Not even sure if it's specific to radio yet.
1. Create a custom fieldset for activities.
1. Make it apply to all activity types (not relevant just makes this quicker).
1. Make it collapsed by default.
1. Add a radio field.
1. Make it required.
1. Administer - Customize - Display Prefs - Turn off popups (near the bottom). (Only relevant because then you can see the issue for all case activities - when it's on you only notice it for open case/creating a case.)
1. Create a case.
1. Fill out the client, subject, and case type but leave the collapsed custom field section collapsed.
1. Click Save. It appears as though nothing happened, but if you open the custom fieldset you can see why.5.29.0https://lab.civicrm.org/dev/core/-/issues/1927upgrade to 5.28.beta1 fails2020-08-05T01:07:06ZPradeep Nayakpradpnayak@gmail.comupgrade to 5.28.beta1 failsWith Contact types shown in below screenshot the upgrade fails with below error
![Screen_Shot_2020-08-04_at_23.55.00](/uploads/ff0affbc704cfabe4a4fea2b7f379161/Screen_Shot_2020-08-04_at_23.55.00.png)
```
Aug 04 23:51:52 [error] $Fat...With Contact types shown in below screenshot the upgrade fails with below error
![Screen_Shot_2020-08-04_at_23.55.00](/uploads/ff0affbc704cfabe4a4fea2b7f379161/Screen_Shot_2020-08-04_at_23.55.00.png)
```
Aug 04 23:51:52 [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comment 'Internal name of Contact Type (or Subtype).' [nativecode=1138 ** Invalid use of NULL value]
[type] => DB_Error
[user_info] => ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comment 'Internal name of Contact Type (or Subtype).' [nativecode=1138 ** Invalid use of NULL value]
[to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comment 'Internal name of Contact Type (or Subtype).' [nativecode=1138 ** Invalid use of NULL value]"]
)
Aug 04 23:51:52 [debug] $backTrace = #0 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Core/Error.php(937): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(922): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#2 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB.php(998): PEAR_Error->__construct("DB Error: unknown error", -1, 16, (Array:2), "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#3 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-1, 16, (Array:2), "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#4 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -1, 16, (Array:2), "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...", "DB_Error", TRUE)
#5 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/common.php(1925): PEAR->__call("raiseError", (Array:7))
#6 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/mysqli.php(936): DB_common->raiseError(-1, NULL, NULL, "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...", "1138 ** Invalid use of NULL value")
#7 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/mysqli.php(406): DB_mysqli->mysqliRaiseError()
#8 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/common.php(1231): DB_mysqli->simpleQuery("ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#9 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Utils/File.php(350): DB_common->query("ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#10 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Form.php(155): CRM_Utils_File::runSqlQuery("mysql://root:root@127.0.0.1:3306/civi_dru_crm?new_link=true", "-- https://github.com/civicrm/civicrm-core/pull/17579\nALTER TABLE `civicrm_n...", NULL)
#11 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Form.php(350): CRM_Upgrade_Form->source("-- https://github.com/civicrm/civicrm-core/pull/17579\nALTER TABLE `civicrm_n...", TRUE)
#12 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Form.php(384): CRM_Upgrade_Form->processLocales("/Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Increm...", "5.28.alpha1")
#13 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Incremental/Base.php(66): CRM_Upgrade_Form->processSQL("5.28.alpha1")
#14 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Task.php(74): CRM_Upgrade_Incremental_Base::runSql(Object(CRM_Queue_TaskContext), "5.28.alpha1")
#15 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Runner.php(202): CRM_Queue_Task->run(Object(CRM_Queue_TaskContext))
#16 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php(36): CRM_Queue_Runner->runNext(TRUE)
#17 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/ErrorPolicy.php(90): CRM_Queue_Page_AJAX::{closure}()
#18 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php(38): CRM_Queue_ErrorPolicy->call(Object(Closure))
#19 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(278): CRM_Queue_Page_AJAX::runNext()
#20 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(68): CRM_Core_Invoke::runItem((Array:13))
#21 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:5))
#22 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/drupal/civicrm.module(454): CRM_Core_Invoke::invoke((Array:5))
#23 /Users/pradeep/Sites/civi-drupal/includes/menu.inc(527): civicrm_invoke("upgrade", "queue", "ajax", "runNext")
#24 /Users/pradeep/Sites/civi-drupal/index.php(21): menu_execute_active_handler()
#25 {main}
Aug 04 23:51:52 [info] $CRM_Queue_Page_AJAX_runNext_error = PEAR_Exception: "DB Error: unknown error"
* ERROR TYPE: DB_Error
* ERROR CODE: -1
* ERROR MESSAGE: DB Error: unknown error
* ERROR MODE: 16
* ERROR USERINFO: ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comment 'Internal name of Contact Type (or Subtype).' [nativecode=1138 ** Invalid use of NULL value]
* ERROR DEBUGINFO: ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comment 'Internal name of Contact Type (or Subtype).' [nativecode=1138 ** Invalid use of NULL value]
#0 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(922): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#1 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB.php(998): PEAR_Error->__construct("DB Error: unknown error", -1, 16, (Array:2), "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#2 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-1, 16, (Array:2), "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#3 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -1, 16, (Array:2), "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...", "DB_Error", TRUE)
#4 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/common.php(1925): PEAR->__call("raiseError", (Array:7))
#5 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/mysqli.php(936): DB_common->raiseError(-1, NULL, NULL, "ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...", "1138 ** Invalid use of NULL value")
#6 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/mysqli.php(406): DB_mysqli->mysqliRaiseError()
#7 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/packages/DB/common.php(1231): DB_mysqli->simpleQuery("ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#8 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Utils/File.php(350): DB_common->query("ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comme...")
#9 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Form.php(155): CRM_Utils_File::runSqlQuery("mysql://root:root@127.0.0.1:3306/civi_dru_crm?new_link=true", "-- https://github.com/civicrm/civicrm-core/pull/17579\nALTER TABLE `civicrm_n...", NULL)
#10 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Form.php(350): CRM_Upgrade_Form->source("-- https://github.com/civicrm/civicrm-core/pull/17579\nALTER TABLE `civicrm_n...", TRUE)
#11 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Form.php(384): CRM_Upgrade_Form->processLocales("/Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Increm...", "5.28.alpha1")
#12 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Upgrade/Incremental/Base.php(66): CRM_Upgrade_Form->processSQL("5.28.alpha1")
#13 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Task.php(74): CRM_Upgrade_Incremental_Base::runSql(Object(CRM_Queue_TaskContext), "5.28.alpha1")
#14 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Runner.php(202): CRM_Queue_Task->run(Object(CRM_Queue_TaskContext))
#15 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php(36): CRM_Queue_Runner->runNext(TRUE)
#16 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/ErrorPolicy.php(90): CRM_Queue_Page_AJAX::{closure}()
#17 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php(38): CRM_Queue_ErrorPolicy->call(Object(Closure))
#18 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(278): CRM_Queue_Page_AJAX::runNext()
#19 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(68): CRM_Core_Invoke::runItem((Array:13))
#20 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:5))
#21 /Users/pradeep/Sites/civi-drupal/sites/all/modules/civicrm/drupal/civicrm.module(454): CRM_Core_Invoke::invoke((Array:5))
#22 /Users/pradeep/Sites/civi-drupal/includes/menu.inc(527): civicrm_invoke("upgrade", "queue", "ajax", "runNext")
#23 /Users/pradeep/Sites/civi-drupal/index.php(21): menu_execute_active_handler()
#24 {main}
```
Caused problem from PR https://github.com/civicrm/civicrm-core/pull/17570
`ALTER TABLE civicrm_contact_type CHANGE name name varchar(64) not null comment 'Internal name of Contact Type (or Subtype).';` is executed from 5.28.alpha1.mysql.tpl just before populateMissingContactTypeName() is called in [upgrade_5_28_alpha1()](https://github.com/civicrm/civicrm-core/blob/master/CRM/Upgrade/Incremental/php/FiveTwentyEight.php#L89)5.28.0https://lab.civicrm.org/dev/user-interface/-/issues/25Unable to delete file with brackets in filename via ckeditor/kcfinder2021-01-06T21:32:13ZPhilipp MichaelUnable to delete file with brackets in filename via ckeditor/kcfinderIf you try to delete a file inside ckeditor via kcfinder you get an "Unknown error." if the file name contains brackets. Those brackets are generated during upload if a file with the same name already exists (e.g `foo(1).jpg`).
Steps to...If you try to delete a file inside ckeditor via kcfinder you get an "Unknown error." if the file name contains brackets. Those brackets are generated during upload if a file with the same name already exists (e.g `foo(1).jpg`).
Steps to reproduce:
1. Open a form which contains a text field with ckeditor (e.g. create an event)
2. Click on the link button of the ckeditor toolbar
3. Click on "Browse Server" to open kcfinder
4. Download a file via its context menu
5. Upload this downloaded file again
6. Note that the file is uploaded with brackets in its name
7. Try do delete this file via its context menu
8. Note message "Unknown error." and that the file has not been deleted
So in short you can not delete files which were renamed during upload because of already existing file names.5.34.0https://lab.civicrm.org/dev/drupal/-/issues/131Error: Class 'CRM_Upgrade_Incremental_General' not found in Civi\Install\Requ...2020-08-05T11:04:31ZRob_SError: Class 'CRM_Upgrade_Incremental_General' not found in Civi\Install\Requirements->checkMysqlVersion()Hi, I am getting this error message with Civi installed on a Drupal 8 site:
Error: Class 'CRM_Upgrade_Incremental_General' not found in Civi\Install\Requirements->checkMysqlVersion()
(line 294 of [path]/vendor/civicrm/civicrm-core/Civi/...Hi, I am getting this error message with Civi installed on a Drupal 8 site:
Error: Class 'CRM_Upgrade_Incremental_General' not found in Civi\Install\Requirements->checkMysqlVersion()
(line 294 of [path]/vendor/civicrm/civicrm-core/Civi/Install/Requirements.php)
I'm currently on 5.26.2. The problem happened a couole of upgrades back - sorry I cannot remember what versions I was upgrading from and too, but it is kept up to date.
The problem only really manifests when I run the Drupal update.php script (essential after upgrading core and modules), plus also on other rare occasions like once when I had to rebuild the permissions.
I have checked and the CRM_Upgrade_Incremental_General class is there, and the file permissions look ok, so I am guessing the problem is with the class loader, but I do not have any experience of how this works. I would be greatful if someone could give me a tip on how to fix this?
I can get round it for now by putting a 'return' statement at the beginning of the relevant function in the Requirements.php file, so can run the upgrade script, so it is not urgent.5.28.0https://lab.civicrm.org/dev/core/-/issues/1922Downloaded Invoice activity attaches non wkhtmltopdf invoice2020-09-02T17:39:25ZDevAppDownloaded Invoice activity attaches non wkhtmltopdf invoiceWhen using wkhtmltopdf as the PDF engine, the invoices are emailed / printed correctly.
However, when an invoice is downloaded, it creates an activity against the contact with a copy of the invoice attached to the activity. This invoic...When using wkhtmltopdf as the PDF engine, the invoices are emailed / printed correctly.
However, when an invoice is downloaded, it creates an activity against the contact with a copy of the invoice attached to the activity. This invoice appears to not use the wkhtmltopdf engine, so the copy displays wrong.
When I turned off wkhtmltopdf, the invoice then appears the same. Bug appears to be downloaded invoice activity isn't using the wkhtmltopdf engine when specified.
![invoice_-_printed_emailed](/uploads/cc3ed15c0470d91f8ba57a187221f0bc/invoice_-_printed_emailed.png)
![invoice_-_downloaded](/uploads/646eef8b8a96949d8fbafd7a1df10290/invoice_-_downloaded.png)
![invoice_downloaded_activity](/uploads/049377a00c4c67db09b6b41f75a8002d/invoice_downloaded_activity.png)5.29.0https://lab.civicrm.org/dev/core/-/issues/1920Help text bubble is empty and smarty errors when .hlp file is missing for set...2021-02-17T20:06:07ZDaveDHelp text bubble is empty and smarty errors when .hlp file is missing for settings formsFor example Administer - CiviMail - Mailer Settings.
I think this is related to the move towards generic settings in https://lab.civicrm.org/dev/core/-/issues/495, but at the moment looking at the related code it looks like help_text st...For example Administer - CiviMail - Mailer Settings.
I think this is related to the move towards generic settings in https://lab.civicrm.org/dev/core/-/issues/495, but at the moment looking at the related code it looks like help_text still depends on there being a corresponding .hlp file in the templates folder.
Even when there is help_text in the definition, it comes out like `<a class="helpicon" title=" Help" aria-label=" Help" href="#" onclick="CRM.help("", {"id":"civimail-sync-interval-id","file":"CRM\/Admin\/Form\/Setting\/Mail"}); return false;"> </a>`5.31.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/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/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/1913Add in hook to allow for altering of Profile Schemas2020-08-13T00:10:00ZseamusleeAdd in hook to allow for altering of Profile SchemasOverview
----------------------------------------
in 5.24.0 a new hook was added in that allowed for extensions to modify which fields can be added to Profiles https://github.com/civicrm/civicrm-core/pull/16655 However that didn't extend...Overview
----------------------------------------
in 5.24.0 a new hook was added in that allowed for extensions to modify which fields can be added to Profiles https://github.com/civicrm/civicrm-core/pull/16655 However that didn't extend to what fields can be available within the profile editing modal / schemas.
I propose a new hook profileSchemas which would allow extensions to modify the profileSchemas used in the backbone.marionette modal5.30.0https://lab.civicrm.org/dev/core/-/issues/1912Weird "null" in mailing recipient group list2023-06-23T03:51:55ZDaveDWeird "null" in mailing recipient group list![null](/uploads/0c8e6691c31580ceb2cc621df015fe93/null.png)
Can reproduce on dmaster.demo. I don't see it in 5.22 but do see it in 5.24 and up. Don't have a 5.23 handy.
1. Create at least 2 groups with the mailing list checkbox checked...![null](/uploads/0c8e6691c31580ceb2cc621df015fe93/null.png)
Can reproduce on dmaster.demo. I don't see it in 5.22 but do see it in 5.24 and up. Don't have a 5.23 handy.
1. Create at least 2 groups with the mailing list checkbox checked.
1. Go to New Mailing.
1. Pick one group.
1. Open the group dropdown again and scroll down.
1. It even lets you select it.
In drupal watchdog there is this:
`Location: http://example.com/civicrm/ajax/rest?entity=Mailing&action=getlist&json=%7B%22input%22%3A%22%22%2C%22page_num%22%3A1%2C%22params%22%3A%7B%22is_hidden%22%3A0%2C%22is_active%22%3A1%2C%22options%22%3A%7B%22sort%22%3A%22is_archived+asc%2C+scheduled_date+desc%22%7D%7D%2C%22api.MailingRecipients.getcount%22%3A%7B%7D%7D`
`Notice: Undefined index: name in _civicrm_api3_generic_getlist_output() (line 191 of .../api/v3/Generic/Getlist.php).`
This might be violating a higher mathematical law here too - it's not possible to exclude the null set, since the null set is a subset of every set. (Source: Math)5.64.0https://lab.civicrm.org/dev/core/-/issues/1911Saving the contribution amounts tab removes the default-iness of the default ...2020-07-27T00:32:20ZDaveDSaving the contribution amounts tab removes the default-iness of the default amount when using fixed amount options. Or editing any price field that is not type text1. On a stock demo install, just save the amounts tab of the "Help Support CiviCRM" contribution page without making any changes.
2. The default of "Booster $10" is no longer checked.
3. Visiting the live contribution page has no default...1. On a stock demo install, just save the amounts tab of the "Help Support CiviCRM" contribution page without making any changes.
2. The default of "Booster $10" is no longer checked.
3. Visiting the live contribution page has no default amount checked, and clicking Review Your Contribution does nothing. There's no javascript errors in the browser console.
This seems to have started in 5.27. Note there is a slight difference between 5.27 and 5.28: In 5.27 clicking the Review button at least does something, whereas in 5.28/5.29 it doesn't.5.27.4