Fix confusing free project delayed deletion and refactor HAML templates
What does this MR do and why?
Related to #498956 (closed)
In #498956 (closed) I first thought that deleting free projects delayed on gitlab.com was a bug because this is usually a Premium+ feature. But after some digging I came across !80139 (merged) and realized it was intentional with some confusing UX. This MR aims to improve the UX to make it less confusing and at the same time refactor the HAML logic to make the code less confusing.
Demo
Here is a demo explaining the existing bug and how it works in this MR
References
Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
UX bug described in #498956 (closed)
| Before | After | 
|---|---|
| Screen_Recording_2024-11-26_at_11.51.32_AM | Screen_Recording_2024-11-26_at_11.03.06_AM | 
GitLab SaaS mode (gitlab.com)
| Free project | Paid project | Personal project | 
|---|---|---|
| Screen_Recording_2024-11-26_at_11.03.06_AM | Screen_Recording_2024-11-26_at_11.39.59_AM | Screen_Recording_2024-11-26_at_11.09.00_AM | 
GitLab self-managed EE with Ultimate license
| Free project | Paid project | Personal project | 
|---|---|---|
| N/A | Screen_Recording_2024-11-26_at_11.16.58_AM | Screen_Recording_2024-11-26_at_11.20.41_AM | 
GitLab self-managed EE without a license
| Free project | Paid project | Personal project | 
|---|---|---|
| Screen_Recording_2024-11-26_at_11.23.01_AM | N/A | Screen_Recording_2024-11-26_at_11.24.40_AM | 
GitLab self-managed FOSS
| Free project | Paid project | Personal project | 
|---|---|---|
| Screen_Recording_2024-11-26_at_11.28.38_AM | N/A | Screen_Recording_2024-11-26_at_11.31.34_AM | 
How to set up and validate locally
- In your gitlab-development-kitdirectory create aenv.runitfile
- Add the following to it:
export FOSS_ONLY=0
export GITLAB_SIMULATE_SAAS=1- Restart GDK
- Create a group
- Create a project in that group
- Delete that project in Settings->General-> `Advanced