Skip to content
Snippets Groups Projects
Verified Commit fbbcf0ce authored by jan.hamal.dvorak's avatar jan.hamal.dvorak
Browse files

elections2021: Add calendar filters

parent 19679033
Branches
No related tags found
2 merge requests!338Filtrování událostí v kalendáři,!336Filtrování událostí v kalendáři
Pipeline #4790 passed
import re
import arrow
import requests
from django.core.serializers.json import DjangoJSONEncoder
......@@ -24,6 +26,27 @@ class EventsJSONField(models.JSONField):
for event in value:
event["begin"] = arrow.get(event["begin"]).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
......
......@@ -16,9 +16,141 @@
{% endblock %}
{% block content %}
<div class="container container--default pt-8 pb-16 lg:py-24">
<div class="container container--default pt-16 pb-8 px-0 md:px-1">
<div class="m-auto text-center text-xl leading-loose max-w-2xl">
{% if not request.GET.tag %}
<span class="font-bold p-1 bg-black text-white">Všechny akce</span> nebo jenom
{% else %}
<a href="?region={{request.GET.region|urlencode}}&amp;tag=" class="font-bold p-1 bg-lemon">Všechny akce</a> nebo jenom
{% endif %}
{% if request.GET.tag == 'lídři' %}
<span class="font-bold p-1 bg-black text-white">setkání s lídry</span>,
{% else %}
<a href="?region={{request.GET.region|urlencode}}&amp;tag=lídři" class="font-bold p-1 bg-lemon">setkání s lídry</a>,
{% endif %}
{% if request.GET.tag == 'bartoš' %}
<span class="font-bold p-1 bg-black text-white">Ivanem Bartošem</span>,
{% else %}
<a href="?region={{request.GET.region|urlencode}}&amp;tag=bartoš" class="font-bold p-1 bg-lemon">Ivanem Bartošem</a>,
{% endif %}
{% if request.GET.tag == 'rakušan' %}
<span class="font-bold p-1 bg-black text-white">Vítem Rakušanem</span>,
{% else %}
<a href="?region={{request.GET.region|urlencode}}&amp;tag=rakušan" class="font-bold p-1 bg-lemon">Vítem Rakušanem</a>,
{% endif %}
{% if request.GET.tag == 'nanukára' %}
<span class="font-bold p-1 bg-black text-white">zastávka Nanukáry</span> či
{% else %}
<a href="?region={{request.GET.region|urlencode}}&amp;tag=nanukára" class="font-bold p-1 bg-lemon">zastávka Nanukáry</a> či
{% endif %}
{% if request.GET.tag == 'vraťmezemibudoucnost' %}
<span class="font-bold p-1 bg-black text-white">vraťme zemi budoucnost</span>?
{% else %}
<a href="?region={{request.GET.region|urlencode}}&amp;tag=vraťmezemibudoucnost" class="font-bold p-1 bg-lemon">vraťme zemi budoucnost</a>?
{% endif %}
</div>
<div class="m-auto text-center py-8 text-xl leading-loose max-w-2xl">
{% if not request.GET.region %}
<span class="font-bold p-1 bg-black text-white">Všechny kraje</span> nebo jenom
{% else %}
<a href="?region=&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Všechny kraje</a> nebo jenom
{% endif %}
{% if request.GET.region == 'PHA' %}
<span class="font-bold p-1 bg-black text-white">Praha</span>,
{% else %}
<a href="?region=PHA&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Praha</a>,
{% endif %}
{% if request.GET.region == 'STC' %}
<span class="font-bold p-1 bg-black text-white">Středočeský</span>,
{% else %}
<a href="?region=STC&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Středočeský</a>,
{% endif %}
{% if request.GET.region == 'JHC' %}
<span class="font-bold p-1 bg-black text-white">Jihočeský</span>,
{% else %}
<a href="?region=JHC&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Jihočeský</a>,
{% endif %}
{% if request.GET.region == 'PLK' %}
<span class="font-bold p-1 bg-black text-white">Plzeňský</span>,
{% else %}
<a href="?region=PLK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Plzeňský</a>,
{% endif %}
{% if request.GET.region == 'KVK' %}
<span class="font-bold p-1 bg-black text-white">Karlovarský</span>,
{% else %}
<a href="?region=KVK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Karlovarský</a>,
{% endif %}
{% if request.GET.region == 'ULK' %}
<span class="font-bold p-1 bg-black text-white">Ústecký</span>,
{% else %}
<a href="?region=ULK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Ústecký</a>,
{% endif %}
{% if request.GET.region == 'LBK' %}
<span class="font-bold p-1 bg-black text-white">Liberecký</span>,
{% else %}
<a href="?region=LBK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Liberecký</a>,
{% endif %}
{% if request.GET.region == 'HKK' %}
<span class="font-bold p-1 bg-black text-white">Královéhradecký</span>,
{% else %}
<a href="?region=HKK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Královéhradecký</a>,
{% endif %}
{% if request.GET.region == 'MSK' %}
<span class="font-bold p-1 bg-black text-white">Moravskoslezský</span>,
{% else %}
<a href="?region=MSK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Moravskoslezský</a>,
{% endif %}
{% if request.GET.region == 'PAK' %}
<span class="font-bold p-1 bg-black text-white">Pardubický</span>,
{% else %}
<a href="?region=PAK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Pardubický</a>,
{% endif %}
{% if request.GET.region == 'VYS' %}
<span class="font-bold p-1 bg-black text-white">Vysočina</span>,
{% else %}
<a href="?region=VYS&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Vysočina</a>,
{% endif %}
{% if request.GET.region == 'JHM' %}
<span class="font-bold p-1 bg-black text-white">Jihomoravský</span>,
{% else %}
<a href="?region=JHM&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Jihomoravský</a>,
{% endif %}
{% if request.GET.region == 'OLK' %}
<span class="font-bold p-1 bg-black text-white">Olomoucký</span> či
{% else %}
<a href="?region=OLK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Olomoucký</a> či
{% endif %}
{% if request.GET.region == 'ZLK' %}
<span class="font-bold p-1 bg-black text-white">Zlínský</span>?
{% else %}
<a href="?region=ZLK&amp;tag={{request.GET.tag}}" class="font-bold p-1 bg-lemon">Zlínský</a>?
{% endif %}
</div>
<div class="container container--default pt-8 pb-16 px-0 md:px-1">
{% for event in page.calendar.future_events %}
{% 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 %}
<div class="grid grid-cols-12 items-center calendar-table-row my-1">
<div class="col-span-2 head-alt-md calendar-table-row__col" style="color: #92ac00">
<span>{{ event.begin|date:"j." }}</span>
......@@ -29,7 +161,12 @@
<p class="font-light text-sm mt-1">{{ event.duration }}</p>
</div>
<div class="col-span-3 md:col-span-2 mt-4 md:mt-0">
<strong class="block">{{ event.name }}</strong>
<p>
<strong>{{ event.pir.name }}</strong>
{% for tag in event.pir.tags %}
<span class="text-sm font-light">#{{tag}}</span>
{% endfor %}
</p>
{% if event.location %}
<p class="font-light text-sm mt-1">{{ event.location }}</p>
{% endif %}
......@@ -48,6 +185,8 @@
{% endif %}
</div>
</div>
{% endif %}
{% endif %}
{% empty %}
<div class="calendar__row__content">
<p>Žádné události.</p>
......
......@@ -89,7 +89,12 @@
<p class="font-light text-sm mt-1">{{ event.duration }}</p>
</div>
<div class="col-span-3 md:col-span-2 mt-4 md:mt-0">
<strong class="block">{{ event.name }}</strong>
<p>
<strong>{{ event.pir.name }}</strong>
{% for tag in event.pir.tags %}
<span class="text-sm font-light">#{{tag}}</span>
{% endfor %}
</p>
{% if event.location %}
<p class="font-light text-sm mt-1">{{ event.location }}</p>
{% endif %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment