feat (members): change list layout to accomodate large ticket_no barcodes

pull/154/head
mariusrklein 6 months ago
parent 8192297c51
commit ef7dac6d75

@ -878,13 +878,14 @@ class GroupAdmin(CommonAdminMixin, admin.ModelAdmin):
return HttpResponseRedirect(reverse('admin:%s_%s_changelist' % (self.opts.app_label, self.opts.model_name))) return HttpResponseRedirect(reverse('admin:%s_%s_changelist' % (self.opts.app_label, self.opts.model_name)))
ensure_media_dir() ensure_media_dir()
n_weeks = 15 n_weeks = 18
n_members = 20
context = { context = {
'groups': self.model.objects.filter(show_website=True), 'groups': self.model.objects.filter(show_website=True),
'settings': settings, 'settings': settings,
'range': range(n_weeks), 'week_range': range(n_weeks),
'n_members': range(24), 'member_range': range(n_members),
'dates': mondays_until_nth(n_weeks), 'dates': mondays_until_nth(n_weeks),
'weekdays': [long for i, long in WEEKDAYS], 'weekdays': [long for i, long in WEEKDAYS],
} }

@ -373,10 +373,10 @@ class Member(Person):
return "{0} {1}".format(self.plz, self.town) return "{0} {1}".format(self.plz, self.town)
@property @property
def dav_badge_no_tag(self): def ticket_tag(self):
"""Returning the badge number stripped of strings and spaces""" """Returning the ticket number stripped of strings and spaces"""
return "{" + ''.join(re.findall(r'\d', self.dav_badge_no))[-6:] + "}" return "{" + ''.join(re.findall(r'\d', self.ticket_no)) + "}"
@property @property
def iban_valid(self): def iban_valid(self):

@ -6,8 +6,9 @@
{% block extra-preamble %} {% block extra-preamble %}
\usepackage{rotating} \usepackage{rotating}
\usepackage[code=Code39,X=.24mm,ratio=2.25,H=0.4cm]{makebarcode} \usepackage[code=Code39,X=.48mm,ratio=3.5,H=0.5cm]{makebarcode}
\geometry{reset,margin=1cm, bottom=1.5cm} \geometry{reset,margin=1cm, bottom=1.5cm}
\renewcommand{\arraystretch}{1}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
@ -23,23 +24,28 @@
\noindent {{ weekdays|index:group.weekday|esc_all }}, {{ group.start_time }} - {{ group.end_time }} Uhr\\ \noindent {{ weekdays|index:group.weekday|esc_all }}, {{ group.start_time }} - {{ group.end_time }} Uhr\\
\noindent Anwesende Jugendleitende und Teilnehmende werden mit einem Kreuz ($\times$) markiert und die ausgefüllte \noindent Anwesende Jugendleitende und Teilnehmende werden mit einem Kreuz ($\times$) markiert und die ausgefüllte
Liste zum Anfang der Gruppenstunde an der Kasse abgegeben. Zum Ende wird sie wieder abgeholt. Abgelaufene Liste zum Anfang der Gruppenstunde an der Kasse abgegeben. Zum Ende wird sie wieder abgeholt. Wenn die Punkte auf einer Karte fast aufgebraucht sind, notiert die Kasse die verbliebenen Eintritte (3, 2, 1) unter dem Kreuz.
Punktekarten werden von der Kasse mit einem Kreis ($\otimes$) markiert.
\begin{table}[H] \begin{table}[H]
\centering \centering
%\begin{tabularx}{\textwidth}{lXX|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l} %\begin{tabularx}{\textwidth}{lYY|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l}
\begin{tabularx}{\textwidth}{lXl{% for i in range %}|l{% endfor%}} \begin{tabularx}{\textwidth}{X{% for i in week_range %}|l{% endfor%}}
\toprule \toprule
\textbf{\#} & \textbf{Name} & {% for i in range %} \textbf{Name} {% for i in week_range %}
& \begin{sideways} {{ dates|index:i|add:group.weekday|date_vs }} \end{sideways} & \begin{sideways} {{ dates|index:i|add:group.weekday|date_vs }} \end{sideways}
{% endfor %} \\ {% endfor %} \\
{% for j in n_members %} {% for j in member_range %}
{% with m=group.sorted_members|index:j %} {% with m=group.sorted_members|index:j %}
\midrule \midrule
{{ j|plus:1 }} & \begin{tabular}{@{}l}
{% if m in group.leiters.all %}{{ m.name|esc_all }} \textbf{(JL)} {% else %} {{ m.name|esc_all }} {% endif %} & {% if m.dav_badge_no_tag|length > 2 %}\barcode{{ m.dav_badge_no_tag }}{% endif %} {% if m.ticket_tag|length > 2 %}\barcode{{ m.ticket_tag }}{% else %}\rule{0pt}{5mm}{% endif %}
{% for i in range %} & {% endfor %}\\ \vspace{-0.8ex} \\
{\small {{ j|plus:1 }} {% if m in group.leiters.all %}\textbf{JL}{% endif %}
{{ m.name|esc_all }} {% if m.ticket_tag|length > 2 %} - {{ m.ticket_tag }}{% endif %}
\vspace{-3ex} }
\end{tabular}
{% for i in week_range %} & {% endfor %}\\
{% endwith %} {% endwith %}
{% endfor %} {% endfor %}

Loading…
Cancel
Save