1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-10 03:11:07 +00:00

Merge pull request #16 from vIiRuS/master

manage admins from useradmin interface.
This commit is contained in:
xiez
2013-03-06 18:16:59 -08:00
3 changed files with 35 additions and 2 deletions

View File

@@ -13,9 +13,9 @@
<h3>{% trans "All Members" %}</h3> <h3>{% trans "All Members" %}</h3>
<table> <table>
<tr> <tr>
<th width="55%">{% trans "Email" %}</th> <th width="45%">{% trans "Email" %}</th>
<th width="20%">{% trans "Status" %}</th> <th width="20%">{% trans "Status" %}</th>
<th width="25%">{% trans "Operations" %}</th> <th width="35%">{% trans "Operations" %}</th>
</tr> </tr>
{% for user in users %} {% for user in users %}
@@ -30,6 +30,11 @@
{% if not user.is_self %} {% if not user.is_self %}
<a href="#" class="remove-user-btn op" data-url="{{ SITE_ROOT }}useradmin/remove/{{ user.props.id }}/" data-target="{{ user.props.email }}">{% trans "Delete" %}</a> <a href="#" class="remove-user-btn op" data-url="{{ SITE_ROOT }}useradmin/remove/{{ user.props.id }}/" data-target="{{ user.props.email }}">{% trans "Delete" %}</a>
<a href="#" class="reset-user-btn op" data-url="{% url 'user_reset' user.id %}" data-target="{{ user.props.email }}">{% trans "ResetPwd" %}</a> <a href="#" class="reset-user-btn op" data-url="{% url 'user_reset' user.id %}" data-target="{{ user.props.email }}">{% trans "ResetPwd" %}</a>
{% if user.is_staff %}
<a href="#" class="reset-user-btn op" data-url="{% url 'user_remove_admin' user.id %}" data-target="{{ user.props.email }}">{% trans "Take Admin" %}</a>
{% else %}
<a href="#" class="reset-user-btn op" data-url="{% url 'user_make_admin' user.id %}" data-target="{{ user.props.email }}">{% trans "Give Admin" %}</a>
{% endif %}
{% endif %} {% endif %}
</td> </td>
</tr> </tr>

View File

@@ -74,6 +74,8 @@ urlpatterns = patterns('',
(r'^useradmin/add/$', user_add), (r'^useradmin/add/$', user_add),
(r'^useradmin/remove/(?P<user_id>[^/]+)/$', user_remove), (r'^useradmin/remove/(?P<user_id>[^/]+)/$', user_remove),
(r'^useradmin/makeadmin/(?P<user_id>[^/]+)/$', user_make_admin),
(r'^useradmin/removeadmin/(?P<user_id>[^/]+)/$', user_remove_admin),
(r'^useradmin/info/(?P<email>[^/]+)/$', user_info), (r'^useradmin/info/(?P<email>[^/]+)/$', user_info),
(r'^useradmin/activate/(?P<user_id>[^/]+)/$', activate_user), (r'^useradmin/activate/(?P<user_id>[^/]+)/$', activate_user),
url(r'^useradmin/password/reset/(?P<user_id>[^/]+)/$', user_reset, name='user_reset'), url(r'^useradmin/password/reset/(?P<user_id>[^/]+)/$', user_reset, name='user_reset'),

View File

@@ -2066,6 +2066,32 @@ def user_remove(request, user_id):
return HttpResponseRedirect(reverse('sys_useradmin')) return HttpResponseRedirect(reverse('sys_useradmin'))
@login_required
@sys_staff_required
def user_make_admin(request, user_id):
"""Remove user, also remove group relationship."""
try:
user = User.objects.get(id=int(user_id))
user.is_staff = True
user.save()
except User.DoesNotExist:
pass
return HttpResponseRedirect(reverse('sys_useradmin'))
@login_required
@sys_staff_required
def user_remove_admin(request, user_id):
"""Remove user, also remove group relationship."""
try:
user = User.objects.get(id=int(user_id))
user.is_staff = False
user.save()
except User.DoesNotExist:
pass
return HttpResponseRedirect(reverse('sys_useradmin'))
@login_required @login_required
@sys_staff_required @sys_staff_required
def activate_user(request, user_id): def activate_user(request, user_id):