V2 Object Deletion
Rails Model Delete Policies
Delete-Destroy - When an object is deleted, then it's supporting objects are also deleted. Can be be configured to be confirmed with a yes-no alert
Delete-Restrict - An object can only be deleted when it has no supporting objects
Top-Level Objects
Documents
- Can be deleted after all revisions are deleted
Revisions
- Can be deleted even when notes and files are present
- Notes are deleted, files are either deleted or de-attached
- Cannot be deleted if transmitted or a member of a transmittal
- Can be deleted even when notes and files are present
Tasks
- Can be deleted even when notes and files are present
- Notes are deleted, attached files are either deleted or de-attached
- Cannot be deleted if transmitted or a member of a transmittal
- Can be deleted even when notes and files are present
Transmittals
- Can only be deleted if not sent
Users
- Can only be deleted if no history in the system event log
- Can only be deleted if not assigned to any objects (e.g. to workflow steps or assigned as issuer)
Dossiers
- Can be deleted. Has no affect on dossier members
Issues
- How to offer the option to delete/de-attach file in the user interface when deleting notes?
Supporting Objects
Notes
- Attached files are also deleted or de-attached
Note Attachment Files
- Can be deleted or de-attached
Revisions Files
- Can be deleted or de-attached
Unattached Files
- Can be deleted
- Can be (re-)attached to objects
Object Hierarchies
Document
Revision
Revision File
Note
Attached File
Task
Note
Attached Files
Handling Files Attached to Deleted Objects
Two options when object with files is deleted:
- The files are also deleted
The files are de-attached and placed in the unattached file list
There should also be separate buttons for deleting and de-attaching files from revisions and notes.
Non-Delete Operations
- Removing an item from a Dossier
- Removing an item from a unsent Transmittal
- Removing a link between items