mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-03 07:55:36 +00:00
Paginate seafadmin page
This commit is contained in:
@@ -22,4 +22,28 @@
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
<div id="paginator">
|
||||
{% if current_page != 1 %}
|
||||
<a href="{{ SITE_ROOT }}seafadmin/?page={{ prev_page }}&per_page={{ per_page }}">上一页</a>
|
||||
{% endif %}
|
||||
{% if page_next %}
|
||||
<a href="{{ SITE_ROOT }}seafadmin/?page={{ next_page }}&per_page={{ per_page }}">下一页</a>
|
||||
{% endif %}
|
||||
<span>每页:</span>
|
||||
{% if per_page == 25 %}
|
||||
<span> 25 </span>
|
||||
{% else %}
|
||||
<a href="{{ SITE_ROOT }}seafadmin/?per_page=25" class="per-page">25</a>
|
||||
{% endif %}
|
||||
{% if per_page == 50 %}
|
||||
<span> 50 </span>
|
||||
{% else %}
|
||||
<a href="{{ SITE_ROOT }}seafadmin/?per_page=50" class="per-page">50</a>
|
||||
{% endif %}
|
||||
{% if per_page == 100 %}
|
||||
<span> 100 </span>
|
||||
{% else %}
|
||||
<a href="{{ SITE_ROOT }}seafadmin/?per_page=100" class="per-page">100</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
22
views.py
22
views.py
@@ -174,7 +174,22 @@ def seafadmin(request):
|
||||
if not request.user.is_staff:
|
||||
raise Http404
|
||||
|
||||
repos = seafserv_threaded_rpc.get_repo_list("", 1000)
|
||||
# Make sure page request is an int. If not, deliver first page.
|
||||
try:
|
||||
current_page = int(request.GET.get('page', '1'))
|
||||
per_page= int(request.GET.get('per_page', '25'))
|
||||
except ValueError:
|
||||
page = 1
|
||||
per_page = 25
|
||||
|
||||
repos_all = seafserv_threaded_rpc.get_repo_list(per_page * (current_page -1), per_page + 1)
|
||||
repos = repos_all[:per_page]
|
||||
|
||||
if len(repos_all) == per_page + 1:
|
||||
page_next = True
|
||||
else:
|
||||
page_next = False
|
||||
|
||||
for repo in repos:
|
||||
try:
|
||||
owner_id = seafserv_threaded_rpc.get_repo_owner(repo.props.id)
|
||||
@@ -186,6 +201,11 @@ def seafadmin(request):
|
||||
return render_to_response(
|
||||
'repos.html', {
|
||||
'repos': repos,
|
||||
'current_page': current_page,
|
||||
'prev_page': current_page-1,
|
||||
'next_page': current_page+1,
|
||||
'per_page': per_page,
|
||||
'page_next': page_next,
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
Reference in New Issue
Block a user