From 6ce17dd48060439e97263ad0dab602fc7d5240ec Mon Sep 17 00:00:00 2001 From: mipel Date: Thu, 26 Aug 2021 14:30:05 +0200 Subject: [PATCH] Payment date and comment #3 * adds payment-comment relation in NewPaymentForm * drops transfer note form field (may not be used anyway) and replace it with comment * adds/updates translations --- compensation/forms.py | 37 ++++- .../compensation/includes/deadlines.html | 2 +- .../eco_account/includes/deadlines.html | 2 +- .../ema/detail/includes/deadlines.html | 2 +- .../detail/includes/payments.html | 4 +- locale/de/LC_MESSAGES/django.mo | Bin 19277 -> 19415 bytes locale/de/LC_MESSAGES/django.po | 146 +++++++++--------- 7 files changed, 113 insertions(+), 80 deletions(-) diff --git a/compensation/forms.py b/compensation/forms.py index c0709975..9d2df376 100644 --- a/compensation/forms.py +++ b/compensation/forms.py @@ -60,12 +60,18 @@ class NewPaymentForm(BaseModalForm): format="%d.%m.%Y" ) ) - transfer_note = forms.CharField( + comment = forms.CharField( max_length=200, required=False, + label=_("Comment"), label_suffix=_(""), - label=_("Transfer note"), - help_text=_("Note for money transfer") + help_text=_("Additional comment, maximum {} letters").format(200), + widget=forms.Textarea( + attrs={ + "rows": 5, + "class": "w-100" + } + ) ) def __init__(self, *args, **kwargs): @@ -75,6 +81,29 @@ class NewPaymentForm(BaseModalForm): self.form_caption = _("Add a payment for intervention '{}'").format(self.intervention.title) self.add_placeholder_for_field("amount", "0,00") + def is_valid(self): + """ + Checks on form validity. + + For this form we need to make sure that a date or a comment is set. + If both are missing, the user needs to enter at least an explanation why + there is no date to be entered. + + Returns: + is_valid (bool): True if valid, False otherwise + """ + super_valid = super().is_valid() + date = self.cleaned_data["due"] + comment = self.cleaned_data["comment"] or None + if not date and not comment: + # At least one needs to be set! + self.add_error( + "comment", + _("If there is no date you can enter, please explain why.") + ) + return False + return super_valid + def save(self): with transaction.atomic(): created_action = UserActionLogEntry.objects.create( @@ -90,7 +119,7 @@ class NewPaymentForm(BaseModalForm): created=created_action, amount=self.cleaned_data.get("amount", -1), due_on=self.cleaned_data.get("due", None), - comment=self.cleaned_data.get("transfer_note", None), + comment=self.cleaned_data.get("comment", None), intervention=self.intervention, ) self.intervention.log.add(edited_action) diff --git a/compensation/templates/compensation/detail/compensation/includes/deadlines.html b/compensation/templates/compensation/detail/compensation/includes/deadlines.html index f1385a59..206bd7d3 100644 --- a/compensation/templates/compensation/detail/compensation/includes/deadlines.html +++ b/compensation/templates/compensation/detail/compensation/includes/deadlines.html @@ -44,7 +44,7 @@ {% trans deadline.type_humanized %} - {{ deadline.date }} + {{ deadline.date|default_if_none:"---" }} {{ deadline.comment }} {% if is_default_member and has_access %} diff --git a/compensation/templates/compensation/detail/eco_account/includes/deadlines.html b/compensation/templates/compensation/detail/eco_account/includes/deadlines.html index 2bd7d2c8..4bf26df6 100644 --- a/compensation/templates/compensation/detail/eco_account/includes/deadlines.html +++ b/compensation/templates/compensation/detail/eco_account/includes/deadlines.html @@ -44,7 +44,7 @@ {% trans deadline.type_humanized %} - {{ deadline.date }} + {{ deadline.date|default_if_none:"---" }} {{ deadline.comment }} {% if is_default_member and has_access %} diff --git a/ema/templates/ema/detail/includes/deadlines.html b/ema/templates/ema/detail/includes/deadlines.html index 63ed3b67..36bda6fd 100644 --- a/ema/templates/ema/detail/includes/deadlines.html +++ b/ema/templates/ema/detail/includes/deadlines.html @@ -44,7 +44,7 @@ {% trans deadline.type_humanized %} - {{ deadline.date }} + {{ deadline.date|default_if_none:"---" }} {{ deadline.comment }} {% if is_default_member and has_access %} diff --git a/intervention/templates/intervention/detail/includes/payments.html b/intervention/templates/intervention/detail/includes/payments.html index 767d0e4a..8177371a 100644 --- a/intervention/templates/intervention/detail/includes/payments.html +++ b/intervention/templates/intervention/detail/includes/payments.html @@ -31,7 +31,7 @@ {% trans 'Due on' %} - {% trans 'Transfer comment' %} + {% trans 'Comment' %} {% trans 'Action' %} @@ -44,7 +44,7 @@ {{ pay.amount|floatformat:2 }} € - {{ pay.due_on }} + {{ pay.due_on|default_if_none:"---" }} {{ pay.comment }} {% if is_default_member and has_access %} diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index 1e8f0b2de06e1f6833ba4f556d76c78a5690a2fd..4c4736e3816e5c04c3a3e2996aad60b5cd8e2080 100644 GIT binary patch delta 6258 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 Uep=ZZnQ>(cGDA0y%lxjvucwoeegFUf delta 6120 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 diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index f854d82e..eb53cb11 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -3,20 +3,20 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#: compensation/filters.py:71 compensation/forms.py:46 compensation/forms.py:51 -#: compensation/forms.py:65 compensation/forms.py:234 compensation/forms.py:314 +#: compensation/filters.py:71 compensation/forms.py:48 compensation/forms.py:53 +#: compensation/forms.py:67 compensation/forms.py:236 compensation/forms.py:331 #: intervention/filters.py:26 intervention/filters.py:40 #: intervention/filters.py:47 intervention/filters.py:48 #: intervention/forms.py:322 intervention/forms.py:334 -#: intervention/forms.py:346 konova/forms.py:108 konova/forms.py:242 -#: konova/forms.py:275 konova/forms.py:280 konova/forms.py:292 -#: konova/forms.py:304 konova/forms.py:317 user/forms.py:38 +#: intervention/forms.py:346 konova/forms.py:108 konova/forms.py:252 +#: konova/forms.py:287 konova/forms.py:292 konova/forms.py:304 +#: konova/forms.py:316 konova/forms.py:329 user/forms.py:38 #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-24 14:26+0200\n" +"POT-Creation-Date: 2021-08-26 13:45+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,54 +30,48 @@ msgstr "" msgid "Show only unrecorded" msgstr "Nur unverzeichnete anzeigen" -#: compensation/forms.py:45 compensation/forms.py:303 -#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:31 -#: intervention/templates/intervention/detail/includes/withdraws.html:31 -msgid "Amount" -msgstr "Menge" - -#: compensation/forms.py:47 +#: compensation/forms.py:49 msgid "in Euro" msgstr "in Euro" -#: compensation/forms.py:50 +#: compensation/forms.py:52 #: intervention/templates/intervention/detail/includes/payments.html:31 msgid "Due on" msgstr "Fällig am" -#: compensation/forms.py:53 +#: compensation/forms.py:55 msgid "Due on which date" msgstr "Zahlung wird an diesem Datum erwartet" -#: compensation/forms.py:66 +#: compensation/forms.py:68 msgid "Transfer note" msgstr "Verwendungszweck" -#: compensation/forms.py:67 +#: compensation/forms.py:69 msgid "Note for money transfer" msgstr "Verwendungszweck für Überweisung" -#: compensation/forms.py:73 +#: compensation/forms.py:75 msgid "Payment" msgstr "Zahlung" -#: compensation/forms.py:74 +#: compensation/forms.py:76 msgid "Add a payment for intervention '{}'" msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen" -#: compensation/forms.py:86 +#: compensation/forms.py:88 msgid "Added payment" msgstr "Zahlung hinzufügen" -#: compensation/forms.py:103 compensation/forms.py:115 +#: compensation/forms.py:105 compensation/forms.py:117 msgid "Biotope Type" msgstr "Biotoptyp" -#: compensation/forms.py:106 +#: compensation/forms.py:108 msgid "Select the biotope type" msgstr "Biotoptyp wählen" -#: compensation/forms.py:122 +#: compensation/forms.py:124 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:36 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:36 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:36 @@ -88,35 +82,35 @@ msgstr "Biotoptyp wählen" msgid "Surface" msgstr "Fläche" -#: compensation/forms.py:125 intervention/forms.py:476 +#: compensation/forms.py:127 intervention/forms.py:476 msgid "in m²" msgstr "" -#: compensation/forms.py:130 +#: compensation/forms.py:132 msgid "New state" msgstr "Neuer Zustand" -#: compensation/forms.py:131 +#: compensation/forms.py:133 msgid "Insert data for the new state" msgstr "Geben Sie die Daten des neuen Zustandes ein" -#: compensation/forms.py:139 +#: compensation/forms.py:141 msgid "Added state" msgstr "Zustand hinzugefügt" -#: compensation/forms.py:155 konova/forms.py:158 +#: compensation/forms.py:157 konova/forms.py:168 msgid "Object removed" msgstr "Objekt entfernt" -#: compensation/forms.py:206 +#: compensation/forms.py:208 msgid "Deadline Type" msgstr "Fristart" -#: compensation/forms.py:209 +#: compensation/forms.py:211 msgid "Select the deadline type" msgstr "Fristart wählen" -#: compensation/forms.py:218 +#: compensation/forms.py:220 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:31 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:31 #: ema/templates/ema/detail/includes/deadlines.html:31 @@ -124,11 +118,11 @@ msgstr "Fristart wählen" msgid "Date" msgstr "Datum" -#: compensation/forms.py:221 +#: compensation/forms.py:223 msgid "Select date" msgstr "Datum wählen" -#: compensation/forms.py:233 compensation/forms.py:313 +#: compensation/forms.py:235 compensation/forms.py:330 #: compensation/templates/compensation/detail/compensation/includes/actions.html:34 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34 #: compensation/templates/compensation/detail/compensation/includes/documents.html:31 @@ -141,36 +135,40 @@ msgstr "Datum wählen" #: intervention/forms.py:345 #: intervention/templates/intervention/detail/includes/documents.html:31 #: intervention/templates/intervention/detail/includes/revocation.html:35 -#: konova/forms.py:303 +#: konova/forms.py:315 msgid "Comment" msgstr "Kommentar" -#: compensation/forms.py:235 compensation/forms.py:315 -#: intervention/forms.py:347 konova/forms.py:305 +#: compensation/forms.py:237 compensation/forms.py:332 +#: intervention/forms.py:347 konova/forms.py:317 msgid "Additional comment, maximum {} letters" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" -#: compensation/forms.py:246 +#: compensation/forms.py:248 msgid "New deadline" msgstr "Neue Frist" -#: compensation/forms.py:247 +#: compensation/forms.py:249 msgid "Insert data for the new deadline" msgstr "Geben Sie die Daten der neuen Frist ein" -#: compensation/forms.py:264 +#: compensation/forms.py:259 +msgid "If there is no date you can enter, please explain why." +msgstr "Falls Sie kein Datum angeben können, erklären Sie bitte weshalb." + +#: compensation/forms.py:280 msgid "Added deadline" msgstr "Frist/Termin hinzugefügt" -#: compensation/forms.py:275 +#: compensation/forms.py:291 msgid "Action Type" msgstr "Maßnahmentyp" -#: compensation/forms.py:278 +#: compensation/forms.py:294 msgid "Select the action type" msgstr "Maßnahmentyp wählen" -#: compensation/forms.py:285 +#: compensation/forms.py:303 #: compensation/templates/compensation/detail/compensation/includes/actions.html:37 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:37 #: compensation/templates/compensation/detail/compensation/includes/documents.html:34 @@ -196,51 +194,57 @@ msgstr "Maßnahmentyp wählen" msgid "Action" msgstr "Aktionen" -#: compensation/forms.py:291 +#: compensation/forms.py:308 msgid "Unit" msgstr "Einheit" -#: compensation/forms.py:294 +#: compensation/forms.py:311 msgid "Select the unit" msgstr "Einheit wählen" -#: compensation/forms.py:306 +#: compensation/forms.py:320 +#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:31 +#: intervention/templates/intervention/detail/includes/withdraws.html:31 +msgid "Amount" +msgstr "Menge" + +#: compensation/forms.py:323 msgid "Insert the amount" msgstr "Menge eingeben" -#: compensation/forms.py:326 +#: compensation/forms.py:343 msgid "New action" msgstr "Neue Maßnahme" -#: compensation/forms.py:327 +#: compensation/forms.py:344 msgid "Insert data for the new action" msgstr "Geben Sie die Daten der neuen Maßnahme ein" -#: compensation/forms.py:346 +#: compensation/forms.py:363 msgid "Added action" msgstr "Maßnahme hinzugefügt" -#: compensation/models.py:56 +#: compensation/models.py:67 msgid "cm" msgstr "" -#: compensation/models.py:57 +#: compensation/models.py:68 msgid "m" msgstr "" -#: compensation/models.py:58 +#: compensation/models.py:69 msgid "km" msgstr "" -#: compensation/models.py:59 +#: compensation/models.py:70 msgid "m²" msgstr "" -#: compensation/models.py:60 +#: compensation/models.py:71 msgid "ha" msgstr "" -#: compensation/models.py:61 +#: compensation/models.py:72 msgid "Pieces" msgstr "Stück" @@ -260,7 +264,7 @@ msgstr "Kennung" #: intervention/tables.py:28 #: intervention/templates/intervention/detail/includes/compensations.html:33 #: intervention/templates/intervention/detail/includes/documents.html:28 -#: intervention/templates/intervention/detail/view.html:31 konova/forms.py:274 +#: intervention/templates/intervention/detail/view.html:31 konova/forms.py:286 msgid "Title" msgstr "Bezeichnung" @@ -463,7 +467,7 @@ msgstr "Dokumente" #: compensation/templates/compensation/detail/eco_account/includes/documents.html:14 #: ema/templates/ema/detail/includes/documents.html:14 #: intervention/templates/intervention/detail/includes/documents.html:14 -#: konova/forms.py:316 +#: konova/forms.py:328 msgid "Add new document" msgstr "Neues Dokument hinzufügen" @@ -846,7 +850,7 @@ msgstr "Datum des Widerspruchs" msgid "Document" msgstr "Dokument" -#: intervention/forms.py:335 konova/forms.py:293 +#: intervention/forms.py:335 konova/forms.py:305 msgid "Must be smaller than 15 Mb" msgstr "Muss kleiner als 15 Mb sein" @@ -868,7 +872,7 @@ msgstr "Kompensationen und Zahlungen geprüft" msgid "Run check" msgstr "Prüfung vornehmen" -#: intervention/forms.py:411 konova/forms.py:364 +#: intervention/forms.py:411 konova/forms.py:376 msgid "" "I, {} {}, confirm that all necessary control steps have been performed by " "myself." @@ -1105,11 +1109,11 @@ msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!" msgid "Not editable" msgstr "Nicht editierbar" -#: konova/forms.py:107 konova/forms.py:241 +#: konova/forms.py:107 konova/forms.py:251 msgid "Confirm" msgstr "Bestätige" -#: konova/forms.py:119 konova/forms.py:250 +#: konova/forms.py:119 konova/forms.py:260 msgid "Remove" msgstr "Löschen" @@ -1117,44 +1121,44 @@ msgstr "Löschen" msgid "You are about to remove {} {}" msgstr "Sie sind dabei {} {} zu löschen" -#: konova/forms.py:251 +#: konova/forms.py:261 msgid "Are you sure?" msgstr "Sind Sie sicher?" -#: konova/forms.py:279 +#: konova/forms.py:291 msgid "Created on" msgstr "Erstellt" -#: konova/forms.py:281 +#: konova/forms.py:293 msgid "When has this file been created? Important for photos." msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?" -#: konova/forms.py:291 +#: konova/forms.py:303 #: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231 msgid "File" msgstr "Datei" -#: konova/forms.py:341 +#: konova/forms.py:353 msgid "Added document" msgstr "Dokument hinzugefügt" -#: konova/forms.py:355 +#: konova/forms.py:367 msgid "Confirm record" msgstr "Verzeichnen bestätigen" -#: konova/forms.py:363 +#: konova/forms.py:375 msgid "Record data" msgstr "Daten verzeichnen" -#: konova/forms.py:368 +#: konova/forms.py:380 msgid "Confirm unrecord" msgstr "Entzeichnen bestätigen" -#: konova/forms.py:369 +#: konova/forms.py:381 msgid "Unrecord data" msgstr "Daten entzeichnen" -#: konova/forms.py:370 +#: konova/forms.py:382 msgid "I, {} {}, confirm that this data must be unrecorded." msgstr "" "Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen." @@ -1307,7 +1311,7 @@ msgstr "Abbrechen" msgid "Save" msgstr "Speichern" -#: templates/form/generic_table_form_body.html:22 +#: templates/form/generic_table_form_body.html:23 msgid "Fields with * are required." msgstr "* sind Pflichtfelder."