From f469c2b28c4aedbf5d0e2278231cec4da119bea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?= <benjamin.haettasch@fachschaft.informatik.tu-darmstadt.de> Date: Sun, 9 May 2021 01:46:01 +0200 Subject: [PATCH] Introduce result presentation mode for slides and allow to specify mode and num of next AKs via GET params The export now allows to optional params, ?presentation_mode (without args) and ?num_next=<int> (default 3) --- .../templates/admin/AKModel/export/slides.tex | 39 ++++++++++--------- AKModel/views.py | 7 +++- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/AKModel/templates/admin/AKModel/export/slides.tex b/AKModel/templates/admin/AKModel/export/slides.tex index 814c57ed..d30f70e5 100644 --- a/AKModel/templates/admin/AKModel/export/slides.tex +++ b/AKModel/templates/admin/AKModel/export/slides.tex @@ -69,36 +69,37 @@ {% endfor %} +{% if not result_presentation_mode %} -\section{ {{- translations.wishes -}} } + \section{ {{- translations.wishes -}} } -{% for ak, next_aks in wishes %} + {% for ak, next_aks in wishes %} - %\setbeamertemplate{frame footer}{} + %\setbeamertemplate{frame footer}{} - \begin{frame}[shrink=15] - \frametitle{ {{- ak.name | latex_escape_utf8 -}} } + \begin{frame}[shrink=15] + \frametitle{ {{- ak.name | latex_escape_utf8 -}} } - \vspace{1em} + \vspace{1em} - \faFilter~ {{ ak.category.name | latex_escape_utf8 }} + \faFilter~ {{ ak.category.name | latex_escape_utf8 }} - \faUser~ + \faUser~ - \faClock~ + \faClock~ - {{ ak.description | truncatechars(400) | latex_escape_utf8 }} + {{ ak.description | truncatechars(400) | latex_escape_utf8 }} - \vspace{2em} + \vspace{2em} - \begin{scriptsize} - {% for n_ak in next_aks %} - {% if n_ak %}\hfill \faAngleDoubleRight~ {{- n_ak.name | latex_escape_utf8 -}}{% endif %} - {% endfor %} - \end{scriptsize} + \begin{scriptsize} + {% for n_ak in next_aks %} + {% if n_ak %}\hfill \faAngleDoubleRight~ {{- n_ak.name | latex_escape_utf8 -}}{% endif %} + {% endfor %} + \end{scriptsize} - \end{frame} - -{% endfor %} + \end{frame} + {% endfor %} +{% endif %} \end{document} diff --git a/AKModel/views.py b/AKModel/views.py index 06bd3211..c1926d7d 100644 --- a/AKModel/views.py +++ b/AKModel/views.py @@ -298,7 +298,8 @@ def export_slides(request, event_slug): event = get_object_or_404(Event, slug=event_slug) - NEXT_AK_LIST_LENGTH = 4 + NEXT_AK_LIST_LENGTH = int(request.GET["num_next"]) if "num_next" in request.GET else 3 + RESULT_PRESENTATION_MODE = True if "presentation_mode" in request.GET else False translations = { 'symbols': _("Symbols"), @@ -322,7 +323,8 @@ def export_slides(request, event_slug): if ak.wish: ak_wishes.append(ak) else: - ak_list.append(ak) + if not RESULT_PRESENTATION_MODE or ak.present: + ak_list.append(ak) categories_with_aks.append((category, build_ak_list_with_next_aks(ak_list))) context = { @@ -331,6 +333,7 @@ def export_slides(request, event_slug): 'subtitle': _("AKs"), "wishes": build_ak_list_with_next_aks(ak_wishes), "translations": translations, + "result_presentation_mode": RESULT_PRESENTATION_MODE, } return render_to_pdf(request, template_name, context, filename='slides.pdf') -- GitLab