From 55299321b29bbc7637b63cbafcb4ac8a6f1bb5d2 Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Sat, 22 Feb 2025 09:15:25 +0100 Subject: [PATCH 1/5] feat(members/excursion): multi-page tables (fixed width) and smaller margins --- .../members/crisis_intervention_list.tex | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/jdav_web/members/templates/members/crisis_intervention_list.tex b/jdav_web/members/templates/members/crisis_intervention_list.tex index 2f99039..b2197bf 100644 --- a/jdav_web/members/templates/members/crisis_intervention_list.tex +++ b/jdav_web/members/templates/members/crisis_intervention_list.tex @@ -10,10 +10,11 @@ \usepackage{textpos} \usepackage[colorlinks, breaklinks]{hyperref} \usepackage{float} -\usepackage[margin=1in]{geometry} +\usepackage[margin=2cm]{geometry} \usepackage{array} \usepackage{tabularx} \usepackage{ltablex} +\usepackage{longtable} \newcommand{\picpos}[4]{ \begin{textblock*}{#1}(#2, #3) @@ -43,8 +44,8 @@ } \begin{document} % HEADER RIGHT -\picpos{4.5cm}{11.5cm}{0cm}{/app/jdav_web/static/general/img/dav_logo_sektion.png} -\begin{textblock*}{5cm}(11.5cm, 2.3cm) +\picpos{4.5cm}{12cm}{0cm}{/app/jdav_web/static/general/img/dav_logo_sektion.png} +\begin{textblock*}{5cm}(12cm, 2.3cm) \begin{flushright} \small \noindent Deutscher Alpenverein e. V. \\ @@ -80,10 +81,13 @@ \end{tabular} \end{table} -\begin{tabularx}{1\linewidth}{@{\extracolsep{\fill}}llLlLL} -\toprule -& \textbf{Name} & \textbf{Anschrift} & \textbf{Telefon} & \textbf{Notfallkontakte} \\ -\midrule +\begin{longtable}{lp{3.5cm}p{4cm}p{3cm}p{3.8cm}} +\hline +\# & \textbf{Name} & \textbf{Anschrift} & \textbf{Telefon} & \textbf{Notfallkontakte} \\ +\hline +\endhead +\hline +\endfoot {% for m in memberlist.membersonlist.all %} {{ forloop.counter }} & {{ m.member.name|esc_all }} & @@ -94,8 +98,7 @@ Tel.: {{ c.phone_number }} {% endfor %} \\ {% endfor %} -\bottomrule -\end{tabularx} +\end{longtable} \vspace{1cm} -- 2.38.4 From 894b89f1cfbe11aee34af5b7add67009dd9c2f36 Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Sun, 23 Feb 2025 01:43:51 +0100 Subject: [PATCH 2/5] feat(members/excursion): multi-page tables in all excursion pdfs --- jdav_web/members/models.py | 8 ++++ .../members/crisis_intervention_list.tex | 43 ++++++++++--------- .../members/templates/members/notes_list.tex | 27 +++++++++--- .../templates/members/seminar_report.tex | 23 +++++----- 4 files changed, 64 insertions(+), 37 deletions(-) diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index fda3b41..c3e78e8 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -364,6 +364,14 @@ class Member(Person): return "---" else: return "{0}, {1}".format(self.street, self.place) + + @property + def address_multiline(self): + """Returning the whole address""" + if not self.street and not self.town and not self.plz: + return "---" + else: + return "{0},\\linebreak[1] {1}".format(self.street, self.place) def good_conduct_certificate_valid(self): """Returns if a good conduct certificate is still valid, depending on the last presentation.""" diff --git a/jdav_web/members/templates/members/crisis_intervention_list.tex b/jdav_web/members/templates/members/crisis_intervention_list.tex index b2197bf..237e956 100644 --- a/jdav_web/members/templates/members/crisis_intervention_list.tex +++ b/jdav_web/members/templates/members/crisis_intervention_list.tex @@ -14,7 +14,6 @@ \usepackage{array} \usepackage{tabularx} \usepackage{ltablex} -\usepackage{longtable} \newcommand{\picpos}[4]{ \begin{textblock*}{#1}(#2, #3) @@ -35,7 +34,9 @@ \renewcommand{\arraystretch}{1.5} -\newcolumntype{L}{>{\hspace{0pt}}X} +\newcolumntype{L}{>{\hspace{0pt}\raggedright\arraybackslash}X} +\newcolumntype{S}{>{\raggedright\arraybackslash\hsize=0.7\hsize}X} + \newcommand{\tickedbox}{ \makebox[0pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$\checkmark$} } @@ -81,24 +82,26 @@ \end{tabular} \end{table} -\begin{longtable}{lp{3.5cm}p{4cm}p{3cm}p{3.8cm}} -\hline -\# & \textbf{Name} & \textbf{Anschrift} & \textbf{Telefon} & \textbf{Notfallkontakte} \\ -\hline -\endhead -\hline -\endfoot -{% for m in memberlist.membersonlist.all %} - {{ forloop.counter }} & - {{ m.member.name|esc_all }} & - {{ m.member.address|esc_all }} & - {{ m.member.contact_phone_number|esc_all }} & - {% for c in m.member.emergencycontact_set.all %} - {{ c.name }} \newline - Tel.: {{ c.phone_number }} - {% endfor %} \\ -{% endfor %} -\end{longtable} +\begin{tabularx}{1\linewidth}{lSLSL} + \toprule + \# & \textbf{Name} & \textbf{Anschrift} & \textbf{Telefon} & \textbf{Notfallkontakte} \\ + \midrule + \endhead + \bottomrule + \endfoot + + {% for m in memberlist.membersonlist.all %} + {{ forloop.counter }} & + {{ m.member.name|esc_all }} & + {{ m.member.address_multiline|esc_all }} & + {{ m.member.contact_phone_number|esc_all }} & + {% for c in m.member.emergencycontact_set.all %} + {{ c.name|esc_all }} \newline + Tel.: {{ c.phone_number|esc_all }} + {% endfor %} \\ + {% endfor %} + +\end{tabularx} \vspace{1cm} diff --git a/jdav_web/members/templates/members/notes_list.tex b/jdav_web/members/templates/members/notes_list.tex index 1050d7d..d6559f0 100644 --- a/jdav_web/members/templates/members/notes_list.tex +++ b/jdav_web/members/templates/members/notes_list.tex @@ -13,10 +13,11 @@ \usepackage[colorlinks]{hyperref} \usepackage{float} \usepackage[margin=1cm]{geometry} +\usepackage{ltablex} \renewcommand{\arraystretch}{1.5} -\newcolumntype{Y}{>{\RaggedRight\arraybackslash}X} +\newcolumntype{Y}{>{\RaggedRight\arraybackslash}p{0.4\linewidth}} \begin{document} % HEADLINE @@ -35,17 +36,31 @@ \end{tabular} \end{table} -\begin{table}[H] - \begin{tabularx}{\textwidth}{@{} l l l Y @{}} +\begin{tabularx}{1\linewidth}{ l l l Y} \toprule - & \textbf{Name} & \textbf{Fähigkeiten (max. 100)} & \textbf{Kommentare} \\ + \# & \textbf{Name} & \textbf{Fähigkeiten (max. 100)} & \textbf{Kommentare} \\ \midrule {% for p in people %} {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ {% endfor %} + {% for p in people %} + {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ + {% endfor %} + {% for p in people %} + {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ + {% endfor %} + {% for p in people %} + {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ + {% endfor %} + {% for p in people %} + {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ + {% endfor %} + {% for p in people %} + {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ + {% endfor %} \bottomrule - \end{tabularx} -\end{table} +\end{tabularx} + \noindent\large Fähigkeiten der Gruppe\\ \begin{table}[H] diff --git a/jdav_web/members/templates/members/seminar_report.tex b/jdav_web/members/templates/members/seminar_report.tex index ee85713..11b17c0 100644 --- a/jdav_web/members/templates/members/seminar_report.tex +++ b/jdav_web/members/templates/members/seminar_report.tex @@ -15,6 +15,7 @@ \usepackage{ragged2e} \usepackage{tabularx} \usepackage{titlesec} +\usepackage{ltablex} \titleformat{\section} {\Large\slshape}{\thesection\;} @@ -122,38 +123,38 @@ \section{Teilnehmer*innenliste} -\begin{table}[H] - \begin{tabularx}{1\linewidth}{@{\extracolsep{\fill}}llLl|c|c|c} +\begin{tabularx}{1\linewidth}{lp{0.23\linewidth}Xp{0.14\linewidth}|c|c|c} + \hline + \# & \textbf{Name} & \textbf{Anschrift} & \textbf{Geburtsdatum} & \textbf{m} & \textbf{w} & \textbf{d} \\ \hline - & \textbf{Name} & \textbf{Anschrift} & \textbf{Geburtsdatum} & \textbf{m} & \textbf{w} & \textbf{d} \\ \hline - %\midrule + \endhead + \hline + \endfoot {% for m in memberlist.membersonlist.all %} {{ forloop.counter }} & {{ m.member.name|esc_all }} & {{ m.member.address|esc_all }} & {{ m.member.birth_date_str|esc_all }} & {% if m.member.gender == 0 %} x {% endif %} & {% if m.member.gender == 1 %} x {% endif %} & {% if m.member.gender == 2 %} x {% endif %} \\ {% endfor %} - %\bottomrule - \end{tabularx} -\end{table} +\end{tabularx} {% if memberlist.statement %} \section{Kosten} -\begin{table}[H] - \begin{tabularx}{1\linewidth}{@{}L r @{}} +\begin{tabularx}{1\linewidth}{@{\extracolsep{\fill}}Lr} \toprule \textbf{Beschreibung} & \textbf{Betrag} \\ \midrule + {% if memberlist.statement.total_allowance > 0 %} Aufwandsentschädigung & {{ memberlist.statement.total_allowance }} € \\ + {% endif %} {% for bill in memberlist.statement.grouped_bills %} {{ bill.short_description|esc_all }} & {{ bill.amount }} € \\ {% endfor %} \bottomrule Gesamt & {{ memberlist.statement.total_theoretic }} € \\ - \end{tabularx} -\end{table} +\end{tabularx} {% endif %} -- 2.38.4 From 2d1797e3131664b6625d9073a9b924fc389df554 Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Mon, 24 Feb 2025 23:04:01 +0100 Subject: [PATCH 3/5] feat(members/excursions): revisions --- jdav_web/members/models.py | 2 +- jdav_web/members/templates/members/notes_list.tex | 15 --------------- .../members/templates/members/seminar_report.tex | 3 ++- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index f3130ee..c82cfe5 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -367,7 +367,7 @@ class Member(Person): @property def address_multiline(self): - """Returning the whole address""" + """Returning the whole address with a linebreak between street and town""" if not self.street and not self.town and not self.plz: return "---" else: diff --git a/jdav_web/members/templates/members/notes_list.tex b/jdav_web/members/templates/members/notes_list.tex index d6559f0..db18ca1 100644 --- a/jdav_web/members/templates/members/notes_list.tex +++ b/jdav_web/members/templates/members/notes_list.tex @@ -43,21 +43,6 @@ {% for p in people %} {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ {% endfor %} - {% for p in people %} - {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ - {% endfor %} - {% for p in people %} - {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ - {% endfor %} - {% for p in people %} - {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ - {% endfor %} - {% for p in people %} - {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ - {% endfor %} - {% for p in people %} - {{ forloop.counter }} & {{ p.name|esc_all }} & {{ p.qualities|esc_all }} & {{ p.comments|esc_all }} \\ - {% endfor %} \bottomrule \end{tabularx} diff --git a/jdav_web/members/templates/members/seminar_report.tex b/jdav_web/members/templates/members/seminar_report.tex index 11b17c0..db23400 100644 --- a/jdav_web/members/templates/members/seminar_report.tex +++ b/jdav_web/members/templates/members/seminar_report.tex @@ -42,6 +42,7 @@ \newcolumntype{L}{>{\hspace{0pt}}X} \newcolumntype{Y}{>{\RaggedRight\arraybackslash}X} + \newcommand{\tickedbox}{ \makebox[0pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$\checkmark$} } @@ -123,7 +124,7 @@ \section{Teilnehmer*innenliste} -\begin{tabularx}{1\linewidth}{lp{0.23\linewidth}Xp{0.14\linewidth}|c|c|c} +\begin{tabularx}{1\linewidth}{l>{\hsize=0.9\hsize}Y>{\hsize=1.5\hsize}Y>{\hsize=0.6\hsize}X|c|c|c} \hline \# & \textbf{Name} & \textbf{Anschrift} & \textbf{Geburtsdatum} & \textbf{m} & \textbf{w} & \textbf{d} \\ \hline -- 2.38.4 From 7311e1ff6eca6d1a375835abb2aeea0043613eed Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Tue, 25 Feb 2025 01:30:14 +0100 Subject: [PATCH 4/5] feat(members/excursions): fixed column width in seminar_report to prevent offset bug --- jdav_web/members/templates/members/seminar_report.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdav_web/members/templates/members/seminar_report.tex b/jdav_web/members/templates/members/seminar_report.tex index db23400..dd0309b 100644 --- a/jdav_web/members/templates/members/seminar_report.tex +++ b/jdav_web/members/templates/members/seminar_report.tex @@ -124,7 +124,7 @@ \section{Teilnehmer*innenliste} -\begin{tabularx}{1\linewidth}{l>{\hsize=0.9\hsize}Y>{\hsize=1.5\hsize}Y>{\hsize=0.6\hsize}X|c|c|c} +\begin{tabularx}{1\linewidth}{l>{\RaggedRight\arraybackslash}p{0.22\linewidth}>{\RaggedRight\arraybackslash}p{0.38\linewidth}p{0.14\linewidth}|c|c|c} \hline \# & \textbf{Name} & \textbf{Anschrift} & \textbf{Geburtsdatum} & \textbf{m} & \textbf{w} & \textbf{d} \\ \hline -- 2.38.4 From b6fc464c69caf9d448d271a0cf957b51de28ca7a Mon Sep 17 00:00:00 2001 From: mariusrklein <47218379+mariusrklein@users.noreply.github.com> Date: Tue, 25 Feb 2025 01:35:36 +0100 Subject: [PATCH 5/5] feat(members/excursions): fixed column width again --- jdav_web/members/templates/members/seminar_report.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdav_web/members/templates/members/seminar_report.tex b/jdav_web/members/templates/members/seminar_report.tex index dd0309b..522725a 100644 --- a/jdav_web/members/templates/members/seminar_report.tex +++ b/jdav_web/members/templates/members/seminar_report.tex @@ -124,7 +124,7 @@ \section{Teilnehmer*innenliste} -\begin{tabularx}{1\linewidth}{l>{\RaggedRight\arraybackslash}p{0.22\linewidth}>{\RaggedRight\arraybackslash}p{0.38\linewidth}p{0.14\linewidth}|c|c|c} +\begin{tabularx}{1\linewidth}{p{0.01\linewidth}>{\RaggedRight\arraybackslash}p{0.22\linewidth}>{\RaggedRight\arraybackslash}p{0.38\linewidth}p{0.14\linewidth}|c|c|c} \hline \# & \textbf{Name} & \textbf{Anschrift} & \textbf{Geburtsdatum} & \textbf{m} & \textbf{w} & \textbf{d} \\ \hline -- 2.38.4