Handle parent item when work item type is changed to another type
When changing a work item with a parent to a type that is not compatible as a child item of the parent, the parent relationship should be treated as incompatible data and removed. The user should see a warning indicating this will occur, similar to other incompatible data.
Acceptance criteria
When a user uses "Change type" from the UI on a work item with a parent...
- If the new type is compatible with the parent (ex: change issue to epic with epic parent and nested epics enabled), do nothing
- If the new type is incompatible with the parent (ex: change task to issue with issue parent), show a warning immediately on type selection
- If parent is top of hierarchy (e.g. Issue > Task, convert task to issue): "Parent type <current parent type> is not supported on <new type>. Parent relationship will be removed."
- On type change, parent is removed and system note reflects the parent removal.
- If parent is in a larger hierarchy (e.g. Epic > Issue > task, convert task to issue) and the grandparent can be the parent of the new type: "Parent will be set to: <grandparent name>"
- On type change, parent is set to former grandparent with note.
- If parent is top of hierarchy (e.g. Issue > Task, convert task to issue): "Parent type <current parent type> is not supported on <new type>. Parent relationship will be removed."
Edited by Nick Leonard