/** * (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); } } }
/** * (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); } } }
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(); }