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

pull/174/head
mariusrklein 6 months ago
parent 009863e860
commit cf785d0d0c

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

@ -374,10 +374,10 @@ class Member(Person):
return "{0} {1}".format(self.plz, self.town)
@property
def dav_badge_no_tag(self):
"""Returning the badge number stripped of strings and spaces"""
def ticket_tag(self):
"""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
def iban_valid(self):

@ -6,8 +6,9 @@
{% block extra-preamble %}
\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}
\renewcommand{\arraystretch}{1}
{% endblock %}
{% block content %}
@ -23,23 +24,28 @@
\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
Liste zum Anfang der Gruppenstunde an der Kasse abgegeben. Zum Ende wird sie wieder abgeholt. Abgelaufene
Punktekarten werden von der Kasse mit einem Kreis ($\otimes$) markiert.
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.
\begin{table}[H]
\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}{lXl{% for i in range %}|l{% endfor%}}
%\begin{tabularx}{\textwidth}{lYY|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l}
\begin{tabularx}{\textwidth}{X{% for i in week_range %}|l{% endfor%}}
\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}
{% endfor %} \\
{% for j in n_members %}
{% for j in member_range %}
{% with m=group.sorted_members|index:j %}
\midrule
{{ j|plus:1 }} &
{% 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 %}
{% for i in range %} & {% endfor %}\\
\begin{tabular}{@{}l}
{% if m.ticket_tag|length > 2 %}\barcode{{ m.ticket_tag }}{% else %}\rule{0pt}{5mm}{% endif %}
\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 %}
{% endfor %}

Loading…
Cancel
Save