Skip to content
Snippets Groups Projects
Commit dae8876f authored by totten's avatar totten Committed by GitHub
Browse files

Merge pull request #8973 from seamuslee001/CRM-19301

CRM-19301 fix dashboard upgrade for multilingual sites
parents 448b1f53 3abab0f8
No related branches found
No related tags found
No related merge requests found
......@@ -370,11 +370,24 @@ ALTER TABLE {$tableName}
/**
* @param string $tableName
* @param string $columnName
* @param bool $l18n
*
*/
public static function dropColumn($tableName, $columnName) {
public static function dropColumn($tableName, $columnName, $l18n = FALSE) {
if (self::checkIfFieldExists($tableName, $columnName)) {
$sql = "ALTER TABLE $tableName DROP COLUMN $columnName";
CRM_Core_DAO::executeQuery($sql);
if ($l18n) {
CRM_Core_DAO::executeQuery($sql);
}
else {
CRM_Core_DAO::executeQuery($sql, array(), TRUE, NULL, FALSE, FALSE);
}
$domain = new CRM_Core_DAO_Domain();
$domain->find(TRUE);
if ($domain->locales) {
$locales = explode(CRM_Core_DAO::VALUE_SEPARATOR, $domain->locales);
CRM_Core_I18n_Schema::rebuildMultilingualSchema($locales, NULL);
}
}
}
......
......@@ -786,6 +786,8 @@ FROM `civicrm_dashboard_contact` JOIN `civicrm_contact` WHERE civicrm_dashboard_
CRM_Core_DAO::executeQuery('DELETE c1 FROM civicrm_dashboard_contact c1, civicrm_dashboard_contact c2 WHERE c1.contact_id = c2.contact_id AND c1.dashboard_id = c2.dashboard_id AND c1.id > c2.id');
CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_dashboard_contact ADD UNIQUE INDEX index_dashboard_id_contact_id (dashboard_id, contact_id);');
}
$domain = new CRM_Core_DAO_Domain();
$domain->find(TRUE);
CRM_Core_BAO_SchemaHandler::dropColumn('civicrm_dashboard_contact', 'content');
CRM_Core_BAO_SchemaHandler::dropColumn('civicrm_dashboard_contact', 'is_minimized');
CRM_Core_BAO_SchemaHandler::dropColumn('civicrm_dashboard_contact', 'is_fullscreen');
......@@ -798,7 +800,12 @@ FROM `civicrm_dashboard_contact` JOIN `civicrm_contact` WHERE civicrm_dashboard_
CRM_Core_DAO::executeQuery('UPDATE civicrm_dashboard SET url = REPLACE(url, "&snippet=5", ""), fullscreen_url = REPLACE(fullscreen_url, "&snippet=5", "")');
if (!CRM_Core_BAO_SchemaHandler::checkIfFieldExists('civicrm_dashboard', 'cache_minutes')) {
CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_dashboard ADD COLUMN cache_minutes int unsigned NOT NULL DEFAULT 60 COMMENT "Number of minutes to cache dashlet content in browser localStorage."');
CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_dashboard ADD COLUMN cache_minutes int unsigned NOT NULL DEFAULT 60 COMMENT "Number of minutes to cache dashlet content in browser localStorage."',
array(), TRUE, NULL, FALSE, FALSE);
}
if ($domain->locales) {
$locales = explode(CRM_Core_DAO::VALUE_SEPARATOR, $domain->locales);
CRM_Core_I18n_Schema::rebuildMultilingualSchema($locales, NULL);
}
CRM_Core_DAO::executeQuery('UPDATE civicrm_dashboard SET cache_minutes = 1440 WHERE name = "blog"');
......
......@@ -15,7 +15,11 @@ UPDATE civicrm_dashboard SET name = 'allCases' WHERE (name IS NULL OR name = '')
UPDATE civicrm_dashboard SET name = 'casedashboard' WHERE (name IS NULL OR name = '') AND url LIKE "civicrm/dashlet/casedashboard?%";
-- CRM-19291 Fix names on dashlets where name is an empty string
{if $multilingual}
UPDATE civicrm_dashboard SET name = label_{$locales.0} WHERE name = '';
{else}
UPDATE civicrm_dashboard SET name = label WHERE name = '';
{/if}
-- CRM-18508 Display State/Province in event address in registration emails
{include file='../CRM/Upgrade/4.7.11.msg_template/civicrm_msg_template.tpl'}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment