Allow normal users to delete projects with permission
|Assignee:||Go MAEDA||% Done:|
In self-managed environments where users can create and manage projects on their own without Administrator involvement, it might be helpful to allow users to delete their own projects when they are not needed anymore. Using the existing permissions system, this can be easily managed.
The attached patch implements this against the current trunk (r19997). We allow to delete a project if the user has the necessary permission in the project AND if the project is a leaf-project without further subprojects.
The latter restriction is intended as a fail-safe to prevent users from deleting large project trees. We could theoretically allow the deletion of whole trees if the user has the permission to delete all projects in the tree. However, this check would likely be prone to races and helps only for uncommon cases. Also, Administrators can delete full project trees as before.
The necessary permission is not granted to any role by default so that an Administrator has to consciously grant this permission if required.