CRM-16178 - Add html properties to api.getfields
authorColeman Watts <coleman@civicrm.org>
Fri, 27 Mar 2015 20:38:12 +0000 (16:38 -0400)
committerColeman Watts <coleman@civicrm.org>
Fri, 27 Mar 2015 20:38:12 +0000 (16:38 -0400)
CRM/Contact/Form/Edit/Individual.php
CRM/Core/Form.php
api/v3/utils.php

index 32613f0be2558862ed96c230991a5d225fdbb529..fb2841b047305ac80e197288c8fb4b37a94ca31b 100644 (file)
@@ -67,25 +67,23 @@ class CRM_Contact_Form_Edit_Individual {
         $form->addField('prefix_id', array('class' => 'eight', 'placeholder' => ' ', 'label' => ts('Prefix')));
       }
 
-      $attributes = CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact');
-
       if (isset($nameFields['Formal Title'])) {
-        $form->addField('formal_title', $attributes['formal_title']);
+        $form->addField('formal_title');
       }
 
       // first_name
       if (isset($nameFields['First Name'])) {
-        $form->addField('first_name', $attributes['first_name']);
+        $form->addField('first_name');
       }
 
       //middle_name
       if (isset($nameFields['Middle Name'])) {
-        $form->addField('middle_name', $attributes['middle_name']);
+        $form->addField('middle_name');
       }
 
       // last_name
       if (isset($nameFields['Last Name'])) {
-        $form->addField('last_name', $attributes['last_name']);
+        $form->addField('last_name');
       }
 
       // suffix
@@ -97,12 +95,11 @@ class CRM_Contact_Form_Edit_Individual {
 
     if (!$inlineEditMode || $inlineEditMode == 2) {
       // nick_name
-      $form->addField('nick_name', $attributes['nick_name']);
+      $form->addField('nick_name');
 
       // job title
       // override the size for UI to look better
-      $attributes['job_title']['size'] = 30;
-      $form->addField('job_title', array('size' => '30') + $attributes['job_title']);
+      $form->addField('job_title', array('size' => '30'));
       //Current Employer Element
       $props = array(
         'api' => array('params' => array('contact_type' => 'Organization')),
@@ -125,14 +122,13 @@ class CRM_Contact_Form_Edit_Individual {
       $form->assign('checkSimilar', $checkSimilar);
 
       //External Identifier Element
-      $form->addField('external_identifier', $attributes['external_identifier'] + array('label' => 'External ID'));
+      $form->addField('external_identifier', array('label' => 'External ID'));
 
       $form->addRule('external_identifier',
         ts('External ID already exists in Database.'),
         'objectExists',
         array('CRM_Contact_DAO_Contact', $form->_contactId, 'external_identifier')
       );
-      $config = CRM_Core_Config::singleton();
       CRM_Core_ShowHideBlocks::links($form, 'demographics', '', '');
     }
   }
index d5122d752f6eccb5f43578e58a29d37761fa47c4..5bf14728534296ba0553b724f92cd0bd92f5ef64 100644 (file)
@@ -1227,8 +1227,8 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
         $props['data-api-field'] = $props['name'];
       }
     }
-
-    CRM_Utils_Array::remove($props, 'entity', 'name', 'context', 'label', 'action');
+    $props += CRM_Utils_Array::value('html', $fieldSpec, array());
+    CRM_Utils_Array::remove($props, 'entity', 'name', 'context', 'label', 'action', 'type');
     switch ($widget) {
       case 'Text':
       case 'Link':
index b616b0ff31a0c6d0715d84a104994997a6537033..7c3ec983f4d22f10f1b13f60d970b6c8a4678c09 100644 (file)
@@ -1770,6 +1770,14 @@ function _civicrm_api_get_fields($entity, $unique = FALSE, &$params = array()) {
   }
   $d = new $dao();
   $fields = $d->fields();
+
+  // Set html attributes for text fields
+  foreach ($fields as $name => &$field) {
+    if (isset($field['html'])) {
+      $field['html'] += (array) $d::makeAttribute($field);
+    }
+  }
+
   // replace uniqueNames by the normal names as the key
   if (empty($unique)) {
     foreach ($fields as $name => &$field) {