Skip to content
Snippets Groups Projects
Commit 8b90f68b authored by Erik Hommel's avatar Erik Hommel
Browse files

added CiviRuleCondition api

parent df7f3bc8
Branches
Tags
No related merge requests found
......@@ -55,6 +55,9 @@ class CRM_Civirules_BAO_Condition extends CRM_Civirules_DAO_Condition {
$condition->$key = $value;
}
}
if (!isset($condition->name) || empty($condition->name)) {
$condition->name = CRM_Civirules_Utils::buildNameFromLabel($condition->label);
}
$condition->save();
self::storeValues($condition, $result);
return $result;
......
<?php
/**
* CiviRuleCondition.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_create_spec(&$spec) {
$spec['label']['api_required'] = 0;
$spec['name']['api_required'] = 0;
$spec['id']['api_required'] = 0;
$spec['class_name']['api_required'] = 0;
}
/**
* CiviRuleCondition.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_create($params) {
if (!isset($params['id']) && empty($params['label'])) {
return civicrm_api3_create_error('Label can not be empty when adding a new CiviRule Condition');
}
if (empty($params['class_name'])) {
return civicrm_api3_create_error('Class_name can not be empty');
}
/*
* set created or modified date and user_id
*/
$session = CRM_Core_Session::singleton();
$userId = $session->get('userID');
if (isset($params['id'])) {
$params['modified_date'] = date('Ymd');
$params['modified_user_id'] = $userId;
} else {
$params['created_date'] = date('Ymd');
$params['created_user_id'] = $userId;
}
$returnValues = CRM_Civirules_BAO_Condition::add($params);
return civicrm_api3_create_success($returnValues, $params, 'CiviRuleCondition', 'Create');
}
<?php
/**
* CiviRuleCondition.Get API
*
* @param array $params
* @return array API result descriptor
* @see civicrm_api3_create_success
* @see civicrm_api3_create_error
* @throws API_Exception
*/
function civicrm_api3_civi_rule_condition_get($params) {
$returnValues = CRM_Civirules_BAO_Condition::getValues($params);
return civicrm_api3_create_success($returnValues, $params, 'CiviRuleCondition', 'Get');
}
......@@ -73,7 +73,7 @@ function _validateParams($params) {
}
/**
* Function to check if className or Action/Entity are passed
* Function to check if className or Op/ObjectName are passed
*
* @param array $params
* @return bool
......
<?php
/**
* CiviRuleEvent.Create API specification (optional)
* CiviRuleRule.Create API specification (optional)
* This is used for documentation and validation.
*
* @param array $spec description of fields supported by this API call
......@@ -8,6 +8,9 @@
* @see http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
*/
function _civicrm_api3_civi_rule_rule_create_spec(&$spec) {
$spec['id']['api_required'] = 0;
$spec['label']['api_required'] = 0;
$spec['name']['api_required'] = 0;
$spec['event_id']['api_required'] = 1;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment