CRM-16178 - Additional sugar in api.getoption
authorColeman Watts <coleman@civicrm.org>
Sun, 29 Mar 2015 22:05:46 +0000 (18:05 -0400)
committerColeman Watts <coleman@civicrm.org>
Sun, 29 Mar 2015 22:05:46 +0000 (18:05 -0400)
CRM/Core/Form.php
api/v3/Generic.php

index bd6205f91f7395167f3c731fd193ae0ed399f8ce..a9554e944dffdff341aeeafad96d3a171265297c 100644 (file)
@@ -1175,7 +1175,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       $props['action'] = $this->getApiAction();
     }
     // Get field metadata.
-    $fieldSpec = civicrm_api3($props['entity'], 'getfield', array('options' => array('get_options' => 1)) + $props);
+    $fieldSpec = civicrm_api3($props['entity'], 'getfield', $props);
     $fieldSpec = $fieldSpec['values'];
 
     $label = CRM_Utils_Array::value('label', $props, $fieldSpec['title']);
index 703c23ca7c6671667c6029385c7d57302d9856b4..da1754236bed6359f7ac5122b3fcb38858822f45 100644 (file)
@@ -221,12 +221,10 @@ function civicrm_api3_generic_getfield($apiRequest) {
   }
   // Turn off sequential to make the field easier to find
   $apiRequest['params']['sequential'] = 0;
-  if (!empty($params['options']['get_options'])) {
+  if (isset($params['get_options'])) {
+    $apiRequest['params']['options']['get_options_context'] = $params['get_options'];
     $apiRequest['params']['options']['get_options'] = $fieldName;
   }
-  if (isset($params['context'])) {
-    $apiRequest['params']['options']['get_options_context'] = $params['context'];
-  }
   $result = civicrm_api3_generic_getfields($apiRequest, FALSE);
   $result = $result['values'][$fieldName];
   // Fix sequential options since we forced it off
@@ -251,11 +249,12 @@ function _civicrm_api3_generic_getfield_spec(&$params, $apiRequest) {
       'type' => CRM_Utils_Type::T_STRING,
       'api.aliases' => array('api_action'),
     ),
-    'context' => array(
-      'title' => 'Context',
-      'description' => 'Context passed to getoptions. Only relevant if options.get_options is set.',
+    'get_options' => array(
+      'title' => 'Get Options',
+      'description' => 'Context for which to get field options, or null to skip fetching options.',
       'type' => CRM_Utils_Type::T_STRING,
       'options' => CRM_Core_DAO::buildOptionsContext(),
+      'api.aliases' => array('context'),
     ),
   );
   // Add available options to these params if requested