Skip to content
Snippets Groups Projects
Commit f5911ac4 authored by jaapjansma's avatar jaapjansma
Browse files

update case type condition was not compatible with civi 4.4

parent 80b0faa1
No related branches found
No related tags found
No related merge requests found
......@@ -35,12 +35,11 @@ class CRM_CivirulesActions_Case_Form_SetDateField extends CRM_CivirulesActions_F
*/
public function setDefaultValues() {
$defaultValues = parent::setDefaultValues();
$data = unserialize($this->ruleAction->action_params);
if (!empty($data['field'])) {
$defaultValues['field'] = $data['field'];
}
$data = unserialize($this->ruleAction->action_params);
foreach(CRM_Civirules_Delay_Factory::getAllDelayClasses() as $delay_class) {
$delay_class->setDefaultValues($defaultValues, 'date', $this->rule);
}
......
......@@ -29,15 +29,16 @@ class CRM_CivirulesActions_Case_SetDateFieldOnCase extends CRM_Civirules_Action
if ($isCustomField) {
if ($date instanceof DateTime) {
$params[$field] = $date->format('Ymd His');
$params[$field] = $date->format('Ymd');
$params['entity_id'] = $case['id'];
civicrm_api('CustomValue', 'create', $params);
civicrm_api3('CustomValue', 'create', $params);
}
} else {
}
else {
if ($date instanceof DateTime) {
$params[$field] = $date->format('Ymd His');
$params[$field] = $date->format('Ymd');
$params['id'] = $case['id'];
civicrm_api('Case', 'create', $params);
civicrm_api3('Case', 'create', $params);
}
}
}
......
......@@ -66,7 +66,7 @@ class CRM_CivirulesConditions_Case_CaseType extends CRM_Civirules_Condition {
*/
public function userFriendlyConditionParams() {
try {
$caseTypes = civicrm_api3('CaseType', 'Get', array('is_active' => 1));
$caseTypes = self::getCaseTypes();
$operator = null;
if ($this->conditionParams['operator'] == 0) {
$operator = 'equals';
......@@ -74,15 +74,32 @@ class CRM_CivirulesConditions_Case_CaseType extends CRM_Civirules_Condition {
if ($this->conditionParams['operator'] == 1) {
$operator = 'is not equal to';
}
foreach ($caseTypes['values'] as $caseType) {
if ($caseType['id'] == $this->conditionParams['case_type_id']) {
return "Case Type ".$operator." ".$caseType['title'];
}
$case_type_id = $this->conditionParams['case_type_id'];
if (isset($caseTypes[$case_type_id])) {
return "Case Type ".$operator." ".$caseTypes[$case_type_id];
}
} catch (CiviCRM_API3_Exception $ex) {}
return '';
}
public static function getCaseTypes() {
$return = array();
$version = CRM_Core_BAO_Domain::version();
if (version_compare($version, '4.5', '<')) {
$option_group_id = civicrm_api3('OptionGroup', 'getvalue', array('return' => 'id', 'name' => 'case_type'));
$caseTypes = civicrm_api3('OptionValue', 'Get', array('option_group_id' => $option_group_id));
foreach ($caseTypes['values'] as $caseType) {
$return[$caseType['value']] = $caseType['label'];
}
} else {
$caseTypes = civicrm_api3('CaseType', 'Get', array('is_active' => 1));
foreach ($caseTypes['values'] as $caseType) {
$return[$caseType['id']] = $caseType['title'];
}
}
return $return;
}
/**
* Returns an array with required entity names
*
......
......@@ -4,12 +4,7 @@
class CRM_CivirulesConditions_Form_Case_CaseType extends CRM_CivirulesConditions_Form_Form {
protected function getCaseTypes() {
$caseTypes = civicrm_api3('CaseType', 'Get', array('is_active' => 1));
$return = array();
foreach($caseTypes['values'] as $caseType) {
$return[$caseType['id']] = $caseType['title'];
}
return $return;
return CRM_CivirulesConditions_Case_CaseType::getCaseTypes();
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment