mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 13:17:50 +02:00
Refactor paginator and add ellipsis
This commit is contained in:
@@ -112,14 +112,18 @@
|
|||||||
<span class="page-link">Previous</span>
|
<span class="page-link">Previous</span>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% for i in rolling_stock.paginator.page_range %}
|
{% for i in rolling_stock.paginator.get_elided_page_range %}
|
||||||
{% if rolling_stock.number == i %}
|
{% if rolling_stock.number == i %}
|
||||||
<li class="page-item active">
|
<li class="page-item active">
|
||||||
<span class="page-link">{{ i }}</span></span>
|
<span class="page-link">{{ i }}</span></span>
|
||||||
</li>
|
</li>
|
||||||
|
{% else %}
|
||||||
|
{% if i == rolling_stock.paginator.ELLIPSIS %}
|
||||||
|
<li class="page-item"><span class="page-link">{{ i }}</span></li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="page-item"><a class="page-link" href="{% url 'consist_pagination' uuid=consist.uuid page=i %}#rolling-stock">{{ i }}</a></li>
|
<li class="page-item"><a class="page-link" href="{% url 'consist_pagination' uuid=consist.uuid page=i %}#rolling-stock">{{ i }}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if rolling_stock.has_next %}
|
{% if rolling_stock.has_next %}
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
|
@@ -70,14 +70,18 @@
|
|||||||
<span class="page-link">Previous</span>
|
<span class="page-link">Previous</span>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% for i in consist.paginator.page_range %}
|
{% for i in consist.paginator.get_elided_page_range %}
|
||||||
{% if consist.number == i %}
|
{% if consist.number == i %}
|
||||||
<li class="page-item active">
|
<li class="page-item active">
|
||||||
<span class="page-link">{{ i }}</span></span>
|
<span class="page-link">{{ i }}</span></span>
|
||||||
</li>
|
</li>
|
||||||
|
{% else %}
|
||||||
|
{% if i == rolling_stock.paginator.ELLIPSIS %}
|
||||||
|
<li class="page-item"><span class="page-link">{{ i }}</span></li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="page-item"><a class="page-link" href="{% url 'consists_pagination' page=i %}#rolling-stock">{{ i }}</a></li>
|
<li class="page-item"><a class="page-link" href="{% url 'consists_pagination' page=i %}#rolling-stock">{{ i }}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if consist.has_next %}
|
{% if consist.has_next %}
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
|
@@ -19,14 +19,18 @@
|
|||||||
<span class="page-link">Previous</span>
|
<span class="page-link">Previous</span>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% for i in rolling_stock.paginator.page_range %}
|
{% for i in rolling_stock.paginator.get_elided_page_range %}
|
||||||
{% if rolling_stock.number == i %}
|
{% if rolling_stock.number == i %}
|
||||||
<li class="page-item active">
|
<li class="page-item active">
|
||||||
<span class="page-link">{{ i }}</span></span>
|
<span class="page-link">{{ i }}</span></span>
|
||||||
</li>
|
</li>
|
||||||
|
{% else %}
|
||||||
|
{% if i == rolling_stock.paginator.ELLIPSIS %}
|
||||||
|
<li class="page-item"><span class="page-link">{{ i }}</span></li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="page-item"><a class="page-link" href="{% url 'index_pagination' page=i %}#rolling-stock">{{ i }}</a></li>
|
<li class="page-item"><a class="page-link" href="{% url 'index_pagination' page=i %}#rolling-stock">{{ i }}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if rolling_stock.has_next %}
|
{% if rolling_stock.has_next %}
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
|
@@ -17,13 +17,17 @@
|
|||||||
<span class="page-link">Previous</span>
|
<span class="page-link">Previous</span>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% for i in rolling_stock.paginator.page_range %}
|
{% for i in rolling_stock.paginator.get_elided_page_range %}
|
||||||
{% if rolling_stock.number == i %}
|
{% if rolling_stock.number == i %}
|
||||||
<li class="page-item active">
|
<li class="page-item active">
|
||||||
<span class="page-link">{{ i }}</span></span>
|
<span class="page-link">{{ i }}</span></span>
|
||||||
</li>
|
</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="page-item"><a class="page-link" href="{% url 'search_pagination' search=search page=i %}#rolling-stock">{{ i }}</a></li>
|
{% if i == rolling_stock.paginator.ELLIPSIS %}
|
||||||
|
<li class="page-item"><span class="page-link">{{ i }}</span></li>
|
||||||
|
{% else %}
|
||||||
|
<li class="page-item"><a class="page-link" href="{% url 'index_pagination' page=i %}#rolling-stock">{{ i }}</a></li>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if rolling_stock.has_next %}
|
{% if rolling_stock.has_next %}
|
||||||
|
@@ -32,15 +32,8 @@ class GetHome(View):
|
|||||||
def get(self, request, page=1):
|
def get(self, request, page=1):
|
||||||
site_conf = get_site_conf()
|
site_conf = get_site_conf()
|
||||||
rolling_stock = RollingStock.objects.order_by(*order_by_fields())
|
rolling_stock = RollingStock.objects.order_by(*order_by_fields())
|
||||||
|
|
||||||
paginator = Paginator(rolling_stock, site_conf.items_per_page)
|
paginator = Paginator(rolling_stock, site_conf.items_per_page)
|
||||||
|
rolling_stock = paginator.get_page(page)
|
||||||
try:
|
|
||||||
rolling_stock = paginator.page(page)
|
|
||||||
except PageNotAnInteger:
|
|
||||||
rolling_stock = paginator.page(1)
|
|
||||||
except EmptyPage:
|
|
||||||
rolling_stock = paginator.page(paginator.num_pages)
|
|
||||||
|
|
||||||
return render(request, "home.html", {"rolling_stock": rolling_stock})
|
return render(request, "home.html", {"rolling_stock": rolling_stock})
|
||||||
|
|
||||||
@@ -82,13 +75,7 @@ class GetHomeFiltered(View):
|
|||||||
)
|
)
|
||||||
matches = len(rolling_stock)
|
matches = len(rolling_stock)
|
||||||
paginator = Paginator(rolling_stock, site_conf.items_per_page)
|
paginator = Paginator(rolling_stock, site_conf.items_per_page)
|
||||||
|
rolling_stock = paginator.get_page(page)
|
||||||
try:
|
|
||||||
rolling_stock = paginator.page(page)
|
|
||||||
except PageNotAnInteger:
|
|
||||||
rolling_stock = paginator.page(1)
|
|
||||||
except EmptyPage:
|
|
||||||
rolling_stock = paginator.page(paginator.num_pages)
|
|
||||||
|
|
||||||
return rolling_stock, matches
|
return rolling_stock, matches
|
||||||
|
|
||||||
@@ -161,13 +148,7 @@ class Consists(View):
|
|||||||
site_conf = get_site_conf()
|
site_conf = get_site_conf()
|
||||||
consist = Consist.objects.all()
|
consist = Consist.objects.all()
|
||||||
paginator = Paginator(consist, site_conf.items_per_page)
|
paginator = Paginator(consist, site_conf.items_per_page)
|
||||||
|
consist = paginator.get_page(page)
|
||||||
try:
|
|
||||||
consist = paginator.page(page)
|
|
||||||
except PageNotAnInteger:
|
|
||||||
consist = paginator.page(1)
|
|
||||||
except EmptyPage:
|
|
||||||
consist = paginator.page(paginator.num_pages)
|
|
||||||
|
|
||||||
return render(request, "consists.html", {"consist": consist})
|
return render(request, "consists.html", {"consist": consist})
|
||||||
|
|
||||||
@@ -181,13 +162,7 @@ class GetConsist(View):
|
|||||||
raise Http404
|
raise Http404
|
||||||
rolling_stock = consist.consist_item.all()
|
rolling_stock = consist.consist_item.all()
|
||||||
paginator = Paginator(rolling_stock, site_conf.items_per_page)
|
paginator = Paginator(rolling_stock, site_conf.items_per_page)
|
||||||
|
rolling_stock = paginator.get_page(page)
|
||||||
try:
|
|
||||||
rolling_stock = paginator.page(page)
|
|
||||||
except PageNotAnInteger:
|
|
||||||
rolling_stock = paginator.page(1)
|
|
||||||
except EmptyPage:
|
|
||||||
rolling_stock = paginator.page(paginator.num_pages)
|
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
|
Reference in New Issue
Block a user