From 3ddd2901088c2707fcd363ca81d489d17231b8b0 Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Mon, 6 Jun 2016 23:07:44 +1000 Subject: [PATCH] Attempt to fix upgrade and keep activity tab filter settings --- CRM/Upgrade/Incremental/php/FourSeven.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CRM/Upgrade/Incremental/php/FourSeven.php b/CRM/Upgrade/Incremental/php/FourSeven.php index dc20d25476..7ec97f95e4 100644 --- a/CRM/Upgrade/Incremental/php/FourSeven.php +++ b/CRM/Upgrade/Incremental/php/FourSeven.php @@ -254,11 +254,27 @@ class CRM_Upgrade_Incremental_php_FourSeven extends CRM_Upgrade_Incremental_Base // Nav records are expendable. https://forum.civicrm.org/index.php?topic=36933.0 CRM_Core_DAO::executeQuery('DELETE FROM civicrm_setting WHERE contact_id IS NOT NULL AND name = "navigation"'); + + // Handle Strange activity_tab_filter settings. + CRM_Core_DAO::executeQuery('CREATE TABLE civicrm_activity_setting LIKE civicrm_setting'); + CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_activity_setting DROP INDEX index_group_name'); + CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_activity_setting DROP COLUMN group_name'); + CRM_Core_DAO::executeQuery('INSERT INTO civicrm_activity_setting (name, contact_id, domain_id, value) + SELECT DISTNCT name, contact_id, domain_id, value + FROM civicrm_setting + WHERE name = "activity_tab_filter" + AND value is not NULL'); CRM_Core_DAO::executeQuery('DELETE FROM civicrm_setting WHERE name = "activity_tab_filter"'); CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_setting DROP INDEX index_group_name'); CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_setting DROP COLUMN group_name'); CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_setting ADD UNIQUE INDEX index_domain_contact_name (domain_id, contact_id, name)'); + CRM_Core_DAO::executeQuery('INSERT INTO civicrm_setting (name, contact_id, domain_id, value) + SELECT DISTNCT name, contact_id, domain_id, value + FROM civicrm_activity_setting + WHERE name = "activity_tab_filter" + AND value is not NULL'); + CRM_Core_DAO::executeQuery('DROP TABLE civicrm_activity_setting'); $domainDao = CRM_Core_DAO::executeQuery('SELECT id, config_backend FROM civicrm_domain'); while ($domainDao->fetch()) { -- 2.25.1