Rename projects set for delayed deletion
What does this MR do and why?
- When marking a project for deletion, appends
deleted-{project_id}
to the end of the project path and title.- This frees up the original project name to be used by another project immediately.
- When restoring a project, resets the project name to its original name unless the project name has been taken in the mean time.
- In this instance, the project is given a random alphanumeric suffix.
Screenshots or screen recordings
These are strongly recommended to assist reviewers and reduce the time to merge your change.
How to set up and validate locally
Case 1
- Create a project. (Project A)
- Set the project to delete.
- Ensure that the path and project of the project is updated to include the new suffix.
- Restore the project, ensure that the project and path has its old name back.
Case 2
- Create a project. (Project A)
- Set the project to delete.
- Ensure that the path and title of the project is updated to include the new suffix.
- Create a new project with the same name and path as Project A.
- Restore the project, ensure that the project has its old name and path back, with an alphanumeric suffix.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #329538 (closed)
Edited by Max Woolf