updated example & a couple of tidy ups to throw API_Exception rather than legacy
authoreileen <eileen@fuzion.co.nz>
Wed, 21 Aug 2013 11:44:20 +0000 (23:44 +1200)
committereileen <eileen@fuzion.co.nz>
Wed, 21 Aug 2013 11:44:20 +0000 (23:44 +1200)
api/v3/UFField.php
api/v3/examples/Contact/GetFieldsOptions.php

index de407c0a57994e68a9dda8ff9f048e379360bb9c..da1e33e645f626353d79028d52767585e6f6d7b9 100644 (file)
@@ -54,7 +54,7 @@ function civicrm_api3_uf_field_create($params) {
   civicrm_api3_verify_one_mandatory($params, NULL, array('field_name', 'uf_group_id'));
   $groupId = CRM_Utils_Array::value('uf_group_id', $params);
   if ((int) $groupId < 1) {
-    return civicrm_api3_create_error('Params must be a field_name-carrying array and a positive integer.');
+    throw new API_Exception('Params must be a field_name-carrying array and a positive integer.');
   }
 
   $field_type       = CRM_Utils_Array::value('field_type', $params);
@@ -63,7 +63,7 @@ function civicrm_api3_uf_field_create($params) {
   $phone_type       = CRM_Utils_Array::value('phone_type_id', $params, CRM_Utils_Array::value('phone_type', $params));
 
   if (! CRM_Core_BAO_UFField::isValidFieldName($field_name)) {
-    return civicrm_api3_create_error('The field_name is not valid');
+    throw new API_Exception('The field_name is not valid');
   }
   $params['field_name'] = array($field_type, $field_name, $location_type_id, $phone_type);
 
@@ -86,13 +86,13 @@ function civicrm_api3_uf_field_create($params) {
       }
     }
     else {
-      return civicrm_api3_create_error("there is no field for this fieldId");
+      throw new API_Exception("there is no field for this fieldId");
     }
     $ids['uf_field'] = $fieldId;
   }
 
   if (CRM_Core_BAO_UFField::duplicateField($params, $ids)) {
-    return civicrm_api3_create_error("The field was not added. It already exists in this profile.");
+    throw new API_Exception("The field was not added. It already exists in this profile.");
   }
   if (CRM_Utils_Array::value('option.autoweight', $params, TRUE)) {
     $params['weight'] = CRM_Core_BAO_UFField::autoWeight($params);
@@ -150,7 +150,7 @@ function civicrm_api3_uf_field_delete($params) {
 
   $ufGroupId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFField', $fieldId, 'uf_group_id');
   if (!$ufGroupId) {
-    return civicrm_api3_create_error('Invalid value for field_id.');
+    throw new API_Exception('Invalid value for field_id.');
   }
 
   $result = CRM_Core_BAO_UFField::del($fieldId);
index 73f989bc360635d1576b49e7b5e1c104603e4903..4337b348705ad811d8a7574d3a8484f919f3f3ff 100644 (file)
@@ -574,6 +574,7 @@ function contact_getfields_expectedresult(){
           'date_format' => '',
           'time_format' => '',
           'name' => 'custom_1',
+          'type' => 2,
           'options' => array(
               '1' => 'Label1',
               '2' => 'Label2',
@@ -582,6 +583,7 @@ function contact_getfields_expectedresult(){
       'current_employer' => array(
           'title' => 'Current Employer',
           'description' => 'Name of Current Employer',
+          'type' => 2,
         ),
       'dupe_check' => array(
           'title' => 'Check for Duplicates',