1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 21:07:17 +00:00

Modified group admin removing

This commit is contained in:
zhengxie
2012-10-22 16:22:55 +08:00
parent e92546c69c
commit 3e7b8b626f
4 changed files with 22 additions and 12 deletions

View File

@@ -58,7 +58,7 @@
<td>{{ member.user_name }}</td>
<td>
{% if member.user_name != request.user.username %}
<a href="#" data="{{ SITE_ROOT }}group/{{ group.id }}/member/{{ member.user_name }}/?op=delete" class="member-remove-btn op">删除</a>
<a href="#" data="{% url 'group_remove_admin' group.id %}?u={{ member.user_name }}" class="member-remove-btn op">删除</a>
{% endif %}
</td>
</tr>

View File

@@ -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<group_id>[\d]+)/$', group_info, name='group_info'),
@@ -13,6 +14,7 @@ urlpatterns = patterns('',
(r'^(?P<group_id>[\d]+)/member/(?P<user_name>[^/]+)/$', group_member_operations),
url(r'^(?P<group_id>\d+)/msgdel/(?P<msg_id>\d+)/$', group_message_remove, name='group_message_remove'),
url(r'^(?P<group_id>\d+)/admin/add/$', group_add_admin, name='group_add_admin'),
url(r'^(?P<group_id>\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<group_id>[\d]+)/$', group_joinrequest, name='group_joinrequest'),

View File

@@ -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):

View File

@@ -92,7 +92,7 @@ input[type="file"] {
}
label {
display: inline-block;
margin:2px 0px;
margin:4px 0px;
}
iframe {
display:block;