Details
-
Type: New Feature
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 3.3.7
-
Fix Version/s: 3.3.7
-
Component/s: Core CiviCRM, NYSS
-
Labels:None
-
Funding Source:Core Team Contract
Description
Provide a mechanism for administrators to merge one tag into another. Merge action deletes the tag being merged and assigns the target tag to all entities previously tagged with the merged tag.
1. Add new 'action' on Manage Tags selector: 'Merge'.
- 'Merge' action should only be shown / allowed on reserved tags if the user has 'administer reserved tags' permission.
- 'Merge' action is not shown / allowed on Tags which are Tagsset parents or hierarchical tag parents. Users can directly change parent / child tag relationships via existing edit tag UI.
2. When clicked, a modal dialog (query) form is displayed:
- Field label = "Select Tag"
- Field is an singleton autocomplete which exposes all tags that aren't tagset parent tags (i.e includes "regular" tags) AND which can be assigned to all the record types that the tag being merged is valid for.
EXAMPLE: If I'm merging a tag which is used for Contacts, Cases - do not show a tag which can NOT be used for Cases AND Contacts.
- Tags that are part of a tagset, or are a child in a tag hierarchy are prepended with the parent tag title. However, the autocomplete search is on the tag titles themselves.
EXAMPLE:
Tagset (parent) = Issues
Tagset tag = Environment
Display in autocomplete = Issues :: Environment
3. Post process:
- all records (contacts, cases and / or activities) currently tagged with tag A will be tagged with tag B
- tag A, which the merge is triggered from, will be removed from the system
4. Logging - Post process NOT in core:
- extend the nyss_tags module to handle insertion of a civicrm_log record for every contact, case or activity affected by a tag merge.
Per Brian - "the nyss_tags module outlines how we would want logging implemented"
Record hours against NYSS Bluebird 3808: http://senatedev.senate.state.ny.us/issues/show/3808