views:

19

answers:

3

View Users page lists all users in the system. You can multiselect users via checkboxes and press the 'Remove' button to delete them from the system. We throw a confirmation dialog, to ask if the end user wanted to delete the users. If he presses the 'Ok' button we remove the users, if he presses the 'Cancel' button we don't perform any action. Should we remove the user selections made in the check-box when the user hits the 'Cancel' button or leave the selections as it is. What would be the best practice?

+4  A: 

Keep them selected please!

The user may just have hit the wrong button. Doesn't mean (s)he selected the wrong users...

Marjan Venema
will keep the state as it is
+2  A: 

For even better usability, consider not having the confirmation dialog. Instead, provide a way for the user to undo the deletion later.

Why? Probably 99 times out of 100 (or maybe 999 out of 1000) they really mean to delete the users (unless you make it too easy to accidentally delete). So why inconvenience them 99 times out of 100 asking them to confirm, when all you really need to do is inconvenience them once when they want to undo the deletion.

Bryan Oakley
I do agree, but as you mention you can do something similar to what GOOG has (i.e. they let you undo sending a message). But how long will you wait for the administrator to undelete user(s). I don't want to have additional logic (like marking an entry for deletion) and complicate the sql queries.
@user339108: I assumed that if your app has the power to delete, it has the power to create or undelete. Have your app simply move "deleted" users to another table. Undelete then just involves moving them back.
Bryan Oakley
User table has way too many dependencies, I know this is a possibility but I don't want to go down this path.
+1  A: 
mklhmnn
will keep the state as it is