mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 16:31:13 +00:00
Paginate seafadmin page
This commit is contained in:
@@ -22,4 +22,28 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</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 %}
|
{% endblock %}
|
||||||
|
22
views.py
22
views.py
@@ -174,7 +174,22 @@ def seafadmin(request):
|
|||||||
if not request.user.is_staff:
|
if not request.user.is_staff:
|
||||||
raise Http404
|
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:
|
for repo in repos:
|
||||||
try:
|
try:
|
||||||
owner_id = seafserv_threaded_rpc.get_repo_owner(repo.props.id)
|
owner_id = seafserv_threaded_rpc.get_repo_owner(repo.props.id)
|
||||||
@@ -186,6 +201,11 @@ def seafadmin(request):
|
|||||||
return render_to_response(
|
return render_to_response(
|
||||||
'repos.html', {
|
'repos.html', {
|
||||||
'repos': repos,
|
'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))
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user