Skip to content

Commit

Permalink
By-laws on LawLibrary
Browse files Browse the repository at this point in the history
  • Loading branch information
nickmwangemi committed Aug 16, 2023
1 parent 2f14860 commit 9f8aea6
Show file tree
Hide file tree
Showing 10 changed files with 91 additions and 19 deletions.
1 change: 1 addition & 0 deletions lawlibrary/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
PROVINCIAL_CODES = ["ec", "fs", "gp", "lp", "mp", "nc", "nw", "wc", "kzn", "transvaal"]
10 changes: 10 additions & 0 deletions lawlibrary/context_processors.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from lawlibrary.constants import PROVINCIAL_CODES


def lawlibrary(request):
"""
Add some useful context to templates.
"""
return {
"PROVINCIAL_CODES": PROVINCIAL_CODES,
}
5 changes: 5 additions & 0 deletions lawlibrary/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,8 @@
JAZZMIN_SETTINGS["site_title"] = "Lawlibrary" # noqa
JAZZMIN_SETTINGS["site_header"] = "Lawlibrary" # noqa
JAZZMIN_SETTINGS["site_brand"] = "Lawlibrary.org.za" # noqa


TEMPLATES[0]["OPTIONS"]["context_processors"].append( # noqa
"lawlibrary.context_processors.lawlibrary"
)
6 changes: 6 additions & 0 deletions lawlibrary/templates/peachjam/_header.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@
{% trans 'Provincial Legislation' %}
</a>
</li>
<li class="nav-item">
<a class="nav-link {% if view.navbar_link == 'legislation/municipal' %}active{% endif %}"
href="{% url 'municipal_legislation' %}">
{% trans 'Municipal By-laws' %}
</a>
</li>
<li class="nav-item">
<a class="nav-link {% if view.navbar_link == 'gazettes' %}active{% endif %}"
href="{% url 'gazettes' %}">
Expand Down
12 changes: 9 additions & 3 deletions lawlibrary/templates/peachjam/legislation_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,15 @@
<nav aria-label="breadcrumb">
{% if document.locality %}
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{% url 'locality_legislation' %}">{% trans 'Provincial Legislation' %}</a>
</li>
{% if document.locality.code in PROVINCIAL_CODES %}
<li class="breadcrumb-item">
<a href="{% url 'locality_legislation' %}">{% trans 'Provincial Legislation' %}</a>
</li>
{% else %}
<li class="breadcrumb-item">
<a href="{% url 'municipal_legislation' %}">{% trans 'Municipal By-laws' %}</a>
</li>
{% endif %}
<li class="breadcrumb-item">
<a href="{% url 'locality_legislation_list' document.locality.code %}">{{ document.locality.name }}</a>
</li>
Expand Down
16 changes: 10 additions & 6 deletions lawlibrary/urls.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
from django.urls import include, path

from lawlibrary import views
from liiweb.views import LocalityLegislationListView

urlpatterns = [
path("", views.HomePageView.as_view(), name="home_page"),
path("legislation/", views.LegislationListView.as_view(), name="legislation_list"),
path(
"legislation/provincial",
views.LocalityLegislationView.as_view(),
views.LocalityLegislationView.as_view(variant="provincial"),
name="locality_legislation",
),
path(
Expand All @@ -23,23 +22,28 @@
),
path(
"legislation/<str:code>/",
LocalityLegislationListView.as_view(),
views.LocalityLegislationListView.as_view(),
name="locality_legislation_list",
),
path(
"legislation/<str:code>/repealed",
LocalityLegislationListView.as_view(variant="repealed"),
views.LocalityLegislationListView.as_view(variant="repealed"),
name="locality_legislation_list_repealed",
),
path(
"legislation/<str:code>/subsidiary",
LocalityLegislationListView.as_view(variant="subleg"),
views.LocalityLegislationListView.as_view(variant="subleg"),
name="locality_legislation_list_subsidiary",
),
path(
"legislation/<str:code>/all",
LocalityLegislationListView.as_view(variant="all"),
views.LocalityLegislationListView.as_view(variant="all"),
name="locality_legislation_list_all",
),
path(
"legislation/municipal",
views.LocalityLegislationView.as_view(variant="municipal"),
name="municipal_legislation",
),
path("", include("liiweb.urls")),
]
39 changes: 36 additions & 3 deletions lawlibrary/views/legislation.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
from lawlibrary.constants import PROVINCIAL_CODES
from liiweb.views import LegislationListView as BaseLegislationListView
from liiweb.views import LocalityLegislationListView as BaseLocalityLegislationListView
from liiweb.views import LocalityLegislationView as BaseLocalityLegislationView
from peachjam.helpers import chunks
from peachjam.models import Locality


