1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-17 15:53:28 +00:00

Merge branch '3.1'

This commit is contained in:
zhengxie
2014-10-20 15:32:35 +08:00
2 changed files with 27 additions and 9 deletions

View File

@@ -11,7 +11,11 @@
{% for user in users %} {% for user in users %}
<tr data-userid="{{user.email}}"> <tr data-userid="{{user.email}}">
<td><a href="{{ SITE_ROOT }}useradmin/info/{{ user.props.email }}/">{{ user.email }}</a></td> <td><a href="{{ SITE_ROOT }}useradmin/info/{{ user.props.email }}/">{{ user.email }}</a>
{% if user.org %}
<p style="font-size:11px;"><a href="{% url 'sys_org_info' user.org.org_id %}">({{user.org.org_name}})</a></p>
{% endif %}
</td>
<td> <td>
{% if user.source != 'LDAP' %} {% if user.source != 'LDAP' %}
<div class="user-status"> <div class="user-status">

View File

@@ -181,7 +181,8 @@ def sys_user_admin(request):
user.share_usage = seafile_api.get_user_share_usage(user.email) user.share_usage = seafile_api.get_user_share_usage(user.email)
user.quota = seafile_api.get_user_quota(user.email) user.quota = seafile_api.get_user_quota(user.email)
else: else:
org_id = org[0].org_id user.org = org[0]
org_id = user.org.org_id
user.self_usage = seafserv_threaded_rpc.get_org_user_quota_usage(org_id, user.email) user.self_usage = seafserv_threaded_rpc.get_org_user_quota_usage(org_id, user.email)
user.share_usage = 0 #seafile_api.get_user_share_usage(user.email) user.share_usage = 0 #seafile_api.get_user_share_usage(user.email)
user.quota = seafserv_threaded_rpc.get_org_user_quota(org_id, user.email) user.quota = seafserv_threaded_rpc.get_org_user_quota(org_id, user.email)
@@ -430,23 +431,28 @@ def sys_org_set_quota(request, org_id):
@login_required @login_required
@sys_staff_required @sys_staff_required
def user_remove(request, user_id): def user_remove(request, user_id):
"""Remove user, also remove group relationship.""" """Remove user"""
referer = request.META.get('HTTP_REFERER', None)
next = reverse('sys_useradmin') if referer is None else referer
try: try:
user = User.objects.get(id=int(user_id)) user = User.objects.get(id=int(user_id))
org = ccnet_threaded_rpc.get_orgs_by_user(user.email) org = ccnet_threaded_rpc.get_orgs_by_user(user.email)
if org: if org:
if org[0].creator == user.email:
messages.error(request, _(u'Failed to delete: the user is an organization creator'))
return HttpResponseRedirect(next)
org_id = org[0].org_id org_id = org[0].org_id
org_repos = seafile_api.get_org_owned_repo_list(org_id, user.email) org_repos = seafile_api.get_org_owned_repo_list(org_id, user.email)
for repo in org_repos: for repo in org_repos:
seafile_api.remove_repo(repo.id) seafile_api.remove_repo(repo.id)
user.delete() user.delete()
messages.success(request, _(u'Successfully deleted %s') % user.username) messages.success(request, _(u'Successfully deleted %s') % user.username)
except User.DoesNotExist: except User.DoesNotExist:
messages.error(request, _(u'Failed to delete: the user does not exist')) messages.error(request, _(u'Failed to delete: the user does not exist'))
referer = request.META.get('HTTP_REFERER', None)
next = reverse('sys_useradmin') if referer is None else referer
return HttpResponseRedirect(next) return HttpResponseRedirect(next)
@login_required @login_required
@@ -874,10 +880,18 @@ def user_search(request):
users = ccnet_threaded_rpc.search_emailusers(email, -1, -1) users = ccnet_threaded_rpc.search_emailusers(email, -1, -1)
last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users]) last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users])
for user in users: for user in users:
org = ccnet_threaded_rpc.get_orgs_by_user(user.email)
try: try:
user.self_usage = seafile_api.get_user_self_usage(user.email) if not org:
user.share_usage = seafile_api.get_user_share_usage(user.email) user.self_usage = seafile_api.get_user_self_usage(user.email)
user.quota = seafile_api.get_user_quota(user.email) user.share_usage = seafile_api.get_user_share_usage(user.email)
user.quota = seafile_api.get_user_quota(user.email)
else:
user.org = org[0]
org_id = user.org.org_id
user.self_usage = seafserv_threaded_rpc.get_org_user_quota_usage(org_id, user.email)
user.share_usage = 0
user.quota = seafserv_threaded_rpc.get_org_user_quota(org_id, user.email)
except SearpcError as e: except SearpcError as e:
logger.error(e) logger.error(e)
user.self_usage = -1 user.self_usage = -1