Ejemplo n.º 1
0
 /**
  * @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();
 }
Ejemplo n.º 2
0
 /**
  * (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);
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * (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();
 }