From 8704dc1b34d4560f6379f9c56aba43534a03424b Mon Sep 17 00:00:00 2001 From: zhengxie Date: Thu, 21 Nov 2013 15:05:08 +0800 Subject: [PATCH] Modified sys user admin and search --- .../sysadmin/sys_ldap_useradmin.html | 5 +- seahub/templates/sysadmin/sys_useradmin.html | 4 +- seahub/templates/sysadmin/user_search.html | 59 ++----------------- seahub/templates/sysadmin/useradmin_js.html | 10 ++++ .../templates/sysadmin/useradmin_table.html | 11 +++- seahub/views/sysadmin.py | 25 +++++++- 6 files changed, 54 insertions(+), 60 deletions(-) diff --git a/seahub/templates/sysadmin/sys_ldap_useradmin.html b/seahub/templates/sysadmin/sys_ldap_useradmin.html index 797f5d6f77..4bcf599e15 100644 --- a/seahub/templates/sysadmin/sys_ldap_useradmin.html +++ b/seahub/templates/sysadmin/sys_ldap_useradmin.html @@ -15,13 +15,16 @@ {% block main_panel %} - + + {% for user in users %} + - + @@ -13,6 +13,7 @@ - + {% endfor %} diff --git a/seahub/views/sysadmin.py b/seahub/views/sysadmin.py index 81fbd534b8..d27f66af1e 100644 --- a/seahub/views/sysadmin.py +++ b/seahub/views/sysadmin.py @@ -21,6 +21,7 @@ from seaserv import seafile_api from pysearpc import SearpcError from seahub.base.accounts import User +from seahub.base.models import UserLastLogin from seahub.base.decorators import sys_staff_required from seahub.auth.decorators import login_required from seahub.utils import IS_EMAIL_CONFIGURED @@ -140,6 +141,7 @@ def sys_user_admin(request): page_next = False users = users_plus_one[:per_page] + last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users]) for user in users: if user.props.id == request.user.id: user.is_self = True @@ -151,6 +153,11 @@ def sys_user_admin(request): user.self_usage = -1 user.share_usage = -1 user.quota = -1 + # populate user last login time + user.last_login = None + for last_login in last_logins: + if last_login.username == user.email: + user.last_login = last_login.last_login have_ldap = True if len(get_emailusers('LDAP', 0, 1)) > 0 else False @@ -186,6 +193,7 @@ def sys_ldap_user_admin(request): page_next = False users = users_plus_one[:per_page] + last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users]) for user in users: if user.props.id == request.user.id: user.is_self = True @@ -197,6 +205,13 @@ def sys_ldap_user_admin(request): user.self_usage = -1 user.share_usage = -1 user.quota = -1 + + # populate user last login time + user.last_login = None + for last_login in last_logins: + if last_login.username == user.email: + user.last_login = last_login.last_login + return render_to_response( 'sysadmin/sys_ldap_useradmin.html', { @@ -597,8 +612,14 @@ def user_search(request): email = request.GET.get('email', '') email_patt = email.replace('*', '%') - users = ccnet_threaded_rpc.search_emailusers( - email_patt, -1, -1) + users = ccnet_threaded_rpc.search_emailusers(email_patt, -1, -1) + last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users]) + for user in users: + # populate user last login time + user.last_login = None + for last_login in last_logins: + if last_login.username == user.email: + user.last_login = last_login.last_login return render_to_response('sysadmin/user_search.html', { 'users': users,
{% trans "Email" %}{% trans "Email" %}{% trans "Create At / Last Login" %} {% trans "Space Used" %}
{{ user.email }} -- / {% if user.last_login %}{{user.last_login|translate_seahub_time}} {% else %} -- {% endif %} + {% if CALC_SHARE_USAGE %} {{ user.self_usage|filesizeformat }} + {{ user.share_usage|filesizeformat }} {% if user.quota > 0 %} / {{ user.quota|filesizeformat }} {% endif %} diff --git a/seahub/templates/sysadmin/sys_useradmin.html b/seahub/templates/sysadmin/sys_useradmin.html index 819204dc03..69e3728d9c 100644 --- a/seahub/templates/sysadmin/sys_useradmin.html +++ b/seahub/templates/sysadmin/sys_useradmin.html @@ -19,7 +19,6 @@ -
{% csrf_token %}

{% trans "Add new user" %}


@@ -35,6 +34,9 @@ {% include "sysadmin/useradmin_table.html"%} {% include "sysadmin/useradmin_paginator.html" %} +
+

