Make all Individual name fields configurable
authorOlaf Buddenhagen <antrik@digitalcourage.de>
Fri, 11 Oct 2013 16:29:38 +0000 (18:29 +0200)
committerOlaf Buddenhagen <antrik@digitalcourage.de>
Fri, 11 Oct 2013 17:16:54 +0000 (19:16 +0200)
commit8b49cb50d3fe31fd9aa86f72f72a33b6a16233be
treed5c705bfa7f687605e2541d7b90fcc48068a59e4
parentb890bee33e49c16111e78703445b6df9a62ce72b
Make all Individual name fields configurable

Adding a third block to the 'contact_edit_options' setting, to allow
controlling which of the various name fields (prefix, formal title,
first name, middle name, last name, suffix) show up on the contact edit
forms. (Both main form and quick edit of the contact name.)

For now, the name fields can only be enabled or disabled; there is no
support for changing the order in which they appear on the edit forms.
While this could be handled trivially in the configuration UI (the code
is already there for the other parts of 'contact_edit_options'), it
would require a major change to how the actual name edit forms are
constructed -- and I'm not even sure there is an actual use case for
that...

Note: This change doesn't affect the Display Name -- that one is still
configured using the token-based template.

Also, it doesn't affect all the other places where name fields are used
(soft credits, honoree, billing contacts etc.): there are way too many
of them, each implemented separately (and inconsistently). Again, the
way forward seems to be centralising all name field handling in a common
piece of code, and invoking that in all places dealing with Individual
name fields...

After merging this, sql/civicrm_generated.sql needs to be regenerated,
to pick up the new option values and default setting.
CRM/Admin/Form/Preferences/Display.php
CRM/Contact/Form/Edit/Individual.php
CRM/Upgrade/Incremental/php/FourFive.php
CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl
templates/CRM/Admin/Form/Preferences/Display.tpl
templates/CRM/Contact/Form/Edit/Individual.tpl
templates/CRM/Contact/Form/Inline/ContactName.tpl
xml/templates/civicrm_data.tpl
xml/templates/civicrm_navigation.tpl