handle long (email) addresses and show parents contact if available

v1-0-stable
Christian Merten 6 years ago
parent 174a911ab3
commit e256d24535

@ -173,13 +173,19 @@ class MemberListAdmin(admin.ModelAdmin):
))
for memberonlist in memberlist.memberonlist_set.all():
# write table of members in latex compatible format
line = '{0} {1} & {2}, {3} & {4} & {5} \\\\ \n'.format(
member = memberonlist.member
# use parents phone number if available
phone_number = member.phone_number_parents if\
member.phone_number_parents else member.phone_number
# use parents email address if available
email = member.email_parents if\
member.email_parents else member.email
line = '{0} {1} & {2} & {3} & \\Email{{{4}}} \\\\ \n'.format(
esc_ampersand(memberonlist.member.prename),
esc_ampersand(memberonlist.member.lastname),
esc_ampersand(memberonlist.member.street),
esc_ampersand(memberonlist.member.place),
esc_ampersand(memberonlist.member.phone_number),
esc_ampersand(memberonlist.member.email))
esc_ampersand(memberonlist.member.address),
esc_ampersand(memberonlist.member.contact_phone_number),
esc_ampersand(memberonlist.member.contact_email))
f.write(esc_underscore(line))
# copy and adapt latex memberlist template

@ -111,6 +111,32 @@ class Member(models.Model):
"""Returning the whole place (plz + town)"""
return "{0} {1}".format(self.plz, self.town)
@property
def address(self):
"""Returning the whole address"""
if not self.street and not self.town and not self.plz:
return "---"
else:
return "{0}, {1}".format(self.street, self.place)
@property
def contact_phone_number(self):
"""Returning, if available phone number of parents, else member's phone number"""
if self.phone_number_parents:
return str(self.phone_number_parents)
elif self.phone_number:
return str(self.phone_number)
else:
return "---"
@property
def contact_email(self):
"""Returning, if available email of parents, else member's email"""
if self.email_parents:
return self.email_parents
else:
return self.email
@property
def association_email(self):
"""Returning the association email of the member"""

@ -6,9 +6,11 @@
\usepackage{cmbright}
\usepackage{graphicx}
\usepackage{textpos}
\usepackage[colorlinks]{hyperref}
\usepackage[colorlinks, breaklinks]{hyperref}
\usepackage{float}
\usepackage[margin=1in]{geometry}
\usepackage{array}
\usepackage{tabularx}
\newcommand{\picpos}[4]{
\begin{textblock*}{#1}(#2, #3)
@ -16,8 +18,20 @@
\end{textblock*}
}
% custom url command for properly formatting emails
\DeclareUrlCommand\Email{\urlstyle{same}}
% allow linebreak after every character
\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks
\do\/\do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k
\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v
\do\w\do\x\do\y\do\z
\do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K
\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V
\do\W\do\X\do\Y\do\Z}
\renewcommand{\arraystretch}{1.5}
\newcolumntype{L}{>{\hspace{0pt}}X}
\newcommand{\tickedbox}{
\makebox[0pt][l]{$\square$}\raisebox{.15ex}{\hspace{0.1em}$\checkmark$}
}
@ -58,13 +72,13 @@
\noindent TOUR-TYPE
\begin{table}[H]
\begin{tabular*}{1\linewidth}{@{\extracolsep{\fill}}llll}
\begin{tabularx}{1\linewidth}{@{\extracolsep{\fill}}lLlL}
\toprule
\textbf{Name} & \textbf{Anschrift} & \textbf{Telefon} & \textbf{E-Mail} \\
\midrule
\input{TABLE-NAME}
\bottomrule
\end{tabular*}
\end{tabularx}
\end{table}
\vspace{1cm}

Loading…
Cancel
Save