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

update added label with condition parameters

parent ccd7e459
Branches
Tags
No related merge requests found
......@@ -145,7 +145,7 @@ class CRM_Civirules_BAO_Condition extends CRM_Civirules_DAO_Condition {
$condition->id = $condition_id;
if (!$condition->find(true)) {
if ($abort) {
throw new Exception('Could not find condition');
throw new Exception('CiviRule could not find condition');
}
return false;
}
......@@ -153,7 +153,7 @@ class CRM_Civirules_BAO_Condition extends CRM_Civirules_DAO_Condition {
$class_name = $condition->class_name;
if (!class_exists($class_name)) {
if ($abort) {
throw new Exception('Condition class ' . $class_name . ' does not exist');
throw new Exception('CiviRule condition class "' . $class_name . '" does not exist');
}
return false;
}
......@@ -161,7 +161,7 @@ class CRM_Civirules_BAO_Condition extends CRM_Civirules_DAO_Condition {
$object = new $class_name();
if (!$object instanceof CRM_Civirules_Condition) {
if ($abort) {
throw new Exception('Condition class ' . $class_name . ' is not a subclass of CRM_Civirules_Condition');
throw new Exception('CiviRule condition class "' . $class_name . '" is not a subclass of CRM_Civirules_Condition');
}
return false;
}
......
......@@ -46,7 +46,7 @@ class CRM_CivirulesConditions_AgeComparison extends CRM_CivirulesConditions_Gene
return '';
break;
}
return ts($label, array(1 => $this->getValue()));
return ts($label, array(1 => $this->getComparisonValue()));
}
}
\ No newline at end of file
......@@ -12,6 +12,8 @@ class CRM_CivirulesConditions_Form_ValueComparison extends CRM_Core_Form {
function buildQuickForm() {
$this->setFormTitle();
$this->add('hidden', 'rule_condition_id');
$this->add('select', 'operator', ts('Operator'), array(
'=' => ts('Is equal to'),
'!=' => ts('Is not equal to'),
......@@ -30,9 +32,11 @@ class CRM_CivirulesConditions_Form_ValueComparison extends CRM_Core_Form {
public function setDefaultValues() {
$data = array();
$defaultValues = array();
$defaultValues['rule_condition_id'] = $this->ruleConditionId;
$ruleCondition = new CRM_Civirules_BAO_RuleCondition();
$ruleCondition->id = $this->ruleConditionId;
if ($ruleCondition->find(true)) {
$data = CRM_Civirules_Utils_Parameters::convertFromMultiline($ruleCondition->condition_params);
$data = unserialize($ruleCondition->condition_params);
}
if (!empty($data['operator'])) {
$defaultValues['operator'] = $data['operator'];
......@@ -46,6 +50,7 @@ class CRM_CivirulesConditions_Form_ValueComparison extends CRM_Core_Form {
public function postProcess() {
$rule_id = 0;
$ruleCondition = new CRM_Civirules_BAO_RuleCondition();
$ruleCondition->id = $this->ruleConditionId;
$condition_label = '';
if ($ruleCondition->find(true)) {
$rule_id = $ruleCondition->rule_id;
......@@ -54,15 +59,14 @@ class CRM_CivirulesConditions_Form_ValueComparison extends CRM_Core_Form {
if ($condition->find(true)) {
$condition_label = $condition->label;
}
} else {
throw new Exception('Could not find rule condition');
}
$data['operator'] = $this->_submitValues['operator'];
$data['value'] = $this->_submitValues['values'];
$saveParams = array(
'id' => $this->ruleConditionId,
'condition_params' => CRM_Civirules_Utils_Parameters::convertToMultiline($data),
);
CRM_Civirules_BAO_RuleCondition::add($saveParams);
$data['value'] = $this->_submitValues['value'];
$ruleCondition->condition_params = serialize($data);
$ruleCondition->save();
$session = CRM_Core_Session::singleton();
$session->setStatus('Condition '.$condition_label.' parameters updated to CiviRule '.CRM_Civirules_BAO_Rule::getRuleLabelWithId($rule_id),
......@@ -74,6 +78,7 @@ class CRM_CivirulesConditions_Form_ValueComparison extends CRM_Core_Form {
protected function setFormTitle() {
$condition_label = '';
$ruleCondition = new CRM_Civirules_BAO_RuleCondition();
$ruleCondition->id = $this->ruleConditionId;
if ($ruleCondition->find(true)) {
$condition = new CRM_Civirules_BAO_Condition();
$condition->id = $ruleCondition->condition_id;
......
......@@ -8,7 +8,7 @@ abstract class CRM_CivirulesConditions_Generic_ValueComparison extends CRM_Civir
parent::setRuleConditionData($ruleCondition);
$this->condition_params = array();
if (!empty($this->ruleCondition['condition_params'])) {
$this->condition_params = CRM_Civirules_Utils_Parameters::convertFromMultiline($this->ruleCondition['condition_params']);
$this->condition_params = unserialize($this->ruleCondition['condition_params']);
}
}
......
......@@ -8,6 +8,7 @@
<thead>
<tr>
<th>{ts}Link operator{/ts}</th>
<th>{ts}Conidtion{/ts}</th>
<th>{ts}Description{/ts}</th>
<th>&nbsp;</th>
</tr>
......@@ -17,12 +18,8 @@
{foreach from=$ruleConditions key=ruleConditionIid item=ruleCondition}
<tr class={$row_class}>
<td>{$ruleCondition.condition_link}</td>
<td>
{$ruleCondition.name}
{if !empty($ruleCondition.formattedConditionParams)}
<br /><span>{$ruleCondition.formattedConditionParams}</span>
{/if}
</td>
<td>{$ruleCondition.name}</td>
<td>{if !empty($ruleCondition.formattedConditionParams)}{$ruleCondition.formattedConditionParams}{/if}</td>
<td>
<span>
{foreach from=$ruleCondition.actions item=action_link}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment