diff --git a/jdav_web/finance/admin.py b/jdav_web/finance/admin.py
index ea4ff77..ed70b8f 100644
--- a/jdav_web/finance/admin.py
+++ b/jdav_web/finance/admin.py
@@ -91,7 +91,7 @@ class StatementUnSubmittedAdmin(CommonAdminMixin, admin.ModelAdmin):
messages.success(request,
_("Successfully submited %(name)s. The finance department will notify the requestors as soon as possible.") % {'name': str(statement)})
return HttpResponseRedirect(reverse('admin:%s_%s_changelist' % (self.opts.app_label, self.opts.model_name)))
-
+
if statement.excursion:
memberlist = statement.excursion
context = dict(self.admin_site.each_context(request),
@@ -120,16 +120,16 @@ class TransactionOnSubmittedStatementInline(admin.TabularInline):
}
readonly_fields = ['text_length_warning']
extra = 0
-
+
def text_length_warning(self, obj):
"""Display reference length, warn if exceeds 140 characters."""
len_reference = len(obj.reference)
len_string = f"{len_reference}/140"
if len_reference > 140:
return mark_safe(f'{len_string}')
-
+
return len_string
- text_length_warning.short_description = "Länge"
+ text_length_warning.short_description = _("Length")
class BillOnSubmittedStatementInline(BillOnStatementInline):
@@ -213,8 +213,9 @@ class StatementSubmittedAdmin(admin.ModelAdmin):
messages.success(request,
_("Successfully confirmed %(name)s. I hope you executed the associated transactions, I wont remind you again.")
% {'name': str(statement)})
+ download_link = reverse('admin:finance_statementconfirmed_summary', args=(statement.pk,))
messages.success(request,
- mark_safe(f"Hier kannst du den Abrechnungsbeleg herunterladen.")) #TODO: nice path resolution
+ mark_safe(_("You can download a receipt.") % {'link': download_link}))
return HttpResponseRedirect(reverse('admin:%s_%s_changelist' % (self.opts.app_label, self.opts.model_name)))
if "confirm" in request.POST:
res = statement.validity
@@ -351,21 +352,25 @@ class StatementConfirmedAdmin(admin.ModelAdmin):
statement=statement)
return render(request, 'admin/unconfirm_statement.html', context=context)
-
+
def statement_summary_view(self, request, object_id):
- statement = StatementConfirmed.objects.get(pk=object_id)
-
+ try:
+ statement = StatementConfirmed.objects.get(pk=object_id)
+ except StatementConfirmed.DoesNotExist:
+ messages.error(request, _('Statement not found.'))
+ return HttpResponseRedirect(reverse('admin:%s_%s_changelist' % (self.opts.app_label, self.opts.model_name)))
+
if not statement.confirmed:
messages.error(request,
_("%(name)s is not yet confirmed.") % {'name': str(statement)})
return HttpResponseRedirect(reverse('admin:%s_%s_change' % (self.opts.app_label, self.opts.model_name), args=(statement.pk,)))
excursion = statement.excursion
context = dict(statement=statement.template_context(), excursion=excursion, settings=settings)
-
+
pdf_filename = f"{excursion.code}_{excursion.name}_Zuschussbeleg" if excursion else f"Abrechnungsbeleg"
attachments = [bill.proof.path for bill in statement.bills_covered]
return render_tex_with_attachments(pdf_filename, 'finance/statement_summary.tex', context, attachments)
-
+
statement_summary_view.short_description = _('Download summary')
diff --git a/jdav_web/finance/locale/de/LC_MESSAGES/django.po b/jdav_web/finance/locale/de/LC_MESSAGES/django.po
index 26c7c24..e3377b4 100644
--- a/jdav_web/finance/locale/de/LC_MESSAGES/django.po
+++ b/jdav_web/finance/locale/de/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-04-06 15:55+0200\n"
+"POT-Creation-Date: 2025-04-06 16:58+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -40,6 +40,10 @@ msgstr "Kostenübersicht"
msgid "Submit statement"
msgstr "Rechnung einreichen"
+#: finance/admin.py
+msgid "Length"
+msgstr "Länge"
+
#: finance/admin.py
#, python-format
msgid "%(name)s is not yet submitted."
@@ -61,6 +65,13 @@ msgstr ""
"Erfolgreich %(name)s abgewickelt. Ich hoffe du hast die zugehörigen "
"Überweisungen ausgeführt, ich werde dich nicht nochmal erinnern."
+#: finance/admin.py
+#, python-format
+msgid "You can download a receipt."
+msgstr ""
+"Hier kannst du den Abrechnungsbeleg herunterladen."
+
#: finance/admin.py
msgid "Statement confirmed"
msgstr "Abrechnung abgewickelt"
@@ -152,6 +163,10 @@ msgstr ""
msgid "Unconfirm statement"
msgstr "Bestätigung zurücknehmen"
+#: finance/admin.py
+msgid "Statement not found."
+msgstr "Abrechnung existiert nicht."
+
#: finance/admin.py
msgid "Download summary"
msgstr "Beleg herunterladen"
@@ -556,12 +571,9 @@ msgstr "Aufwandsentschädigung"
msgid "Contributions by the association"
msgstr "Sektionszuschüsse"
-
#: finance/templates/admin/overview_submitted_statement.html
-#, fuzzy
-#| msgid "Pay ljp contributions to"
msgid "ljp contributions"
-msgstr "LJP-Zuschüsse auszahlen an"
+msgstr "LJP-Zuschüsse"
#: finance/templates/admin/overview_submitted_statement.html
#, python-format
diff --git a/jdav_web/finance/templates/admin/overview_submitted_statement.html b/jdav_web/finance/templates/admin/overview_submitted_statement.html
index 0bab00d..309fa36 100644
--- a/jdav_web/finance/templates/admin/overview_submitted_statement.html
+++ b/jdav_web/finance/templates/admin/overview_submitted_statement.html
@@ -132,9 +132,6 @@ Once their proposal was approved, the ljp contributions of should be paid to:{%
{% endif %}
-{% endif %}
-
-
{% endif %}
{% trans "Summary" %}