From ac6cda92a5e3c538c6a02b3b932b5b278fc0aac4 Mon Sep 17 00:00:00 2001 From: Jaap Jansma <jaap@edeveloper.nl> Date: Fri, 13 Mar 2015 11:27:21 +0100 Subject: [PATCH] moved conditions and actions to managed entities --- CRM/Civirules/Upgrader.php | 8 ------ CRM/CivirulesConditions/AgeComparison.mgd.php | 17 ++++++++++++ .../BirthdayChanged.mgd.php | 17 ++++++++++++ .../ContributionAmount.mgd.php | 17 ++++++++++++ .../ContributionFinancialType.mgd.php | 17 ++++++++++++ .../ContributionStatus.mgd.php | 17 ++++++++++++ .../FirstContribution.mgd.php | 17 ++++++++++++ .../PrimaryEmailChanged.mgd.php | 17 ++++++++++++ api/v3/CiviRuleAction/Delete.php | 26 +++++++++++++++++++ api/v3/CiviRuleCondition/Delete.php | 26 +++++++++++++++++++ 10 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 CRM/CivirulesConditions/AgeComparison.mgd.php create mode 100644 CRM/CivirulesConditions/BirthdayChanged.mgd.php create mode 100644 CRM/CivirulesConditions/ContributionAmount.mgd.php create mode 100644 CRM/CivirulesConditions/ContributionFinancialType.mgd.php create mode 100644 CRM/CivirulesConditions/ContributionStatus.mgd.php create mode 100644 CRM/CivirulesConditions/FirstContribution.mgd.php create mode 100644 CRM/CivirulesConditions/PrimaryEmailChanged.mgd.php create mode 100644 api/v3/CiviRuleAction/Delete.php create mode 100644 api/v3/CiviRuleCondition/Delete.php diff --git a/CRM/Civirules/Upgrader.php b/CRM/Civirules/Upgrader.php index 51a6e22..e410315 100755 --- a/CRM/Civirules/Upgrader.php +++ b/CRM/Civirules/Upgrader.php @@ -19,14 +19,6 @@ class CRM_Civirules_Upgrader extends CRM_Civirules_Upgrader_Base { $this->executeSqlFile('sql/createCiviruleRuleAction.sql'); $this->executeSqlFile('sql/createCiviruleRuleCondition.sql'); $this->executeSqlFile('sql/createCiviruleRuleLog.sql'); - - $this->addCondition('CRM_CivirulesConditions_PrimaryEmailChanged', 'primary_email_changed', ts('Primary e-mail addres is changed')); - $this->addCondition('CRM_CivirulesConditions_AgeComparison', 'age_comparison', ts('Age comparison')); - $this->addCondition('CRM_CivirulesConditions_BirthdayChanged', 'birthday_changed', ts('Birthday changed')); - $this->addCondition('CRM_CivirulesConditions_FirstContribution', 'first_contribution_of_contact', ts('First Contribution of a Contact')); - $this->addCondition('CRM_CivirulesConditions_ContributionStatus', 'contribution_status', ts('Contribution status')); - $this->addCondition('CRM_CivirulesConditions_ContributionFinancialType', 'contribution_financial_type', ts('Contribution financial type')); - $this->addCondition('CRM_CivirulesConditions_ContributionAmount', 'contribution_total_amount', ts('Contribution total amount')); } protected function addCondition($class_name, $name, $label) { diff --git a/CRM/CivirulesConditions/AgeComparison.mgd.php b/CRM/CivirulesConditions/AgeComparison.mgd.php new file mode 100644 index 0000000..8cafd36 --- /dev/null +++ b/CRM/CivirulesConditions/AgeComparison.mgd.php @@ -0,0 +1,17 @@ +<?php + +return array ( + 0 => + array ( + 'name' => 'Civirules:Condition.AgeComparison', + 'entity' => 'CiviRuleCondition', + 'params' => + array ( + 'version' => 3, + 'name' => 'age_comparison', + 'label' => 'Age comparison', + 'class_name' => 'CRM_CivirulesConditions_AgeComparison', + 'is_active' => 1 + ), + ), +); \ No newline at end of file diff --git a/CRM/CivirulesConditions/BirthdayChanged.mgd.php b/CRM/CivirulesConditions/BirthdayChanged.mgd.php new file mode 100644 index 0000000..b5d25d4 --- /dev/null +++ b/CRM/CivirulesConditions/BirthdayChanged.mgd.php @@ -0,0 +1,17 @@ +<?php + +return array ( + 0 => + array ( + 'name' => 'Civirules:Condition.BirthdayChanged', + 'entity' => 'CiviRuleCondition', + 'params' => + array ( + 'version' => 3, + 'name' => 'birthday_changed', + 'label' => 'Birthday changed', + 'class_name' => 'CRM_CivirulesConditions_BirthdayChanged', + 'is_active' => 1 + ), + ), +); \ No newline at end of file diff --git a/CRM/CivirulesConditions/ContributionAmount.mgd.php b/CRM/CivirulesConditions/ContributionAmount.mgd.php new file mode 100644 index 0000000..84aca1c --- /dev/null +++ b/CRM/CivirulesConditions/ContributionAmount.mgd.php @@ -0,0 +1,17 @@ +<?php + +return array ( + 0 => + array ( + 'name' => 'Civirules:Condition.ContributionAmount', + 'entity' => 'CiviRuleCondition', + 'params' => + array ( + 'version' => 3, + 'name' => 'contribution_total_amount', + 'label' => 'Contribution total amount', + 'class_name' => 'CRM_CivirulesConditions_ContributionAmount', + 'is_active' => 1 + ), + ), +); \ No newline at end of file diff --git a/CRM/CivirulesConditions/ContributionFinancialType.mgd.php b/CRM/CivirulesConditions/ContributionFinancialType.mgd.php new file mode 100644 index 0000000..f402691 --- /dev/null +++ b/CRM/CivirulesConditions/ContributionFinancialType.mgd.php @@ -0,0 +1,17 @@ +<?php + +return array ( + 0 => + array ( + 'name' => 'Civirules:Condition.ContributionFinancialType', + 'entity' => 'CiviRuleCondition', + 'params' => + array ( + 'version' => 3, + 'name' => 'contribution_financial_type', + 'label' => 'Birthday changed', + 'class_name' => 'Contribution financial type', + 'is_active' => 1 + ), + ), +); \ No newline at end of file diff --git a/CRM/CivirulesConditions/ContributionStatus.mgd.php b/CRM/CivirulesConditions/ContributionStatus.mgd.php new file mode 100644 index 0000000..ae89849 --- /dev/null +++ b/CRM/CivirulesConditions/ContributionStatus.mgd.php @@ -0,0 +1,17 @@ +<?php + +return array ( + 0 => + array ( + 'name' => 'Civirules:Condition.ContributionStatus', + 'entity' => 'CiviRuleCondition', + 'params' => + array ( + 'version' => 3, + 'name' => 'contribution_status', + 'label' => 'Contribution status', + 'class_name' => 'CRM_CivirulesConditions_ContributionStatus', + 'is_active' => 1 + ), + ), +); \ No newline at end of file diff --git a/CRM/CivirulesConditions/FirstContribution.mgd.php b/CRM/CivirulesConditions/FirstContribution.mgd.php new file mode 100644 index 0000000..626c359 --- /dev/null +++ b/CRM/CivirulesConditions/FirstContribution.mgd.php @@ -0,0 +1,17 @@ +<?php + +return array ( + 0 => + array ( + 'name' => 'Civirules:Condition.FirstContribution', + 'entity' => 'CiviRuleCondition', + 'params' => + array ( + 'version' => 3, + 'name' => 'first_contribution_of_contact', + 'label' => 'First Contribution of a Contact', + 'class_name' => 'CRM_CivirulesConditions_FirstContribution', + 'is_active' => 1 + ), + ), +); \ No newline at end of file diff --git a/CRM/CivirulesConditions/PrimaryEmailChanged.mgd.php b/CRM/CivirulesConditions/PrimaryEmailChanged.mgd.php new file mode 100644 index 0000000..f485ff6 --- /dev/null +++ b/CRM/CivirulesConditions/PrimaryEmailChanged.mgd.php @@ -0,0 +1,17 @@ +<?php + +return array ( + 0 => + array ( + 'name' => 'Civirules:Condition.PrimaryEmailChanged', + 'entity' => 'CiviRuleCondition', + 'params' => + array ( + 'version' => 3, + 'name' => 'primary_email_changed', + 'label' => 'Primary e-mail address is changed', + 'class_name' => 'CRM_CivirulesConditions_PrimaryEmailChanged', + 'is_active' => 1 + ), + ), +); \ No newline at end of file diff --git a/api/v3/CiviRuleAction/Delete.php b/api/v3/CiviRuleAction/Delete.php new file mode 100644 index 0000000..6a0c37f --- /dev/null +++ b/api/v3/CiviRuleAction/Delete.php @@ -0,0 +1,26 @@ +<?php +/** + * CiviRuleAction.Create API specification (optional) + * This is used for documentation and validation. + * + * @param array $spec description of fields supported by this API call + * @return void + * @see http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards + */ +function _civicrm_api3_civi_rule_action_delete_spec(&$spec) { + $spec['id']['api_required'] = 0; +} + +/** + * CiviRuleAction.Create API + * + * @param array $params + * @return array API result descriptor + * @see civicrm_api3_create_success + * @see civicrm_api3_create_error + */ +function civicrm_api3_civi_rule_action_delete($params) { + CRM_Civirules_BAO_Action::deleteWithId($params['id']); + $returnValues[$params['id']] = array(); + return civicrm_api3_create_success($returnValues, $params, 'CiviRuleAction', 'Create'); +} diff --git a/api/v3/CiviRuleCondition/Delete.php b/api/v3/CiviRuleCondition/Delete.php new file mode 100644 index 0000000..cb4c7af --- /dev/null +++ b/api/v3/CiviRuleCondition/Delete.php @@ -0,0 +1,26 @@ +<?php +/** + * CiviRuleAction.Create API specification (optional) + * This is used for documentation and validation. + * + * @param array $spec description of fields supported by this API call + * @return void + * @see http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards + */ +function _civicrm_api3_civi_rule_condition_delete_spec(&$spec) { + $spec['id']['api_required'] = 0; +} + +/** + * CiviRuleAction.Create API + * + * @param array $params + * @return array API result descriptor + * @see civicrm_api3_create_success + * @see civicrm_api3_create_error + */ +function civicrm_api3_civi_rule_condition_delete($params) { + CRM_Civirules_BAO_Condition::deleteWithId($params['id']); + $returnValues[$params['id']] = array(); + return civicrm_api3_create_success($returnValues, $params, 'CiviRuleAction', 'Create'); +} -- GitLab