Skip to content
Snippets Groups Projects
Commit b48b7db3 authored by jan.bednarik's avatar jan.bednarik
Browse files

elections2021: Small calendar refactoring

parent fbbcf0ce
Branches
Tags
2 merge requests!340release,!339Volby
...@@ -26,27 +26,6 @@ class EventsJSONField(models.JSONField): ...@@ -26,27 +26,6 @@ class EventsJSONField(models.JSONField):
for event in value: for event in value:
event["begin"] = arrow.get(event["begin"]).datetime event["begin"] = arrow.get(event["begin"]).datetime
event["end"] = arrow.get(event["end"]).datetime event["end"] = arrow.get(event["end"]).datetime
event["pir"] = {
"name": None,
"tags": [],
"region": None,
}
pir_name = []
for word in event["name"].split():
if word.startswith("#"):
event["pir"]["tags"].append(word[1:])
else:
pir_name.append(word)
if len(pir_name) > 0:
if pir_name[0].endswith(":") and len(pir_name[0]) == 4:
event["pir"]["region"] = pir_name.pop(0)[:-1]
event["pir"]["name"] = " ".join(pir_name)
return value return value
......
...@@ -2425,3 +2425,31 @@ class Elections2021CalendarPage(SubpageMixin, MetadataPageMixin, CalendarMixin, ...@@ -2425,3 +2425,31 @@ class Elections2021CalendarPage(SubpageMixin, MetadataPageMixin, CalendarMixin,
@property @property
def has_calendar(self): def has_calendar(self):
return self.calendar_id is not None return self.calendar_id is not None
def get_context(self, request):
context = super().get_context(request)
future_events = self.calendar.future_events
for event in future_events:
event["pir"] = {
"name": None,
"tags": [],
"region": None,
}
pir_name = []
for word in event.get("name", "").split():
if word.startswith("#"):
event["pir"]["tags"].append(word[1:])
else:
pir_name.append(word)
if len(pir_name) > 0:
if pir_name[0].endswith(":") and len(pir_name[0]) == 4:
event["pir"]["region"] = pir_name.pop(0)[:-1]
event["pir"]["name"] = " ".join(pir_name)
context["future_events"] = future_events
return context
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
</div> </div>
<div class="container container--default pt-8 pb-16 px-0 md:px-1"> <div class="container container--default pt-8 pb-16 px-0 md:px-1">
{% for event in page.calendar.future_events %} {% for event in future_events %}
{% if not request.GET.tag or request.GET.tag in event.pir.tags %} {% if not request.GET.tag or request.GET.tag in event.pir.tags %}
{% if not request.GET.region or request.GET.region == event.pir.region %} {% if not request.GET.region or request.GET.region == event.pir.region %}
<div class="grid grid-cols-12 items-center calendar-table-row my-1"> <div class="grid grid-cols-12 items-center calendar-table-row my-1">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment