Affects Version/s: None
Fix Version/s: 1.2
Currently, the Manage Groups interface provides a 'Delete' link which ACTUALLY just disable the civicrm_group record (by setting is_active to false). This interface s/b consistent with other objects - so we need to support Disable and Delete (destructive) ops.
1. Relabel the current 'Delete' action as 'Disable' and modify the confirmation page to reflect this.
2. Include 'disabled' groups (is_active = 0) in the Manage Groups selector table - setting the row font color to red as done w/ other disabled objects. These rows have 'Enable' action link (replacing 'Disable').
NOTE: Do NOT modify other group listing functions (e.g. group listing in search interfaces, get_group API, etc. These should continue to select only groups where is_active = 1.
3. New action link for all Manage Groups selector rows - Delete
3.1 On click, load confirmation page with following text:
" Are you sure you want to delete the group Summer Program Volunteers?"
"This group currently has 8 members in it. Deleting this group will NOT delete the member contact records. However, all contact subscription information and history for this group will be deleted. This operation can not be undone."
3.2 If 'Delete Group' is clicked:
- delete from civicrm_subscription_history where group_id = $thisGroupID
- delete from civicrm_group_contact where group_id = $thisGroupID
- delete from civicrm_group where id = $thisGroupID
(? I think those are all the tables w/ foreign keys linked to group ?)
3.3 Return to Manage Groups w/ status - "$GroupName has been successfully deleted."
NOTE: I tried the current 'Delete' (actually disable) action in trunk today and it worked - but the redirect back to Manage Groups failed and I got this strange pop-up error in Firefox -> "URL redirection limit exceeded...". This may need to be debugged since this will become the 'disable' flow.