{% trans "Activating..., please wait" %}

+
{% endblock %} {% block extra_script %} diff --git a/seahub/templates/sysadmin/user_search.html b/seahub/templates/sysadmin/user_search.html index db825b76d4..903c1bd4fe 100644 --- a/seahub/templates/sysadmin/user_search.html +++ b/seahub/templates/sysadmin/user_search.html @@ -11,64 +11,15 @@

{% trans "Result"%}

{% if users %} - - - - - - - - - - {% for user in users %} - - - - - - - - - {% endfor %} -
{% trans "Email" %}{% trans "Status" %}{% trans "Space Used" %}{% trans "Create At" %}{% trans "Operations" %}
{{ user.email }} - {% if user.source != 'LDAP' %} -
- {% if user.is_active %} - {% trans "Active" %} - {% else %} - {% trans "Inactive" %} - {% endif %} - {% trans -
- - {% endif %} -
- {% if CALC_SHARE_USAGE %} - {{ user.self_usage|filesizeformat }} + {{ user.share_usage|filesizeformat }} {% if user.quota > 0 %} / {{ user.quota|filesizeformat }} {% endif %} - {% else %} - {{ user.self_usage|filesizeformat }} {% if user.quota > 0 %} / {{ user.quota|filesizeformat }} {% endif %} - {% endif %} - {% if user.source != 'LDAP' %}{{ user.ctime|tsstr_sec }}{% endif %} - {% if user.source != 'LDAP' %} - {% if not user.is_self %} - {% trans "Delete" %} - {% trans "ResetPwd" %} - {% if user.is_staff %} - {% trans "Revoke Admin" %} - {% else %} - {% trans "Set Admin" %} - {% endif %} - {% endif %} - {% endif %} -
+{% include "sysadmin/useradmin_table.html"%} {% else %}

{% trans "No result" %}

{% endif %} +
+

{% trans "Activating..., please wait" %}

+
+ {% endblock %} {% block extra_script %} diff --git a/seahub/templates/sysadmin/useradmin_js.html b/seahub/templates/sysadmin/useradmin_js.html index ba67c4c5e4..b12726e27b 100644 --- a/seahub/templates/sysadmin/useradmin_js.html +++ b/seahub/templates/sysadmin/useradmin_js.html @@ -43,6 +43,14 @@ $('.user-status-select').change(function() { type: 'GET', dataType: 'json', cache: false, + beforeSend: function() { + if (select_val == 1) { + console.log('activating user..please wait'); + // show activating popup + $('#activate-msg').modal(); + $('#simplemodal-container').css({'height':'auto'}); + } + }, success: function(data) { if (data['email_sent']) { feedback("{% trans "Edit succeeded, an email has been sent." %}", 'success'); @@ -58,11 +66,13 @@ $('.user-status-select').change(function() { select.addClass('hide'); select.prev().removeClass('hide'); + $.modal.close(); }, error: function() { feedback("{% trans "Edit failed." %}", 'error'); select.addClass('hide'); select.prev().removeClass('hide'); + $.modal.close(); } }); }); diff --git a/seahub/templates/sysadmin/useradmin_table.html b/seahub/templates/sysadmin/useradmin_table.html index 57289fcbe8..5abed246c3 100644 --- a/seahub/templates/sysadmin/useradmin_table.html +++ b/seahub/templates/sysadmin/useradmin_table.html @@ -4,7 +4,7 @@
{% trans "Email" %} {% trans "Status" %} {% trans "Space Used" %}{% trans "Create At" %}{% trans "Create At / Last Login" %} {% trans "Operations" %}
{{ user.email }} + {% if user.source != 'LDAP' %}
{% if user.is_active %} {% trans "Active" %} @@ -26,6 +27,7 @@ + {% endif %}
@@ -35,8 +37,12 @@ {{ user.self_usage|filesizeformat }} {% if user.quota > 0 %} / {{ user.quota|filesizeformat }} {% endif %} {% endif %} {{ user.ctime|tsstr_sec }}{% if user.source != 'LDAP' %} + {{ user.ctime|tsstr_sec }} / {% if user.last_login %}{{user.last_login|translate_seahub_time}} {% else %} -- {% endif %} + {% endif %} + + {% if user.source != 'LDAP' %} {% if not user.is_self %} {% trans "Delete" %} {% trans "ResetPwd" %} @@ -46,6 +52,7 @@ {% trans "Set Admin" %} {% endif %} {% endif %} + {% endif %}