diff --git a/seahub/templates/sysadmin/sys_publink_admin.html b/seahub/templates/sysadmin/sys_publink_admin.html index 0697a3ced8..d8785ee6f9 100644 --- a/seahub/templates/sysadmin/sys_publink_admin.html +++ b/seahub/templates/sysadmin/sys_publink_admin.html @@ -11,8 +11,8 @@ {% trans "Name" %} {% trans "Owner" %} - {% trans "Create At" %} - {% trans "Count" %} + {% trans "Create At" %} {% if sort_by == 'time_down' %}{% elif sort_by == 'time_up' %}{% endif %} + {% trans "Count" %} {% if sort_by == 'count_down' %}{% elif sort_by == 'count_up' %}{% endif %} {% trans "Operations" %} {% for publink in publinks %} @@ -28,7 +28,33 @@ {% endfor %} -{% include "snippets/admin_paginator.html" %} +
+ {% if current_page != 1 %} + {% trans "Previous" %} + {% endif %} + {% if page_next %} + {% trans "Next" %} + {% endif %} + {% if current_page != 1 or page_next %} + | + {% endif %} + {% trans "Per page: " %} + {% if per_page == 25 %} + 25 + {% else %} + 25 + {% endif %} + {% if per_page == 50 %} + 50 + {% else %} + 50 + {% endif %} + {% if per_page == 100 %} + 100 + {% else %} + 100 + {% endif %} +
{% else %}

{% trans "Empty" %}

{% endif %} @@ -52,5 +78,24 @@ $('.rm-link').click(function() { }); return false; }); + +var sort_by = '{{ sort_by }}'; +var url = '{% url 'sys_publink_admin' %}' + '?per_page={{ per_page }}'; +$(".by-time").on('click', function () { + if (sort_by == 'time_down') { + location.href = url + '&sort_by=time_up'; + } else { + location.href = url + '&sort_by=time_down'; + } + return false; +}); +$(".by-count").on('click', function () { + if (sort_by == 'count_down') { + location.href = url + '&sort_by=count_up'; + } else { + location.href = url + '&sort_by=count_down'; + } + return false; +}); {% endblock %} diff --git a/seahub/views/sysadmin.py b/seahub/views/sysadmin.py index 4d0b8ad166..52feb9591f 100644 --- a/seahub/views/sysadmin.py +++ b/seahub/views/sysadmin.py @@ -17,7 +17,6 @@ from django.http import HttpResponse, Http404, HttpResponseRedirect, HttpRespons from django.shortcuts import render_to_response from django.template import RequestContext from django.utils import timezone -from django.template.defaultfilters import filesizeformat from django.utils.translation import ugettext as _ import seaserv @@ -29,8 +28,7 @@ from seahub.base.accounts import User from seahub.base.models import UserLastLogin from seahub.base.decorators import sys_staff_required, require_POST from seahub.base.sudo_mode import update_sudo_mode_ts -from seahub.base.templatetags.seahub_tags import tsstr_sec, email2nickname, \ - translate_seahub_time_str +from seahub.base.templatetags.seahub_tags import tsstr_sec, email2nickname from seahub.auth import authenticate from seahub.auth.decorators import login_required, login_required_ajax from seahub.constants import GUEST_USER, DEFAULT_USER @@ -74,10 +72,6 @@ logger = logging.getLogger(__name__) @login_required @sys_staff_required def sysadmin(request): - """ - """ - username = request.user.username - max_upload_file_size = get_max_upload_file_size() folder_perm_enabled = True if is_pro_version() and settings.ENABLE_FOLDER_PERM else False @@ -1771,7 +1765,16 @@ def sys_publink_admin(request): offset = per_page * (current_page -1) limit = per_page + 1 - publinks = FileShare.objects.all()[offset:offset+limit] + sort_by = request.GET.get('sort_by', 'time_up') + + if sort_by == 'time_down': + publinks = FileShare.objects.all().order_by('ctime')[offset:offset+limit] + elif sort_by == 'count_up': + publinks = FileShare.objects.all().order_by('-view_cnt')[offset:offset+limit] + elif sort_by == 'count_down': + publinks = FileShare.objects.all().order_by('view_cnt')[offset:offset+limit] + else: + publinks = FileShare.objects.all().order_by('-ctime')[offset:offset+limit] if len(publinks) == per_page + 1: page_next = True @@ -1792,6 +1795,8 @@ def sys_publink_admin(request): 'next_page': current_page+1, 'per_page': per_page, 'page_next': page_next, + 'per_page': per_page, + 'sort_by': sort_by, }, context_instance=RequestContext(request))