Affects Version/s: None
Fix Version/s: 1.2
Users have complained about not being able to delete instances of custom fields, profile fields, etc. We will now allow deletions, but all delete actions listed below will present a confirm page with warning about destructive effects. For all cases below, the 'Delete' action will be offered on the selectors IN ADDITION to the 'Disable' action. Delete will NOT be allowed for 'reserved' objects (e.g. reserved location types, etc.)
1. Delete Custom Data
1.1 Delete custom data field
- (confirmation text) "WARNING: Deleting this custom field will result in the loss of all "$fieldLabel" data. This action can not be undone. Do you want to continue?"
- on confirm, first delete all records in custom_value linked to this field - then delete the custom_field record
1.2 Delete custom group
- Do not allow deletion of custom data group if the group contains one or more custom fields - "You must delete all custom fields in the this group prior to deleting the group."
- (confirmation text) "Delete $groupName Custom Data Group? [ Delete ] [ Cancel ]
- on confirm, delete the custom_group record
2. Delete CiviCRM Profile
2.1 Delete Profile Field
- (confirmation text) "WARNING: Deleting this profile field will remove it from Profile forms and listings. Do you want to continue?"
- on confirm, delete the uf_field record
2.2 Delete Profile
- Do not allow deletion of profile group if the group contains one or more fields - "You must delete all profile fields prior to deleting the profile."
- (confirmation text) "Delete $groupName Profile? [ Delete ] [ Cancel ]
- on confirm, delete the uf_group record
3. Delete Configurable Enums
For the following admin configurable enums (and excluding is_reserved instances): Location Types, Relationship Types, Activity Types, IM Services, Mobile Providers, Gender Options, Prefixes, Suffixes...
- (confirmation text - pick the appropriate record type from the bracket list depending on the enum type) "WARNING: Deleting this option will result in the loss of all [location|relationship|activity|instant messenger|phone] records which use this option. This may mean the loss of a substantial amount of data, and the action can not be undone. Do you want to continue?"
- on confirm, first delete all data records with FKey value = to this option (e.g. all locations w/ location_type = $thisType...) - then delete the selected option record