feat(members/admin): add excursion code to filenames and generated documents

pull/136/head
Christian Merten 10 months ago
parent 24810a4f2b
commit 1d2f0c152f
Signed by: christian.merten
GPG Key ID: D953D69721B948B3

@ -1033,7 +1033,7 @@ class MemberNoteListAdmin(admin.ModelAdmin):
if not self.may_view_notelist(request, memberlist):
return self.not_allowed_view(request, memberlist)
context = dict(memberlist=memberlist, settings=settings)
return render_tex(memberlist.title + "_Zusammenfassung", 'members/notelist_summary.tex', context)
return render_tex(f"{memberlist.title}_Zusammenfassung", 'members/notelist_summary.tex', context)
summary.short_description = _('Generate PDF summary')
@ -1126,7 +1126,7 @@ class FreizeitAdmin(CommonAdminMixin, nested_admin.NestedModelAdmin):
if not self.may_view_excursion(request, memberlist):
return self.not_allowed_view(request, memberlist)
context = dict(memberlist=memberlist, settings=settings)
return render_tex(memberlist.name + "_Krisenliste", 'members/crisis_intervention_list.tex', context)
return render_tex(f"{memberlist.code}_{memberlist.name}_Krisenliste", 'members/crisis_intervention_list.tex', context)
crisis_intervention_list.short_description = _('Generate crisis intervention list')
def notes_list(self, request, memberlist):
@ -1134,7 +1134,7 @@ class FreizeitAdmin(CommonAdminMixin, nested_admin.NestedModelAdmin):
return self.not_allowed_view(request, memberlist)
people, skills = memberlist.skill_summary
context = dict(memberlist=memberlist, people=people, skills=skills, settings=settings)
return render_tex(memberlist.name + "_Notizen", 'members/notes_list.tex', context)
return render_tex(f"{memberlist.code}_{memberlist.name}_Notizen", 'members/notes_list.tex', context)
notes_list.short_description = _('Generate overview')
@decorate_download
@ -1146,13 +1146,13 @@ class FreizeitAdmin(CommonAdminMixin, nested_admin.NestedModelAdmin):
def download_seminar_report_docx(self, request, memberlist):
title = memberlist.ljpproposal.title
context = dict(memberlist=memberlist, settings=settings)
return render_docx(title + '_Seminarbericht', 'members/seminar_report_docx.tex', context)
return render_docx(f"{memberlist.code}_{title}_Seminarbericht", 'members/seminar_report_docx.tex', context)
@decorate_download
def download_seminar_report_costs_and_participants(self, request, memberlist):
title = memberlist.ljpproposal.title
context = dict(memberlist=memberlist, settings=settings)
return render_tex(title + '_Seminarbericht', 'members/seminar_report.tex', context)
return render_tex(f"{memberlist.code}_{title}_TN_Kosten", 'members/seminar_report.tex', context)
def seminar_report(self, request, memberlist):
if not self.may_view_excursion(request, memberlist):
@ -1199,7 +1199,7 @@ class FreizeitAdmin(CommonAdminMixin, nested_admin.NestedModelAdmin):
context = memberlist.sjr_application_fields()
title = memberlist.ljpproposal.title if hasattr(memberlist, 'ljpproposal') else memberlist.name
return fill_pdf_form(title + "_SJR_Antrag", 'members/sjr_template.pdf', context, selected_attachments)
return fill_pdf_form(f"{memberlist.code}_{title}_SJR_Antrag", 'members/sjr_template.pdf', context, selected_attachments)
return self.render_sjr_options(request, memberlist, GenerateSjrForm(attachments=attachments))

@ -111,7 +111,7 @@ def generate_ljp_vbk(excursion):
sheet['B6'] = settings.SEKTION_TOWN
sheet['B7'] = settings.RESPONSIBLE_MAIL
sheet['B36'] = f"{settings.SEKTION}, {datetime.today():%d.%m.%Y}"
sheet['F19'] = f"B {excursion.date:%y}-{excursion.pk}"
sheet['F19'] = excursion.code
sheet['C19'] = LJP_GOALS[excursion.ljpproposal.goal] if excursion.ljpproposal.goal in LJP_GOALS else ""
sheet['D19'] = settings.SEKTION
sheet['G19'] = title
@ -126,6 +126,6 @@ def generate_ljp_vbk(excursion):
if hasattr(excursion, 'statement'):
sheet['Q19'] = f"{excursion.statement.total_theoretic}"
filename = f"LJP_V-BK_3.{excursion.ljpproposal.category}_{title}.xlsx"
filename = f"{excursion.code}_{title}_LJP_V-BK_3.{excursion.ljpproposal.category}.xlsx"
workbook.save(media_path(filename))
return filename

@ -1117,6 +1117,10 @@ class Freizeit(CommonModel):
'delete_obj': is_leader | has_global_perm('members.delete_global_freizeit'),
}
@property
def code(self):
return f"B{self.date:%y}-{self.pk}"
def get_tour_type(self):
if self.tour_type == FUEHRUNGS_TOUR:
return "Führungstour"

@ -65,6 +65,7 @@
\begin{table}[H]
\begin{tabular}{ll}
\large Aktivität: & {{ memberlist.name|esc_all }} \\
\large Ordnungsnummer & {{ memberlist.code|esc_all }} \\
\large Gruppe: & {{ memberlist.groups_str|esc_all }} \\
\large Ort / Stützpunkt: & {{ memberlist.place|esc_all }} \\
\large ggf. Ziel: & {{ memberlist.destination|esc_all }} \\

@ -27,6 +27,7 @@
\begin{table}[H]
\begin{tabular}{ll}
\large Aktivität: & {{ memberlist.name|esc_all }} \\
\large Ordnungsnummer & {{ memberlist.code|esc_all }} \\
\large Gruppe: & {{ memberlist.groups_str|esc_all }} \\
\large Ort / Stützpunkt: & {{ memberlist.place|esc_all }} \\
\large ggf. Ziel: & {{ memberlist.destination|esc_all }} \\

@ -71,6 +71,7 @@
\begin{table}[H]
\begin{tabular}{ll}
\large Kursname: & {% if not memberlist.ljpproposal %}{{ memberlist.name|esc_all }}{% else %}{{ memberlist.ljpproposal.title }} {% endif %} \\
\large Ordnungsnummer & {{ memberlist.code|esc_all }} \\
\large Gruppe: & {{ memberlist.groups_str|esc_all }} \\
\large Ort / Stützpunkt: & {{ memberlist.place|esc_all }} \\
\large ggf. Ziel: & {{ memberlist.destination|esc_all }} \\

@ -31,6 +31,7 @@
\begin{tabular}{ll}
\textbf{Sektion:} & {{ settings.SEKTION }} \\
\textbf{Titel der Maßnahme:} & {% if not memberlist.ljpproposal %}{{ memberlist.name|esc_all }}{% else %}{{ memberlist.ljpproposal.title }} {% endif %} \\
\textbf{Interne Ordnungsnummer:} & {{ memberlist.code|esc_all }} \\
\textbf{Anzahl der durchgeführten Lehrgangstage:} & {{ memberlist.duration }} \\
\end{tabular}
\end{table}

Loading…
Cancel
Save