Make `formal_title` field optional
authorOlaf Buddenhagen <antrik@digitalcourage.de>
Mon, 5 Aug 2013 12:28:32 +0000 (14:28 +0200)
committerOlaf Buddenhagen <antrik@digitalcourage.de>
Wed, 9 Oct 2013 10:13:36 +0000 (12:13 +0200)
Add a config setting to make display of the Title input field (in
contact edit forms) optional.

(This doesn't affect contact view, as the name displayed there is
determined by the "Individual Display Name Format" template instead.)

This is a minimal approach, adding just the title setting. Perhaps it
might be preferable to add a full set of options for disabling the other
name fields as well, while at it?...

(We are willing to do that too, as it shouldn't be too hard, and we have
users for that as well -- but we need some consensus about the right way
for handling this.)

The setting is placed in the "Display Preferences", next to the
"Individual Display Name Format". However, it could be placed next to
"Editing Contacts" (also in "Display Preferences") as well -- it's
somewhat related to both...

CRM/Admin/Form/Preferences/Display.php
CRM/Contact/Form/Edit/Individual.php
settings/Core.setting.php
templates/CRM/Admin/Form/Preferences/Display.tpl

index 6ec0ead1118291e338d5d9de66a9def7b8682300..f09f7db50dc7c0d6e87dfef64956cbfa1e1faf52 100644 (file)
@@ -104,6 +104,11 @@ class CRM_Admin_Form_Preferences_Display extends CRM_Admin_Form_Preferences {
           'html_type' => NULL,
           'weight' => 11,
         ),
+        'formal_title' => array(
+          'html_type' => 'checkbox',
+          'title' => ts('Use Formal Title Field'),
+          'weight' => 12,
+        ),
       ),
     );
 
index d87f7dddc49a00fa6aa593b0749eebedb6db079c..45a4e78f1dfb438840bf3c3b5e6e53b26072a196 100644 (file)
@@ -63,7 +63,9 @@ class CRM_Contact_Form_Edit_Individual {
 
       $attributes = CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact');
 
-      $form->addElement('text', 'formal_title', ts('Title'), $attributes['formal_title']);
+      if (CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'formal_title')) {
+        $form->addElement('text', 'formal_title', ts('Title'), $attributes['formal_title']);
+      }
 
       // first_name
       $form->addElement('text', 'first_name', ts('First Name'), $attributes['first_name']);
index 6aa61302ce18d61f757b9bc5b977be31770f8528..8826e5481a4e5dbfa122aaf0a0cd92ee7b1832e6 100644 (file)
@@ -250,6 +250,20 @@ return array (
     'description' => null,
      'help_text' => null,
   ),
+  'formal_title' => array(
+    'group_name' => 'CiviCRM Preferences',
+    'group' => 'core',
+    'name' => 'formal_title',
+    'type' => 'Boolean',
+    'quick_form_type' => 'YesNo',
+    'default' => 0,
+    'add' => '4.4',
+    'title' => 'Use Formal Title Field',
+    'is_domain' => 1,
+    'is_contact' => 0,
+    'description' => 'Enables display of the Formal Title field in the name edit block for individuals.',
+    'help_text' => null,
+  ),
   'contact_reference_options' => array(
     'group_name' => 'CiviCRM Preferences',
     'group' => 'core',
index 3f0e6e7e5d705b00eae712abf469ad470d8d2191..d2336f5a41c5197a1b1bcb56e0ddcfce8f5afcde 100644 (file)
           fields).{/ts} {help id="id-editor_id"}
       </td>
     </tr>
+    <tr class="crm-preferences-display-form-block-formal_title">
+      <td class="label">{$form.formal_title.label}</td>
+      <td>{$form.formal_title.html}</td>
+    </tr>
+    <tr class="crm-preferences-display-form-block-description">
+      <td>&nbsp;</td>
+      <td class="description">
+        {ts}Enables display of the Formal Title field in the name edit block for individuals.{/ts}
+      </td>
+    </tr>
     <tr class="crm-preferences-display-form-block-display_name_format">
       <td class="label">{$form.display_name_format.label}</td>
       <td>{$form.display_name_format.html}</td>