class LegislationListView(BaseLegislationListView):
Expand All @@ -8,7 +12,36 @@ def get_queryset(self):


class LocalityLegislationView(BaseLocalityLegislationView):
variant = None

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)

if self.variant == "provincial":
context["locality_legislation_title"] = "Provincial Legislation"
localities = Locality.objects.filter(code__in=PROVINCIAL_CODES)
context["locality_groups"] = list(chunks(localities, 2))

if self.variant == "municipal":
context["locality_legislation_title"] = "Municipal By-laws"
localities = Locality.objects.exclude(code__in=PROVINCIAL_CODES)
context["locality_groups"] = list(chunks(localities, 2))
self.navbar_link = "legislation/municipal"

return context


class LocalityLegislationListView(BaseLocalityLegislationListView):
def get_context_data(self, **kwargs):
return super().get_context_data(
locality_legislation_title="Provincial Legislation", **kwargs
)
context = super().get_context_data(**kwargs)

context["locality"] = self.locality

if self.locality.code in PROVINCIAL_CODES:
context["locality_legislation_title"] = "Provincial Legislation"
context["show_subleg"] = True
else:
context["locality_legislation_title"] = "Municipal By-laws"
self.navbar_link = "legislation/municipal"

return context
2 changes: 1 addition & 1 deletion liiweb/templates/liiweb/locality_legislation.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<div class="container">
<h1 class="my-4">{{ locality_legislation_title }}</h1>
<div class="row">
{% for group in province_groups %}
{% for group in locality_groups %}
<div class="col-lg">
<ul class="list-unstyled mb-0">
{% for locality in group %}
Expand Down
17 changes: 12 additions & 5 deletions liiweb/templates/liiweb/locality_legislation_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,16 @@
<li class="breadcrumb-item">
<a href="{% url 'locality_legislation' %}">{{ locality_legislation_title }}</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{{ locality.name }}</li>
</ol>
</nav>
{% endblock %}
{% block page-heading %}
<h1 class="my-4">{% blocktrans with locality=locality.name %}{{ locality }} Legislation{% endblocktrans %}</h1>
{% if locality.code in PROVINCIAL_CODES %}
<h1 class="my-4">{% blocktrans with locality=locality.name %}{{ locality }} Legislation{% endblocktrans %}</h1>
{% else %}
<h1 class="my-4">{% blocktrans with locality=locality.name %}{{ locality }} By-laws{% endblocktrans %}</h1>
{% endif %}
{% include 'lawlibrary/_legislation_alert.html' %}
{% endblock %}
{% block legislation-nav %}
Expand All @@ -24,10 +29,12 @@ <h1 class="my-4">{% blocktrans with locality=locality.name %}{{ locality }} Legi
<a class="nav-link {% if view.variant == 'repealed' %}active{% endif %}"
href="{% url 'locality_legislation_list_repealed' locality.code %}">Repealed legislation</a>
</li>
<li class="nav-item">
<a class="nav-link {% if view.variant == 'subleg' %}active{% endif %}"
href="{% url 'locality_legislation_list_subsidiary' locality.code %}">{{ PEACHJAM_SETTINGS.subleg_label }}</a>
</li>
{% if show_subleg %}
<li class="nav-item">
<a class="nav-link {% if view.variant == 'subleg' %}active{% endif %}"
href="{% url 'locality_legislation_list_subsidiary' locality.code %}">{{ PEACHJAM_SETTINGS.subleg_label }}</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link {% if view.variant == 'all' %}active{% endif %}"
href="{% url 'locality_legislation_list_all' locality.code %}">All legislation</a>
Expand Down
2 changes: 1 addition & 1 deletion liiweb/views/legislation.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ class LocalityLegislationView(TemplateView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
localities = Locality.objects.all()
context["province_groups"] = list(chunks(localities, 2))
context["locality_groups"] = list(chunks(localities, 2))
return context


Expand Down

0 comments on commit 9f8aea6

Please sign in to comment.