X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCase%2FInfo.php;h=02bb0e043c933ab43c0394504840329d2a15f5b5;hb=e6d720bbf88d57a626aeaf0269a2c3ee51025e76;hp=c9183e5f6306d537d0758fd70d69cb403c39b6ed;hpb=a5af58bcf2ca094903fb19fb511392aeaf788c16;p=civicrm-core.git diff --git a/CRM/Case/Info.php b/CRM/Case/Info.php index c9183e5f63..02bb0e043c 100644 --- a/CRM/Case/Info.php +++ b/CRM/Case/Info.php @@ -152,5 +152,31 @@ class CRM_Case_Info extends CRM_Core_Component_Info { } } } + + /** + * (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); + } + } + } }