[go: up one dir, main page]

"Remove Project" should also ask for the namespace during confirmation

Problem to solve

Being a maintainer/owner of multiple projects with the same name in different namespaces/groups (typically forks), it can be scary trying to delete one of those projects - am I absolutely sure I'm in the correct namespace?

Yes, the namespace is listed in the dialog, but personally I don't really read that first line or two anyway... I just start typing the project name.

Further details

  • Why?: Dialogs are so prevalent in everything these days that most people just ignore them. GitLab is actually good at this and doesn't overuse modal windows. Forcing a user to also type the namespace provides a double-check that the correct project is being deleted.
  • Goal: Prevent deletion of the wrong project
  • Impact: Minimal. Some users might be slightly annoyed that they have to type a few more characters to delete a project
  • Benefit: Peace of mind. Fewer sad people.
  • Guesstimated Effort: Minimal. I looked though the source code and I think it's just a small update to app/views/projects/edit.html.haml. See the patch below.

Solution

The namespace/group should be required during the delete project confirmation.

Soft delete Permanently delete
Screen_Shot_2020-08-03_at_4.10.35_PM Screen_Shot_2020-08-03_at_4.10.46_PM
Proposed Dialog:

Note that the Yes, delete project button is disabled until the exact string has been entered.

The Patch

N.B.: I don't actually know if full_name is what we want. Nor do I know if anything else needs to be changed (unit tests, perhaps?). I don't know Ruby nor (Mark) HAML, so this is about as much help as I'll be able to be. 😿

From eef8eab1da8ccb54b8d6a53d94acc1cb7d431ef9 Mon Sep 17 00:00:00 2001
From: Douglas Thor <doug.thor@gmail.com>
Date: Thu, 27 Sep 2018 11:57:09 -0700
Subject: [PATCH] Use @project.full_name when prompting users for project
 deletion.

---
 app/views/projects/edit.html.haml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml
index bfd165d..019335f 100644
--- a/app/views/projects/edit.html.haml
+++ b/app/views/projects/edit.html.haml
@@ -222,4 +222,4 @@
       Saving project.
     %p Please wait a moment, this page will automatically refresh when ready.

-= render 'shared/confirm_modal', phrase: @project.path
+= render 'shared/confirm_modal', phrase: @project.full_name
--
2.7.4

What does success look like, and how can we measure that?

No one complains that they deleted the wrong project 😄

Links / references

None.

Edited by Austin Regnery