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

added edit links with conditions and actions

parent 9cb864d6
No related branches found
No related tags found
No related merge requests found
......@@ -104,7 +104,7 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form {
/*
* if add mode, set user context to form in edit mode to add conditions and actions
*/
if ($this->_action == CRM_Core_Action::ADD) {
if ($this->_action == CRM_Core_Action::ADD || $this->_action == CRM_Core_Action::UPDATE) {
$editUrl = CRM_Utils_System::url('civicrm/civirule/form/rule', 'action=update&id='.$this->ruleId, TRUE);
$session->pushUserContext($editUrl);
}
......@@ -290,12 +290,10 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form {
'rule_id' => $this->ruleId);
$ruleConditions = CRM_Civirules_BAO_RuleCondition::getValues($conditionParams);
foreach ($ruleConditions as $ruleConditionId => $ruleCondition) {
$ruleConditions[$ruleConditionId]['name'] =
CRM_Civirules_BAO_Condition::getConditionLabelWithId($ruleCondition['condition_id']);
$ruleConditions[$ruleConditionId]['actions'] = $this->setRuleConditionActions($ruleConditionId);
$conditionClass = CRM_Civirules_BAO_Condition::getConditionObjectById($ruleCondition['condition_id']);
$conditionClass->setRuleConditionData($ruleCondition);
$ruleConditions[$ruleConditionId]['name'] = CRM_Civirules_BAO_Condition::getConditionLabelWithId($ruleCondition['condition_id']);
$ruleConditions[$ruleConditionId]['actions'] = $this->setRuleConditionActions($ruleConditionId, $conditionClass);
$ruleConditions[$ruleConditionId]['formattedConditionParams'] = $conditionClass->userFriendlyConditionParams();
}
return $ruleConditions;
......@@ -313,12 +311,11 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form {
'rule_id' => $this->ruleId);
$ruleActions = CRM_Civirules_BAO_RuleAction::getValues($actionParams);
foreach ($ruleActions as $ruleActionId => $ruleAction) {
$ruleActions[$ruleActionId]['label'] =
CRM_Civirules_BAO_Action::getActionLabelWithId($ruleAction['action_id']);
$ruleActions[$ruleActionId]['actions'] = $this->setRuleActionActions($ruleActionId);
$actionClass = CRM_Civirules_BAO_Action::getActionObjectById($ruleAction['action_id']);
$actionClass->setRuleActionData($ruleAction);
$ruleActions[$ruleActionId]['label'] = CRM_Civirules_BAO_Action::getActionLabelWithId($ruleAction['action_id']);
$ruleActions[$ruleActionId]['actions'] = $this->setRuleActionActions($ruleActionId, $actionClass);
$ruleActions[$ruleActionId]['formattedConditionParams'] = $actionClass->userFriendlyConditionParams();
$ruleActions[$ruleActionId]['formattedDelay'] = '';
......@@ -334,11 +331,18 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form {
* Function to set the actions for each rule condition
*
* @param int $ruleConditionId
* @param CRM_Civirules_Condition $condition
* @return array
* @access protected
*/
protected function setRuleConditionActions($ruleConditionId) {
protected function setRuleConditionActions($ruleConditionId, CRM_Civirules_Condition $condition) {
$conditionActions = array();
$editUrl = $condition->getExtraDataInputUrl($ruleConditionId);
if (!empty($editUrl)) {
$conditionActions[] = '<a class="action-item" title="Edit" href="'.$editUrl.'">'.ts('Edit').'</a>';
}
$removeUrl = CRM_Utils_System::url('civicrm/civirule/form/rule_condition', 'reset=1&action=delete&rid='
.$this->ruleId.'&id='.$ruleConditionId);
$conditionActions[] = '<a class="action-item" title="Remove" href="'.$removeUrl.'">Remove</a>';
......@@ -349,11 +353,18 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form {
* Function to set the actions for each rule action
*
* @param int $ruleActionId
* @param CRM_Civirules_Action $action
* @return array
* @access protected
*/
protected function setRuleActionActions($ruleActionId) {
protected function setRuleActionActions($ruleActionId, CRM_Civirules_Action $action) {
$actionActions = array();
$editUrl = $action->getExtraDataInputUrl($ruleActionId);
if (!empty($editUrl)) {
$actionActions[] = '<a class="action-item" title="Edit" href="'.$editUrl.'">'.ts('Edit').'</a>';
}
$removeUrl = CRM_Utils_System::url('civicrm/civirule/form/rule_action', 'reset=1&action=delete&rid='
.$this->ruleId.'&id='.$ruleActionId);
$actionActions[] = '<a class="action-item" title="Remove" href="'.$removeUrl.'">Remove</a>';
......@@ -380,7 +391,7 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form {
}
$ruleParams['label'] = $formValues['rule_label'];
$ruleParams['name'] = CRM_Civirules_Utils::buildNameFromLabel($formValues['rule_label']);
$ruleParams['is_active'] = $formValues['rule_is_active'];
$ruleParams['is_active'] = $formValues['rule_is_active'] ? 1 : 0;
$savedRule = CRM_Civirules_BAO_Rule::add($ruleParams);
$this->ruleId = $savedRule['id'];
}
......
......@@ -56,6 +56,11 @@ class CRM_CivirulesActions_Form_Form extends CRM_Core_Form
$this->eventClass = CRM_Civirules_BAO_Event::getPostEventObjectByClassName($this->event->class_name, true);
$this->eventClass->setEventId($this->event->id);
//set user context
$session = CRM_Core_Session::singleton();
$editUrl = CRM_Utils_System::url('civicrm/civirule/form/rule', 'action=update&id='.$this->rule->id, TRUE);
$session->pushUserContext($editUrl);
parent::preProcess();
$this->setFormTitle();
......
......@@ -28,7 +28,7 @@ class CRM_CivirulesConditions_Contribution_TotalContributedAmount extends CRM_Ci
if ($periodEndDate) {
$sql .= " AND DATE(`receive_date`) <= '".$periodEndDate->format('Y-m-d')."'";
}
$total_amount = (float) CRM_Core_DAO::singleValueQuery($sql, $params);
return $total_amount;
}
......
......@@ -72,6 +72,11 @@ class CRM_CivirulesConditions_Form_Form extends CRM_Core_Form
parent::preProcess();
$this->setFormTitle();
//set user context
$session = CRM_Core_Session::singleton();
$editUrl = CRM_Utils_System::url('civicrm/civirule/form/rule', 'action=update&id='.$this->rule->id, TRUE);
$session->pushUserContext($editUrl);
}
/**
......
......@@ -44,6 +44,11 @@ class CRM_CivirulesEvent_Form_Form extends CRM_Core_Form
parent::preProcess();
$this->setFormTitle();
//set user context
$session = CRM_Core_Session::singleton();
$editUrl = CRM_Utils_System::url('civicrm/civirule/form/rule', 'action=update&id='.$this->rule->id, TRUE);
$session->pushUserContext($editUrl);
}
/**
......
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