From c1583b5a203487824d964ef0b6ec34046d46fe40 Mon Sep 17 00:00:00 2001 From: Erik Hommel <hommel@ee-atwork.nl> Date: Wed, 11 Mar 2015 12:14:41 +0100 Subject: [PATCH] added condition_params in DAO & BAO and removes for Action and Condition --- CRM/Civirules/DAO/RuleCondition.php | 5 +++++ CRM/Civirules/Form/Rule.php | 14 +++++++------- CRM/Civirules/Form/RuleAction.php | 6 ++++++ CRM/Civirules/Form/RuleCondition.php | 6 ++++++ sql/createCiviruleRuleCondition.sql | 1 + .../Civirules/Form/RuleBlocks/ActionBlock.tpl | 16 ++++++++++------ 6 files changed, 35 insertions(+), 13 deletions(-) diff --git a/CRM/Civirules/DAO/RuleCondition.php b/CRM/Civirules/DAO/RuleCondition.php index 7efc0e8..48ff27a 100755 --- a/CRM/Civirules/DAO/RuleCondition.php +++ b/CRM/Civirules/DAO/RuleCondition.php @@ -47,6 +47,10 @@ class CRM_Civirules_DAO_RuleCondition extends CRM_Core_DAO { 'name' => 'condition_id', 'type' => CRM_Utils_Type::T_INT ), + 'condition_params' => array( + 'name' => 'condition_params', + 'type' => CRM_Utils_Type::T_BLOB + ), 'is_active' => array( 'name' => 'is_active', 'type' => CRM_Utils_Type::T_INT, @@ -69,6 +73,7 @@ class CRM_Civirules_DAO_RuleCondition extends CRM_Core_DAO { 'rule_id' => 'rule_id', 'condition_link' => 'condition_link', 'condition_id' => 'condition_id', + 'condition_params' => 'condition_params', 'is_active' => 'is_active' ); } diff --git a/CRM/Civirules/Form/Rule.php b/CRM/Civirules/Form/Rule.php index 8f7fb42..c77b023 100755 --- a/CRM/Civirules/Form/Rule.php +++ b/CRM/Civirules/Form/Rule.php @@ -160,7 +160,7 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form { * @access protected */ protected function createFormElements() { - $this->add('hidden', 'id', ts('RuleId')); + $this->add('hidden', 'id', ts('RuleId'), array('id' => 'ruleId')); $this->add('text', 'rule_label', ts('Name'), array('size' => CRM_Utils_Type::HUGE), TRUE); $this->add('checkbox', 'rule_is_active', ts('Enabled')); $this->add('text', 'rule_created_date', ts('Created Date')); @@ -282,9 +282,9 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form { */ protected function setRuleConditionActions($ruleConditionId) { $conditionActions = array(); - $deleteUrl = CRM_Utils_System::url('civicrm/civirule/form/rulecondition', 'reset=1&action=delete&id='. - $ruleConditionId); - $conditionActions[] = '<a class="action-item" title="Delete" href="'.$deleteUrl.'">Remove</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>'; return $conditionActions; } @@ -297,9 +297,9 @@ class CRM_Civirules_Form_Rule extends CRM_Core_Form { */ protected function setRuleActionActions($ruleActionId) { $actionActions = array(); - $deleteUrl = CRM_Utils_System::url('civicrm/civirule/form/ruleaction', 'reset=1&action=delete&id='. - $ruleActionId); - $actionActions[] = '<a class="action-item" title="Delete" href="'.$deleteUrl.'">Remove</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>'; return $actionActions; } diff --git a/CRM/Civirules/Form/RuleAction.php b/CRM/Civirules/Form/RuleAction.php index d1917d2..cd74179 100644 --- a/CRM/Civirules/Form/RuleAction.php +++ b/CRM/Civirules/Form/RuleAction.php @@ -31,6 +31,12 @@ class CRM_Civirules_Form_RuleAction extends CRM_Core_Form { */ function preProcess() { $this->ruleId = CRM_Utils_Request::retrieve('rid', 'Integer'); + if ($this->_action == CRM_Core_Action::DELETE) { + $ruleActionId = CRM_Utils_Request::retrieve('id', 'Integer'); + CRM_Civirules_BAO_RuleAction::deleteWithId($ruleActionId); + $redirectUrl = CRM_Utils_System::url('civicrm/civirule/form/rule', 'action=update&id='.$this->ruleId, TRUE); + CRM_Utils_System::redirect($redirectUrl); + } } /** diff --git a/CRM/Civirules/Form/RuleCondition.php b/CRM/Civirules/Form/RuleCondition.php index 4b8e146..1fe93aa 100755 --- a/CRM/Civirules/Form/RuleCondition.php +++ b/CRM/Civirules/Form/RuleCondition.php @@ -31,6 +31,12 @@ class CRM_Civirules_Form_RuleCondition extends CRM_Core_Form { */ function preProcess() { $this->ruleId = CRM_Utils_Request::retrieve('rid', 'Integer'); + if ($this->_action == CRM_Core_Action::DELETE) { + $ruleConditionId = CRM_Utils_Request::retrieve('id', 'Integer'); + CRM_Civirules_BAO_RuleCondition::deleteWithId($ruleConditionId); + $redirectUrl = CRM_Utils_System::url('civicrm/civirule/form/rule', 'action=update&id='.$this->ruleId, TRUE); + CRM_Utils_System::redirect($redirectUrl); + } } /** diff --git a/sql/createCiviruleRuleCondition.sql b/sql/createCiviruleRuleCondition.sql index 9991493..f98d515 100755 --- a/sql/createCiviruleRuleCondition.sql +++ b/sql/createCiviruleRuleCondition.sql @@ -3,6 +3,7 @@ CREATE TABLE IF NOT EXISTS civirule_rule_condition ( rule_id INT UNSIGNED NULL, condition_link VARCHAR(3) NULL, condition_id INT UNSIGNED NULL, + condition_params BLOB, is_active TINYINT NULL DEFAULT 1, PRIMARY KEY (id), UNIQUE INDEX id_UNIQUE (id ASC), diff --git a/templates/CRM/Civirules/Form/RuleBlocks/ActionBlock.tpl b/templates/CRM/Civirules/Form/RuleBlocks/ActionBlock.tpl index ed4ef47..10b57d9 100755 --- a/templates/CRM/Civirules/Form/RuleBlocks/ActionBlock.tpl +++ b/templates/CRM/Civirules/Form/RuleBlocks/ActionBlock.tpl @@ -13,9 +13,11 @@ </tr> </thead> <tbody> - {assign var="row_class" value="odd-row"} + {assign var="rowClass" value="odd_row"} + {assign var="rowNumber" value=1} {foreach from=$ruleActions key=action_id item=ruleAction} - <tr id="row1" class={$row_class}> + <tr id="row_{$rowNumber}" class={$rowClass}> + <td hidden="1" id="ruleActionId">{$ruleAction.id}</td> <td>{$ruleAction.label}</td> {if !empty($ruleAction.action_params)} <td>{$ruleAction.action_params}</td> @@ -24,17 +26,18 @@ {/if} <td> <span> - {foreach from=$ruleAction.actions item=action_link} - {$action_link} + {foreach from=$ruleAction.actions item=actionLink} + {$actionLink} {/foreach} </span> </td> </tr> - {if $row_class eq "odd-row"} - {assign var="row_class" value="even-row"} + {if $row_class eq "odd_row"} + {assign var="rowClass" value="even-row"} {else} {assign var="row_class" value="odd-row"} {/if} + {assign var="rowNumber" value=$rowNumber+1} {/foreach} </tbody> </table> @@ -45,3 +48,4 @@ <span><div class="icon add-icon"></div>Add Action</span></a> </div> </div> + -- GitLab