/** * @param $rev */ public function upgrade_4_1_alpha1($rev) { $config = CRM_Core_Config::singleton(); if (in_array('CiviCase', $config->enableComponents)) { if (!CRM_Case_BAO_Case::createCaseViews()) { $template = CRM_Core_Smarty::singleton(); $afterUpgradeMessage = ''; if ($afterUpgradeMessage = $template->get_template_vars('afterUpgradeMessage')) { $afterUpgradeMessage .= "<br/><br/>"; } $afterUpgradeMessage .= '<div class="crm-upgrade-case-views-error" style="background-color: #E43D2B; padding: 10px;">' . ts("There was a problem creating CiviCase database views. Please create the following views manually before using CiviCase:"); $afterUpgradeMessage .= '<div class="crm-upgrade-case-views-query"><div>' . CRM_Case_BAO_Case::createCaseViewsQuery('upcoming') . '</div><div>' . CRM_Case_BAO_Case::createCaseViewsQuery('recent') . '</div>' . '</div></div>'; $template->assign('afterUpgradeMessage', $afterUpgradeMessage); } } $upgrade = new CRM_Upgrade_Form(); $upgrade->processSQL($rev); $this->transferPreferencesToSettings(); $this->createNewSettings(); // now modify the config so that the directories are now stored in the settings table // CRM-8780 $params = array(); CRM_Core_BAO_ConfigSetting::add($params); // also reset navigation CRM_Core_BAO_Navigation::resetNavigation(); }
/** * (Setting Callback) * Respond to changes in the "enable_components" setting * * If CiviCase is being enabled, load the case related sample data * * @param array $oldValue * List of component names. * @param array $newValue * List of component names. * @param array $metadata * Specification of the setting (per *.settings.php). */ public static function onToggleComponents($oldValue, $newValue, $metadata) { if (in_array('CiviCase', $newValue) && (!$oldValue || !in_array('CiviCase', $oldValue))) { $pathToCaseSampleTpl = __DIR__ . '/xml/configuration.sample/'; CRM_Admin_Form_Setting_Component::loadCaseSampleData($pathToCaseSampleTpl . 'case_sample.mysql.tpl'); if (!CRM_Case_BAO_Case::createCaseViews()) { $msg = ts("Could not create the MySQL views for CiviCase. Your mysql user needs to have the 'CREATE VIEW' permission"); CRM_Core_Error::fatal($msg); } } }
/** * (Setting Callback) * Respond to changes in the "enable_components" setting * * If CiviCase is being enabled, load the case related sample data * * @param array $oldValue List of component names * @param array $newValue List of component names * @param array $metadata Specification of the setting (per *.settings.php) */ public static function onToggleComponents($oldValue, $newValue, $metadata) { if (in_array('CiviCase', $newValue) && (!$oldValue || !in_array('CiviCase', $oldValue))) { $config = CRM_Core_Config::singleton(); CRM_Admin_Form_Setting_Component::loadCaseSampleData($config->dsn, $config->sqlDir . 'case_sample.mysql'); CRM_Admin_Form_Setting_Component::loadCaseSampleData($config->dsn, $config->sqlDir . 'case_sample1.mysql'); if (!CRM_Case_BAO_Case::createCaseViews()) { $msg = ts("Could not create the MySQL views for CiviCase. Your mysql user needs to have the 'CREATE VIEW' permission"); CRM_Core_Error::fatal($msg); } } }
public function postProcess() { $params = $this->controller->exportValues($this->_name); $params['enableComponentIDs'] = array(); foreach ($params['enableComponents'] as $name) { $params['enableComponentIDs'][] = $this->_components[$name]->componentID; } // if CiviCase is being enabled, // load the case related sample data if (in_array('CiviCase', $params['enableComponents']) && !in_array('CiviCase', $this->_defaults['enableComponents'])) { $config = CRM_Core_Config::singleton(); CRM_Admin_Form_Setting_Component::loadCaseSampleData($config->dsn, $config->sqlDir . 'case_sample.mysql'); CRM_Admin_Form_Setting_Component::loadCaseSampleData($config->dsn, $config->sqlDir . 'case_sample1.mysql'); if (!CRM_Case_BAO_Case::createCaseViews()) { CRM_Core_Error::fatal('Could not create Case views.'); } } parent::commonProcess($params); // reset navigation when components are enabled / disabled CRM_Core_BAO_Navigation::resetNavigation(); }