Important usability bug - Too easy to delete issues
Please do not delete it or mark it as duplicate!
I know this has been discussed in other random issues here over the years. But it has been asked in different ways, with different solution proposal, and in seperated issue for the same problem.
Here's the problem
It should not be possible to delete issue without:
- Having that tracked in activity tab
- Being able to uncover (undelete) the issue later
I think this is a really big issue for a mature product like redmine. I hope this post will help to flag this issue as a big priority for the nexte release and bug fixing.
#2 Updated by Holger Just over 5 years ago
When you delete data from Redmine, it will actually be deleted and not just marked as "hidden" in the database. For most data, especially for issues, this is required since existing issues (with e.g. relations or parent-child connections) can affect other issues.
Assuming you would "delete" issues by hiding them, these these hidden issues would then need to be adapted with changes from parent issues or issue relations (and their rules enforced) so that they can later be "undeleted" and still show a consistent view. This would then result in problems since these hidden issues could enforce unexpected rules. On the other hand, being able to actually delete data is a nice feature of Redmine since it allows to follow data protection rules which might enforce the full deletion of data.
Now, you can deny normal users the ability to delete issues in the first place by removing the "Delete issues" permission from their roles. That way, they would only be able to close issues (or mark them e.g. with an "Invalid" status according to the defined workflow. This along would be quite effective for about all users. The only exception would be Administrators who have all permissions and can thus delete data. If this is a concern, you should not set the Admin flags on users and use these accounts only sparingly. In the end, admins can probably delete the raw data from the database anyways.