1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-20 02:48:51 +00:00

List database and ldap users in sysadmin

This commit is contained in:
zhengxie
2013-11-21 11:47:53 +08:00
parent 3a79b7de6a
commit 4807598f8e
8 changed files with 205 additions and 36 deletions

View File

@@ -124,6 +124,8 @@ def sys_repo_search(request):
@login_required
@sys_staff_required
def sys_user_admin(request):
"""List all users from database.
"""
# Make sure page request is an int. If not, deliver first page.
try:
current_page = int(request.GET.get('page', '1'))
@@ -131,7 +133,53 @@ def sys_user_admin(request):
except ValueError:
current_page = 1
per_page = 25
users_plus_one = get_emailusers(per_page * (current_page - 1), per_page + 1)
users_plus_one = get_emailusers('DB', per_page * (current_page - 1), per_page + 1)
if len(users_plus_one) == per_page + 1:
page_next = True
else:
page_next = False
users = users_plus_one[:per_page]
for user in users:
if user.props.id == request.user.id:
user.is_self = True
try:
user.self_usage = seafile_api.get_user_self_usage(user.email)
user.share_usage = seafile_api.get_user_share_usage(user.email)
user.quota = seafile_api.get_user_quota(user.email)
except:
user.self_usage = -1
user.share_usage = -1
user.quota = -1
have_ldap = True if len(get_emailusers('LDAP', 0, 1)) > 0 else False
return render_to_response(
'sysadmin/sys_useradmin.html', {
'users': users,
'current_page': current_page,
'prev_page': current_page-1,
'next_page': current_page+1,
'per_page': per_page,
'page_next': page_next,
'CALC_SHARE_USAGE': CALC_SHARE_USAGE,
'have_ldap': have_ldap,
},
context_instance=RequestContext(request))
@login_required
@sys_staff_required
def sys_ldap_user_admin(request):
"""List all users from LDAP.
"""
# Make sure page request is an int. If not, deliver first page.
try:
current_page = int(request.GET.get('page', '1'))
per_page = int(request.GET.get('per_page', '25'))
except ValueError:
current_page = 1
per_page = 25
users_plus_one = get_emailusers('LDAP', per_page * (current_page - 1), per_page + 1)
if len(users_plus_one) == per_page + 1:
page_next = True
else:
@@ -151,7 +199,7 @@ def sys_user_admin(request):
user.quota = -1
return render_to_response(
'sysadmin/sys_useradmin.html', {
'sysadmin/sys_ldap_useradmin.html', {
'users': users,
'current_page': current_page,
'prev_page': current_page-1,