Closed Bug 809497 Opened 12 years ago Closed 10 years ago

Manually un-ban a user

Categories

(developer.mozilla.org Graveyard :: User management, task, P3)

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: openjck, Unassigned)

References

Details

(Whiteboard: [specification][specification-comment:2][type:feature][triaged])

Attachments

(1 file)

It should be possible for an administrator to manually unabn a user. More discussion is necessary when it comes to the interface for this, but we can have that discussion as part of doing this work.

For starters, see Sheppy's earlier thoughts on this feature:
https://bugzilla.mozilla.org/show_bug.cgi?id=681925#c0

Keep in mind that this bug involves only unbanning. We have separate bugs for providing a list of banned users, automatic ban expiry, etc.
Priority: P1 → P2
Whiteboard: c=User_management → feature request;
What problems would this solve?
===============================
This would allow site administrators to lift a ban that had been applied accidentally, un-ban users that have promised to change, etc.

Who would use this?
===================
Site administrators

What would users see?
=====================
First, we should provide the administrator with a list of banned users. I would imagine each row in this list providing at least the username of the banned person, a link to the user profile, the date of the ban, and the user who banned them -- but we can decide on that in more detail in the "Design" phase.

Second, we should provide a button labeled something like "Unban this user". This could appear on the user profile page, the list of banned users, both, or somewhere else. More in the "Design" phase.

What would users do? What would happen as a result?
===================================================
When the button is pressed, the ban should be lifted. We could probably do more here -- like email the user when the ban is lifted -- but this seems like enough for now.

Is there anything else we should know?
======================================
Summary: Interface for manually unbanning a user → Manually un-ban a user
Whiteboard: feature request; → [specification][specification-comment:1][type:feature]
Whiteboard: [specification][specification-comment:1][type:feature] → [specification][specification-comment:2][type:feature]
For a design proposal, how about this? Obviously very rough.

http://jsfiddle.net/U5zB9/embedded/result/

Not pictured here: I was imagining an "Unban this user" button on the user profile page, near the "Manage API keys" and "Edit profile" buttons.
Will this be a new site UI, or do we want to manage bans with the django admin UI? We have some ability to customize the django admin UI (https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#overriding-admin-templates) and this draft looks like it would fit there.
Tricky question for sure.

At the moment, administrative tasks are split between the normal interface and the Django interface. For example, an administrator can (and should) delete a demo from the demo's landing page, but the Derby topic can only be changed from Django.

I think I'm happy with either as long as we are consistent. Maybe Sheppy can say more?
Flags: needinfo?(eshepherd)
In fact, my own proposal in comment 3 contradicts my point about consistency. Maybe it would not make sense to have an "Unban this user" button on the user profile if we plan to do all administration through Django.
My feeling is this: banning should be something we should be able to do quickly when looking at things that people have screwed up; that is, on the profile page, on history pages, etc (see bug 809495 for my thoughts there).

Unbanning, OTOH, is something you set out expressly to do. This could be done from the Django interface, no problem.
Flags: needinfo?(eshepherd)
I think that UI looks fine, John, although I'd add an explicit "unban" button next to each name to make it clearer.

I can see value to having an unban button on user profile pages, but I don't think it's a requirement either. If we find that we miss it, we can request it later.
Sheppy: Do you know of any "confirmation" pages on MDN, like "Are you sure you want to XYZ..."

Trying to find a precedent for something like that.
Flags: needinfo?(eshepherd)
Disregard last comment. Meant to post that in bug 809495.
Flags: needinfo?(eshepherd)
One question to ask here: Would it make more sense to create a new Django table for this purpose, or just reuse /admin/auth/user by adding an action and a few new columns?
(In reply to John Karahalis [:openjck] from comment #11)
> One question to ask here: Would it make more sense to create a new Django
> table for this purpose, or just reuse /admin/auth/user by adding an action
> and a few new columns?

The way to extend the built-in User model in Django is basically to create a new table. But, we've already done that with user profiles. Could add a "ban" action here:

    https://developer.mozilla.org/admin/devmo/userprofile/

That doesn't satisfy sheppy's wish to create bans in-context with ban-worthy content, though. (ie. wiki vandalism) So, we could have banning & unbanning in Django admin, but still need a way to quickly ban from a wiki revision view.
> That doesn't satisfy sheppy's wish to create bans in-context with ban-worthy
> content, though. (ie. wiki vandalism) So, we could have banning & unbanning
> in Django admin, but still need a way to quickly ban from a wiki revision
> view.

Agreed. This bug is just about unbanning. We have bug 809495 for banning users, including banning users in-context.

The userprofile page seems like a pretty good place to do this. I will update the mockup based on it.
Attached image Django admin mockup 1
So in terms of mockup, how about just updating the userprofile page with a "Banned" column. To unban someone, an administrator could just uncheck the box and hit "Save" at the bottom of the page.

I did not imagine administrators visiting this page to /ban/ users (in bug 809495, we talked about making that possible only though the app interface) but if it would be trivial to make it possible here as well, I think that would be fine.

Sheppy: Would you be alright with an interface like this?
Flags: needinfo?(eshepherd)
And to clarify, the mockup in comment 14 intentionally does not show exactly the same information as the mockup in comment 3. The userprofile table is crowded enough already, and I have a feeling the other information would be less-than-useful. But again, Sheppy can correct me if I'm totally off base here.
(In reply to John Karahalis [:openjck] from comment #14)
> Created attachment 719188 [details]
> Django admin mockup 1
> 
> So in terms of mockup, how about just updating the userprofile page with a
> "Banned" column. To unban someone, an administrator could just uncheck the
> box and hit "Save" at the bottom of the page.
> 
> I did not imagine administrators visiting this page to /ban/ users (in bug
> 809495, we talked about making that possible only though the app interface)
> but if it would be trivial to make it possible here as well, I think that
> would be fine.
> 
> Sheppy: Would you be alright with an interface like this?

Yep; that looks fine to me.
Flags: needinfo?(eshepherd)
Signing off on comment 14 for design. But, assuming that we will not be able to do much here until bug 809495 is fixed.
Priority: P2 → P3
Do we already have this James?
Severity: normal → enhancement
Flags: needinfo?(jbennett)
Whiteboard: [specification][specification-comment:2][type:feature] → [specification][specification-comment:2][type:feature][triaged]
We haven't added the Banned column to the profiles in django admin UI. 

We go to the User bans page in the django admin UI to manually un-ban users.

Is this good enough?
Flags: needinfo?(jbennett) → needinfo?(eshepherd)
(In reply to Luke Crouch [:groovecoder] from comment #19)
> We haven't added the Banned column to the profiles in django admin UI. 
> 
> We go to the User bans page in the django admin UI to manually un-ban users.
> 
> Is this good enough?

Yeah.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(eshepherd)
Resolution: --- → FIXED
Product: developer.mozilla.org → developer.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: