Merge pull request #1923 from civicrm/4.3
[civicrm-core.git] / api / v3 / ReportTemplate.php
index 86d748ccb3f77f6c9836f50582342b31f992cab1..5129dec72816081eac65eb36622d6b7113002655 100644 (file)
@@ -38,6 +38,10 @@ function civicrm_api3_report_template_create($params) {
   $params['option_group_id'] = CRM_Core_DAO::getFieldValue(
     'CRM_Core_DAO_OptionGroup', 'report_template', 'id', 'name'
   );
+  if (!empty($params['component_id']) && !is_numeric($params['component_id'])) {
+    $components = CRM_Core_PseudoConstant::get('CRM_Core_DAO_OptionValue', 'component_id', array('onlyActive' => FALSE, 'labelColumn' => 'name'));
+    $params['component_id'] = array_search($params['component_id'], $components);
+  }
   return civicrm_api3_option_value_create($params);
 }
 
@@ -50,9 +54,11 @@ function civicrm_api3_report_template_create($params) {
 function _civicrm_api3_report_template_create_spec(&$params) {
   require_once 'api/v3/OptionValue.php';
   _civicrm_api3_option_value_create_spec($params);
-  $params['weight']['api.default'] = 'next';
   $params['value']['api.aliases'] = array('report_url');
   $params['name']['api.aliases'] = array('class_name');
+  $params['option_group_id']['api.default'] = CRM_Core_DAO::getFieldValue(
+    'CRM_Core_DAO_OptionGroup', 'report_template', 'id', 'name'
+  );
   // $params['component']['api.required'] = TRUE;
 }