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:
@@ -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>
|
||||
|
@@ -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'),
|
||||
|
@@ -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):
|
||||
|
@@ -92,7 +92,7 @@ input[type="file"] {
|
||||
}
|
||||
label {
|
||||
display: inline-block;
|
||||
margin:2px 0px;
|
||||
margin:4px 0px;
|
||||
}
|
||||
iframe {
|
||||
display:block;
|
||||
|
Reference in New Issue
Block a user