diff --git a/build/lib/thsf/__init__.py b/build/lib/thsf/__init__.py index 5f29f23..c94fa12 100644 --- a/build/lib/thsf/__init__.py +++ b/build/lib/thsf/__init__.py @@ -52,6 +52,9 @@ except Exception as err: def page_not_found(err): return redirect(url_for('index')) +def get_slots(): + return backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/schedules/{app.local_config['pretalx']['schedule']}").json() + # ------------------------------------------------------------------------------ # -- Custom filters # ------------------------------------------------------------------------------ @@ -87,7 +90,6 @@ def date2dmyhm(slot_type): "Exposition": "fa-solid fa-palette"} return slot_types[slot_type] - # ------------------------------------------------------------------------------ # -- Routes # ------------------------------------------------------------------------------ @@ -103,10 +105,10 @@ def index(): @app.route('/planning', methods=['GET']) def planning(): - slots = backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/schedules/{app.local_config['pretalx']['schedule']}").json() + slots = get_slots() return render_template("planning.html", slots=sorted(slots["slots"], - key=lambda slot: slot["slot"]["start"]), + key=lambda slot: slot["slot"]["start"]), navbar=navbar.get_from_page(page="/planning")) @app.route('/place', methods=['GET']) @@ -126,33 +128,57 @@ def goodies(): @app.route('/concerts', methods=['GET']) def concerts(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/concerts")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/concerts"), + filter=["concerts", "dj set"]) @app.route('/workshops', methods=['GET']) def workshops(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/workshops")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/workshops"), + filter=["workshop"]) @app.route('/screenings', methods=['GET']) def screenings(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/screenings")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/screenings"), + filter=["screening"]) @app.route('/discussions', methods=['GET']) def discussions(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/discussions")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/discussions"), + filter=["panel discussion"]) @app.route('/exhibitions', methods=['GET']) def exhibitions(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/exhibitions")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/exhibitions"), + filter=["exhibition"]) @app.route('/talks', methods=['GET']) def talks(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/talks")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/talks"), + filter=["talk", "light talk"]) # ------------------------------------------------------------------------------ diff --git a/build/lib/thsf/templates/goodies.html b/build/lib/thsf/templates/goodies.html index eed8466..3468e97 100644 --- a/build/lib/thsf/templates/goodies.html +++ b/build/lib/thsf/templates/goodies.html @@ -46,7 +46,7 @@ Et pour plus de 40€, vous recevrez un lot de 4 stickers, un T-Shirt, un Tote bag et un sweat-shirt estampillés du logo de l'édition 2023 du THSF.

- Nous sommes également conscients que la situation économique actuelle est difficile. C'est pourquoi nous nous engageons à ce que toutes les sommes qui dépasseront notre objectif de financement de 2 000 € seront reversées aux caisses des grévistes de la réforme des retraites. Ainsi, votre contribution permettra également de soutenir une cause importante et de faire une différence dans la vie de ceux qui se battent pour nos droits. + Nous sommes également conscients que la situation actuelle est particulièrement difficile. C'est pourquoi nous nous engageons à ce que toutes les sommes qui dépasseront notre objectif de financement de 2 000 € seront reversées aux caisses des grévistes de la réforme des retraites. Ainsi, votre contribution permettra également de soutenir une cause importante et de faire une différence dans la vie de ceux qui se battent pour nos droits.

{% endblock %} diff --git a/build/lib/thsf/templates/planning.html b/build/lib/thsf/templates/planning.html index 61a6667..ad5335c 100644 --- a/build/lib/thsf/templates/planning.html +++ b/build/lib/thsf/templates/planning.html @@ -2,7 +2,13 @@ {% block content %}
{% for slot in slots %} - {% include "slot.html" %} + {% if filter %} + {% if slot.submission_type.en | lower in filter %} + {% include "slot.html" %} + {% endif %} + {% else %} + {% include "slot.html" %} + {% endif %} {% endfor %}
{% endblock %} diff --git a/src/thsf/__init__.py b/src/thsf/__init__.py index 5f29f23..c94fa12 100644 --- a/src/thsf/__init__.py +++ b/src/thsf/__init__.py @@ -52,6 +52,9 @@ except Exception as err: def page_not_found(err): return redirect(url_for('index')) +def get_slots(): + return backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/schedules/{app.local_config['pretalx']['schedule']}").json() + # ------------------------------------------------------------------------------ # -- Custom filters # ------------------------------------------------------------------------------ @@ -87,7 +90,6 @@ def date2dmyhm(slot_type): "Exposition": "fa-solid fa-palette"} return slot_types[slot_type] - # ------------------------------------------------------------------------------ # -- Routes # ------------------------------------------------------------------------------ @@ -103,10 +105,10 @@ def index(): @app.route('/planning', methods=['GET']) def planning(): - slots = backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/schedules/{app.local_config['pretalx']['schedule']}").json() + slots = get_slots() return render_template("planning.html", slots=sorted(slots["slots"], - key=lambda slot: slot["slot"]["start"]), + key=lambda slot: slot["slot"]["start"]), navbar=navbar.get_from_page(page="/planning")) @app.route('/place', methods=['GET']) @@ -126,33 +128,57 @@ def goodies(): @app.route('/concerts', methods=['GET']) def concerts(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/concerts")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/concerts"), + filter=["concerts", "dj set"]) @app.route('/workshops', methods=['GET']) def workshops(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/workshops")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/workshops"), + filter=["workshop"]) @app.route('/screenings', methods=['GET']) def screenings(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/screenings")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/screenings"), + filter=["screening"]) @app.route('/discussions', methods=['GET']) def discussions(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/discussions")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/discussions"), + filter=["panel discussion"]) @app.route('/exhibitions', methods=['GET']) def exhibitions(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/exhibitions")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/exhibitions"), + filter=["exhibition"]) @app.route('/talks', methods=['GET']) def talks(): - return render_template("index.html", - navbar=navbar.get_from_page(page="/talks")) + slots = get_slots() + return render_template("planning.html", + slots=sorted(slots["slots"], + key=lambda slot: slot["slot"]["start"]), + navbar=navbar.get_from_page(page="/talks"), + filter=["talk", "light talk"]) # ------------------------------------------------------------------------------ diff --git a/src/thsf/templates/planning.html b/src/thsf/templates/planning.html index 61a6667..ad5335c 100644 --- a/src/thsf/templates/planning.html +++ b/src/thsf/templates/planning.html @@ -2,7 +2,13 @@ {% block content %}
{% for slot in slots %} - {% include "slot.html" %} + {% if filter %} + {% if slot.submission_type.en | lower in filter %} + {% include "slot.html" %} + {% endif %} + {% else %} + {% include "slot.html" %} + {% endif %} {% endfor %}
{% endblock %} diff --git a/thsf.pid b/thsf.pid index c063f41..0ed0ae7 100644 --- a/thsf.pid +++ b/thsf.pid @@ -1 +1 @@ -95325 +95888