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 %}
{% 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 @@
-
{% trans "Result"%}{% if users %} -
{% trans "No result" %} {% endif %} +
+
+
{% 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 "Activating..., please wait" %} + | {% 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 %} | {% 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,