Deleting Requirement Objects
This process is followed when a user attempts to delete a requirement object:
- The object is disconnected from its current parent.
- A policy/state/access check ensures that the current user has delete privileges.
- A lock check determines whether the object is locked by another user. If so, it cannot be deleted.
- A parent relationship check ensures that this object is not linked to parent objects.
Only when all these conditions are satisfied can the object be deleted. In a case where multiple objects are selected for deletion, the Delete logic deletes as many objects as possible for which all the conditional checks are satisfied. A Delete Report specifies why any objects could not be deleted. In the case of a recursive delete, if the conditional check for any one object fails, then the entire transaction is rolled back. The branch (object and children) can be completely deleted only when the conditional checks are satisfied for all objects.