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

remove columns from Action and skeleton CiviRuleAction apis

parent c7f46de7
No related branches found
No related tags found
No related merge requests found
...@@ -135,7 +135,7 @@ class CRM_Civirules_BAO_Action extends CRM_Civirules_DAO_Action { ...@@ -135,7 +135,7 @@ class CRM_Civirules_BAO_Action extends CRM_Civirules_DAO_Action {
* Get the action class for this condition * Get the action class for this condition
* *
* @param $actionId * @param $actionId
* @param bool $abort if true this function will throw an exception if class could not be instanciated * @param bool $abort if true this function will throw an exception if class could not be instantiated
* @return CRM_Civirules_Action * @return CRM_Civirules_Action
* @throws Exception if abort is set to true and class does not exist or is not valid * @throws Exception if abort is set to true and class does not exist or is not valid
*/ */
......
...@@ -44,20 +44,6 @@ class CRM_Civirules_DAO_Action extends CRM_Core_DAO { ...@@ -44,20 +44,6 @@ class CRM_Civirules_DAO_Action extends CRM_Core_DAO {
'type' => CRM_Utils_Type::T_STRING, 'type' => CRM_Utils_Type::T_STRING,
'maxlength' => 128, 'maxlength' => 128,
), ),
'api_entity' => array(
'name' => 'api_entity',
'type' => CRM_Utils_Type::T_STRING,
'maxlength' => 45,
),
'api_action' => array(
'name' => 'api_action',
'type' => CRM_Utils_Type::T_STRING,
'maxlength' => 45,
) ,
'action_params' => array(
'name' => 'action_params',
'type' => CRM_Utils_Type::T_BLOB,
),
'class_name' => array( 'class_name' => array(
'name' => 'class_name', 'name' => 'class_name',
'type' => CRM_Utils_Type::T_STRING, 'type' => CRM_Utils_Type::T_STRING,
...@@ -100,9 +86,6 @@ class CRM_Civirules_DAO_Action extends CRM_Core_DAO { ...@@ -100,9 +86,6 @@ class CRM_Civirules_DAO_Action extends CRM_Core_DAO {
'id' => 'id', 'id' => 'id',
'name' => 'name', 'name' => 'name',
'label' => 'label', 'label' => 'label',
'api_entity' => 'api_entity',
'api_action' => 'api_action',
'action_params' => 'action_params',
'class_name' => 'class+name', 'class_name' => 'class+name',
'is_active' => 'is_active', 'is_active' => 'is_active',
'created_date' => 'created_date', 'created_date' => 'created_date',
......
<?php
/**
* CiviRuleEvent.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_create_spec(&$spec) {
$spec['label']['api_required'] = 1;
$spec['name']['api_required'] = 0;
$spec['object_name']['api_required'] = 0;
$spec['op']['api_required'] = 0;
$spec['class_name']['api_required'] = 0;
}
/**
* CiviRuleEvent.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_event_create($params) {
$errorMessage = _validateParams($params);
if (!empty($errorMessage)) {
return civicrm_api3_create_error($errorMessage);
}
$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_Event::add($params);
return civicrm_api3_create_success($returnValues, $params, 'CiviRuleEvent', 'Create');
}
/**
* Function to validate parameters
*
* @param array $params
* @return string $errorMessage
*/
function _validateParams($params) {
$errorMessage = '';
if (!isset($params['id']) && empty($params['label'])) {
return ts('Label can not be empty when adding a new CiviRule Event');
}
if (_checkClassNameObjectNameOperation($params) == FALSE) {
return ts('Either class_name or a combination of object_name and op is mandatory');
}
if (isset($params['cron']) && $params['cron'] == 1) {
$params['object_name'] = null;
$params['op'] = null;
if (!isset($params['class_name']) || empty($params['class_name'])) {
return ts('For a cron type event the class_name is mandatory');
}
}
if (isset($params['object_name']) && !empty($params['object_name'])) {
$extensionConfig = CRM_Civirules_Config::singleton();
if (!in_array($params['object_name'], $extensionConfig->getValidEventObjectNames())) {
return ts('ObjectName passed in parameters ('.$params['object_name']
.')is not a valid object for a CiviRule Event');
}
}
if (isset($params['op']) && !empty($params['op'])) {
$extensionConfig = CRM_Civirules_Config::singleton();
if (!in_array($params['op'], $extensionConfig->getValidEventOperations())) {
return ts('Operation passed in parameters ('.$params['op']
.')is not a valid operation for a CiviRule Event');
}
}
if (CRM_Civirules_BAO_Event::eventExists($params) == TRUE) {
return ts('There is already an event for this class_name or combination of object_name and op');
}
return $errorMessage;
}
/**
* Function to check if className or Op/ObjectName are passed
*
* @param array $params
* @return bool
*/
function _checkClassNameObjectNameOperation($params) {
if (isset($params['class_name']) && !empty($params['class_name'])) {
if (!isset($params['object_name']) && !isset($params['op'])) {
return TRUE;
} else {
if (empty($params['object_name']) && empty($params['op'])) {
return TRUE;
}
}
}
if (isset($params['object_name']) && isset($params['op']) && !empty($params['object_name']) && !empty($params['op'])) {
if (!isset($params['class_name']) || empty($params['class_name'])) {
return TRUE;
}
}
return FALSE;
}
<?php
/**
* CiviRuleAction.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_action_get($params) {
$returnValues = CRM_Civirules_BAO_Action::getValues($params);
return civicrm_api3_create_success($returnValues, $params, 'CiviRuleAction', 'Get');
}
...@@ -2,9 +2,6 @@ CREATE TABLE IF NOT EXISTS civirule_action ( ...@@ -2,9 +2,6 @@ CREATE TABLE IF NOT EXISTS civirule_action (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(80) NULL, name VARCHAR(80) NULL,
label VARCHAR(128) NULL, label VARCHAR(128) NULL,
api_entity VARCHAR(45) NULL,
api_action VARCHAR(45) NULL,
action_params BLOB NULL,
class_name VARCHAR(128) NULL, class_name VARCHAR(128) NULL,
is_active TINYINT NULL DEFAULT 1, is_active TINYINT NULL DEFAULT 1,
created_date DATE NULL, created_date DATE NULL,
......
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