Type: New Feature
Affects Version/s: None
Fix Version/s: 1.0
This functionality allows users with appropriate permissions to add, edit and disable items in the list of available location types for a domain
A schema change is needed to support deactivation of location types (we don't want to allow delete - although we may support a 'merge' later). Need to add "is_active" column to crm_location_types table structure (.xml and data loader changes needed).
UI is a single screen with 3 modes, 'browse', 'add', 'edit'. Interface is similar to contact/note - except there is no 'View' mode.
Browse mode presents selector list, sorted by crm_location_type.name with these columns (column header row not needed):
- Description (truncate to 80 chars)
- 'Edit' | 'Deactivate' (action links)
Edit and Deactivate links are suppressed for reserved location types. Assign additional class "reserved" to these rows (e.g. <tr class="even-row reserved"> ) so we can display them differently if desired.
Display 'New Location Type' link below selector when op=browse.
Add/Edit Location Type (op=add or edit)
Simple form displayed above selector listing.
Location Name: $form.name
[ Save ] [ Cancel ]
On click of 'Deactivate' action, Jscript confirm: 'Are you sure you want to disable this location type. This action will prevent users from selecting <location type name> when adding or editing contact locations.'
If confirm, update location_type.is_active to false.
Modify getLocationType() function to omit records where is_active is false (i.e. they're not included in the <select> options and not a valid value). Locations currently using a deactivated loc type are not affected until a user attempts to edit them - then they are forced to select new location type.