Skip to content
Snippets Groups Projects
Commit d8df9906 authored by colemanw's avatar colemanw
Browse files

Allow event api to create event from a template

parent 21150aae
Branches
Tags
No related merge requests found
......@@ -42,7 +42,6 @@
/**
* Files required for this package
*/
require_once 'CRM/Event/BAO/Event.php';
/**
* Create a Event
......@@ -57,17 +56,28 @@ require_once 'CRM/Event/BAO/Event.php';
* @access public
*/
function civicrm_api3_event_create($params) {
civicrm_api3_verify_one_mandatory($params, NULL, array('event_type_id', 'template_id'));
// Clone event from template
if (!empty($params['template_id']) && empty($params['id'])) {
$copy = CRM_Event_BAO_Event::copy($params['template_id']);
$params['id'] = $copy->id;
unset($params['template_id']);
if (empty($params['is_template'])) {
$params['is_template'] = 0;
}
}
_civicrm_api3_event_create_legacy_support_42($params);
//format custom fields so they can be added
$value = array();
$values = array();
_civicrm_api3_custom_format_params($params, $values, 'Event');
$params = array_merge($values, $params);
require_once 'CRM/Event/BAO/Event.php';
$eventBAO = CRM_Event_BAO_Event::create($params);
$event = array();
_civicrm_api3_object_to_array($eventBAO, $event[$eventBAO->id]);
$event = array();
_civicrm_api3_object_to_array($eventBAO, $event[$eventBAO->id]);
return civicrm_api3_create_success($event, $params);
}
......@@ -78,7 +88,6 @@ function civicrm_api3_event_create($params) {
* @param array $params array or parameters determined by getfields
*/
function _civicrm_api3_event_create_spec(&$params) {
$params['event_type_id']['api.required'] = 1;;
$params['start_date']['api.required'] = 1;
$params['title']['api.required'] = 1;
$params['is_active']['api.default'] = 1;
......@@ -116,7 +125,7 @@ function civicrm_api3_event_get($params) {
unset($params['return.sort']);
}
//legacy support for $params['return.sort']
//legacy support for $params['return.offset']
if (CRM_Utils_Array::value('return.offset', $params)) {
$params['options']['offset'] = $params['return.offset'];
unset($params['return.offset']);
......@@ -213,7 +222,6 @@ function civicrm_api3_event_delete($params) {
*
*/
function _civicrm_api3_event_getisfull(&$event, $event_id) {
require_once 'CRM/Event/BAO/Participant.php';
$eventFullResult = CRM_Event_BAO_Participant::eventFull($event_id, 1);
if (!empty($eventFullResult) && is_int($eventFullResult)) {
$event[$event_id]['available_places'] = $eventFullResult;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment