diff --git a/ram/portal/templates/consist.html b/ram/portal/templates/consist.html
index ede03fb..57c08ec 100644
--- a/ram/portal/templates/consist.html
+++ b/ram/portal/templates/consist.html
@@ -112,7 +112,7 @@
Previous
{% endif %}
- {% for i in rolling_stock.paginator.get_elided_page_range %}
+ {% for i in page_range %}
{% if rolling_stock.number == i %}
{{ i }}
diff --git a/ram/portal/templates/consists.html b/ram/portal/templates/consists.html
index 168d2c4..0b9efe8 100644
--- a/ram/portal/templates/consists.html
+++ b/ram/portal/templates/consists.html
@@ -70,7 +70,7 @@
Previous
{% endif %}
- {% for i in consist.paginator.get_elided_page_range %}
+ {% for i in page_range %}
{% if consist.number == i %}
{{ i }}
diff --git a/ram/portal/templates/search.html b/ram/portal/templates/search.html
index fd72f2a..306b6cf 100644
--- a/ram/portal/templates/search.html
+++ b/ram/portal/templates/search.html
@@ -17,7 +17,7 @@
Previous
{% endif %}
- {% for i in rolling_stock.paginator.get_elided_page_range %}
+ {% for i in page_range %}
{% if rolling_stock.number == i %}
{{ i }}
diff --git a/ram/portal/views.py b/ram/portal/views.py
index f0ac0e5..b99f944 100644
--- a/ram/portal/views.py
+++ b/ram/portal/views.py
@@ -15,10 +15,12 @@ from consist.models import Consist
def order_by_fields():
order_by = get_site_conf().items_ordering
- fields = ["rolling_class__type",
- "rolling_class__company",
- "rolling_class__identifier",
- "road_number_int"]
+ fields = [
+ "rolling_class__type",
+ "rolling_class__company",
+ "rolling_class__identifier",
+ "road_number_int",
+ ]
if order_by == "type":
return (fields[0], fields[1], fields[2], fields[3])
@@ -32,6 +34,7 @@ class GetHome(View):
def get(self, request, page=1):
site_conf = get_site_conf()
rolling_stock = RollingStock.objects.order_by(*order_by_fields())
+
paginator = Paginator(rolling_stock, site_conf.items_per_page)
rolling_stock = paginator.get_page(page)
page_range = paginator.get_elided_page_range(rolling_stock.number)
@@ -39,7 +42,7 @@ class GetHome(View):
return render(
request,
"home.html",
- {"rolling_stock": rolling_stock, "page_range": page_range}
+ {"rolling_stock": rolling_stock, "page_range": page_range},
)
@@ -75,18 +78,21 @@ class GetHomeFiltered(View):
query = Q(tags__slug__icontains=search)
else:
raise Http404
- rolling_stock = (
- RollingStock.objects.filter(query).order_by(*order_by_fields())
+ rolling_stock = RollingStock.objects.filter(query).order_by(
+ *order_by_fields()
)
matches = len(rolling_stock)
+
paginator = Paginator(rolling_stock, site_conf.items_per_page)
rolling_stock = paginator.get_page(page)
+ page_range = paginator.get_elided_page_range(rolling_stock.number)
- return rolling_stock, matches
+ return rolling_stock, matches, page_range
def get(self, request, search, _filter=None, page=1):
- rolling_stock, matches = self.run_search(
- request, search, _filter, page)
+ rolling_stock, matches, page_range = self.run_search(
+ request, search, _filter, page
+ )
return render(
request,
@@ -96,6 +102,7 @@ class GetHomeFiltered(View):
"filter": _filter,
"matches": matches,
"rolling_stock": rolling_stock,
+ "page_range": page_range,
},
)
@@ -103,8 +110,9 @@ class GetHomeFiltered(View):
search = request.POST.get("search")
if not search:
raise Http404
- rolling_stock, matches = self.run_search(
- request, search, _filter, page)
+ rolling_stock, matches, page_range = self.run_search(
+ request, search, _filter, page
+ )
return render(
request,
@@ -114,6 +122,7 @@ class GetHomeFiltered(View):
"filter": _filter,
"matches": matches,
"rolling_stock": rolling_stock,
+ "page_range": page_range,
},
)
@@ -126,15 +135,16 @@ class GetRollingStock(View):
raise Http404
class_properties = (
- rolling_stock.rolling_class.property.all() if
- request.user.is_authenticated else
- rolling_stock.rolling_class.property.filter(
- property__private=False)
+ rolling_stock.rolling_class.property.all()
+ if request.user.is_authenticated
+ else rolling_stock.rolling_class.property.filter(
+ property__private=False
+ )
)
rolling_stock_properties = (
- rolling_stock.property.all() if
- request.user.is_authenticated else
- rolling_stock.property.filter(property__private=False)
+ rolling_stock.property.all()
+ if request.user.is_authenticated
+ else rolling_stock.property.filter(property__private=False)
)
return render(
@@ -152,10 +162,16 @@ class Consists(View):
def get(self, request, page=1):
site_conf = get_site_conf()
consist = Consist.objects.all()
+
paginator = Paginator(consist, site_conf.items_per_page)
consist = paginator.get_page(page)
+ page_range = paginator.get_elided_page_range(consist.number)
- return render(request, "consists.html", {"consist": consist})
+ return render(
+ request,
+ "consists.html",
+ {"consist": consist, "page_range": page_range}
+ )
class GetConsist(View):
@@ -166,11 +182,17 @@ class GetConsist(View):
except ObjectDoesNotExist:
raise Http404
rolling_stock = consist.consist_item.all()
+
paginator = Paginator(rolling_stock, site_conf.items_per_page)
rolling_stock = paginator.get_page(page)
+ page_range = paginator.get_elided_page_range(rolling_stock.number)
return render(
request,
"consist.html",
- {"consist": consist, "rolling_stock": rolling_stock},
+ {
+ "consist": consist,
+ "rolling_stock": rolling_stock,
+ "page_range": page_range
+ },
)