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:
@@ -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">
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user