From 3e7b8b626f45a068a21d546e7df2bbdf147c1411 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Mon, 22 Oct 2012 16:22:55 +0800 Subject: [PATCH] Modified group admin removing --- group/templates/group/group_manage.html | 2 +- group/urls.py | 4 +++- group/views.py | 26 ++++++++++++++++--------- media/css/seahub.css | 2 +- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/group/templates/group/group_manage.html b/group/templates/group/group_manage.html index 6313dd7cca..a30cb8e934 100644 --- a/group/templates/group/group_manage.html +++ b/group/templates/group/group_manage.html @@ -58,7 +58,7 @@ {{ member.user_name }} {% if member.user_name != request.user.username %} - 删除 + 删除 {% endif %} diff --git a/group/urls.py b/group/urls.py index 5d3b1ab0d7..134a277fc3 100644 --- a/group/urls.py +++ b/group/urls.py @@ -2,7 +2,8 @@ from django.conf.urls.defaults import * from views import group_info, group_member_operations, group_add_admin, \ group_members, msg_reply, msg_reply_new, group_recommend, \ - create_group_repo, group_joinrequest, attention, group_message_remove + create_group_repo, group_joinrequest, attention, group_message_remove, \ + group_remove_admin urlpatterns = patterns('', url(r'^(?P[\d]+)/$', group_info, name='group_info'), @@ -13,6 +14,7 @@ urlpatterns = patterns('', (r'^(?P[\d]+)/member/(?P[^/]+)/$', group_member_operations), url(r'^(?P\d+)/msgdel/(?P\d+)/$', group_message_remove, name='group_message_remove'), url(r'^(?P\d+)/admin/add/$', group_add_admin, name='group_add_admin'), + url(r'^(?P\d+)/admin/remove/$', group_remove_admin, name='group_remove_admin'), url(r'^recommend/$', group_recommend, name='group_recommend'), url(r'^attention/$', attention, name='group_attention'), url(r'^joinrequest/(?P[\d]+)/$', group_joinrequest, name='group_joinrequest'), diff --git a/group/views.py b/group/views.py index 9f5d306f47..15a205533f 100644 --- a/group/views.py +++ b/group/views.py @@ -618,28 +618,22 @@ def group_members(request, group_id): ### GET ### members_all = ccnet_threaded_rpc.get_group_members(group_id) - members, admins = [], [] - for m in members_all: - if m.is_staff: - admins.append(m) - else: - members.append(m) + admins = [ m for m in members_all if m.is_staff ] contacts = Contact.objects.filter(user_email=user) return render_to_response('group/group_manage.html', { 'group' : group, - 'members': members, + 'members': members_all, 'admins': admins, 'contacts': contacts, }, context_instance=RequestContext(request)) @login_required +@group_staff_required def group_add_admin(request, group_id): """ Add group admin. """ - # TODO: group admin required - group_id = int(group_id) # Checked by URL Conf if request.method != 'POST' or not request.is_ajax(): @@ -683,6 +677,20 @@ def group_add_admin(request, group_id): messages.success(request, u'操作成功') return HttpResponse(json.dumps('success'), status=200, content_type=content_type) + +@login_required +@group_staff_required +def group_remove_admin(request, group_id): + """ + Remove group admin, and becomes normal group member. + """ + user = request.GET.get('u', '') + try: + ccnet_threaded_rpc.group_unset_admin(int(group_id), user) + messages.success(request, u'操作成功') + except SearpcError, e: + messages.error(request, e.msg) + return HttpResponseRedirect(reverse('group_members', args=[group_id])) @login_required def group_member_operations(request, group_id, user_name): diff --git a/media/css/seahub.css b/media/css/seahub.css index 186ff72c77..edfb25589b 100644 --- a/media/css/seahub.css +++ b/media/css/seahub.css @@ -92,7 +92,7 @@ input[type="file"] { } label { display: inline-block; - margin:2px 0px; + margin:4px 0px; } iframe { display:block;