From df4052ac00f8a8dce3082a81e1097ed16ca165e6 Mon Sep 17 00:00:00 2001
From: mipel <hadunan@gmail.com>
Date: Mon, 20 Sep 2021 09:03:03 +0200
Subject: [PATCH] #18 EcoAccount funding

* adds constraint for setting the deductable_surface too low -> existing deductions would not be valid anymore
* adds/updates translations
---
 compensation/models.py          |   8 +++
 locale/de/LC_MESSAGES/django.mo | Bin 19398 -> 19884 bytes
 locale/de/LC_MESSAGES/django.po | 107 +++++++++++++++++---------------
 3 files changed, 66 insertions(+), 49 deletions(-)

diff --git a/compensation/models.py b/compensation/models.py
index 990951b2..bc6aaa58 100644
--- a/compensation/models.py
+++ b/compensation/models.py
@@ -298,6 +298,14 @@ class EcoAccount(AbstractCompensation):
         if self.deductable_surface > after_state_sum:
             raise ValidationError(_("Deductable surface can not be larger than existing surfaces in after states"))
 
+        # Deductable surface can not be lower than amount of already deducted surfaces
+        # User needs to contact deducting user in case of further problems
+        deducted_sum = self.get_deductions_surface()
+        if self.deductable_surface < deducted_sum:
+            raise ValidationError(
+                _("Deductable surface can not be smaller than the sum of already existing deductions. Please contact the responsible users for the deductions!")
+            )
+
     def save(self, *args, **kwargs):
         if self.identifier is None or len(self.identifier) == 0:
             # Create new identifier
diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo
index 2ee53066cc1b83e60649f49b7f04d58883dd7e69..25b93fb8ee941c123accd3f177d6164916ccbea0 100644
GIT binary patch
delta 6671
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

delta 6172
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

diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po
index ac54d178..2f954fa3 100644
--- a/locale/de/LC_MESSAGES/django.po
+++ b/locale/de/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@
 #: compensation/forms.py:67 compensation/forms.py:264 compensation/forms.py:345
 #: intervention/filters.py:26 intervention/filters.py:40
 #: intervention/filters.py:47 intervention/filters.py:48
-#: intervention/forms.py:321 intervention/forms.py:333
-#: intervention/forms.py:346 konova/forms.py:108 konova/forms.py:252
+#: intervention/forms.py:322 intervention/forms.py:334
+#: intervention/forms.py:347 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:336 user/forms.py:38
 #, fuzzy
@@ -16,7 +16,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-17 12:53+0200\n"
+"POT-Creation-Date: 2021-09-20 08:55+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -53,7 +53,7 @@ msgstr "Zahlung wird an diesem Datum erwartet"
 #: ema/templates/ema/detail/includes/actions.html:34
 #: ema/templates/ema/detail/includes/deadlines.html:34
 #: ema/templates/ema/detail/includes/documents.html:31
-#: intervention/forms.py:345
+#: intervention/forms.py:346
 #: intervention/templates/intervention/detail/includes/documents.html:31
 #: intervention/templates/intervention/detail/includes/payments.html:34
 #: intervention/templates/intervention/detail/includes/revocation.html:38
@@ -62,7 +62,7 @@ msgid "Comment"
 msgstr "Kommentar"
 
 #: compensation/forms.py:68 compensation/forms.py:265 compensation/forms.py:346
-#: intervention/forms.py:347 konova/forms.py:317
+#: intervention/forms.py:348 konova/forms.py:317
 msgid "Additional comment, maximum {} letters"
 msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
 
@@ -97,11 +97,11 @@ msgstr "Biotoptyp wählen"
 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:36
 #: ema/templates/ema/detail/includes/states-after.html:36
 #: ema/templates/ema/detail/includes/states-before.html:36
-#: intervention/forms.py:478
+#: intervention/forms.py:479
 msgid "Surface"
 msgstr "Fläche"
 
-#: compensation/forms.py:155 intervention/forms.py:480
+#: compensation/forms.py:155 intervention/forms.py:481
 msgid "in m²"
 msgstr ""
 
@@ -133,7 +133,7 @@ msgstr "Fristart wählen"
 #: 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
-#: intervention/forms.py:320
+#: intervention/forms.py:321
 msgid "Date"
 msgstr "Datum"
 
@@ -245,9 +245,18 @@ msgstr "Stück"
 msgid ""
 "Deductable surface can not be larger than existing surfaces in after states"
 msgstr ""
+"Die abbuchbare Fläche darf die Gesamtfläche der Zielzustände nicht überschreiten"
+
+#: compensation/models.py:306
+msgid ""
+"Deductable surface can not be smaller than the sum of already existing "
+"deductions. Please contact the responsible users for the deductions!"
+msgstr ""
+"Es wurde bereits mehr Fläche abgebucht, als Sie nun als abbuchbar einstellen wollen. "
+"Kontaktieren Sie die für die Abbuchungen verantwortlichen Nutzer!"
 
 #: compensation/tables.py:24 compensation/tables.py:164 ema/tables.py:28
-#: intervention/forms.py:29 intervention/tables.py:23
+#: intervention/forms.py:30 intervention/tables.py:23
 #: intervention/templates/intervention/detail/includes/compensations.html:30
 msgid "Identifier"
 msgstr "Kennung"
@@ -258,7 +267,7 @@ msgstr "Kennung"
 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:28
 #: compensation/templates/compensation/detail/eco_account/view.html:31
 #: ema/tables.py:33 ema/templates/ema/detail/includes/documents.html:28
-#: ema/templates/ema/detail/view.html:24 intervention/forms.py:36
+#: ema/templates/ema/detail/view.html:24 intervention/forms.py:37
 #: intervention/tables.py:28
 #: intervention/templates/intervention/detail/includes/compensations.html:33
 #: intervention/templates/intervention/detail/includes/documents.html:28
@@ -353,7 +362,7 @@ msgstr "Ökokonten"
 
 #: compensation/tables.py:222
 #: compensation/templates/compensation/detail/eco_account/view.html:19
-#: intervention/forms.py:462 intervention/forms.py:469
+#: intervention/forms.py:463 intervention/forms.py:470
 #: konova/templates/konova/home.html:88 templates/navbar.html:34
 msgid "Eco-account"
 msgstr "Ökokonto"
@@ -445,7 +454,7 @@ msgstr "Frist/Termin hinzufügen"
 
 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:28
 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:28
-#: ema/templates/ema/detail/includes/deadlines.html:28 intervention/forms.py:41
+#: ema/templates/ema/detail/includes/deadlines.html:28 intervention/forms.py:42
 msgid "Type"
 msgstr "Typ"
 
@@ -565,7 +574,7 @@ msgstr "Zuletzt bearbeitet"
 
 #: compensation/templates/compensation/detail/compensation/view.html:79
 #: compensation/templates/compensation/detail/eco_account/view.html:78
-#: ema/templates/ema/detail/view.html:69 intervention/forms.py:254
+#: ema/templates/ema/detail/view.html:69 intervention/forms.py:255
 #: intervention/templates/intervention/detail/view.html:111
 msgid "Shared with"
 msgstr "Freigegeben für"
@@ -638,7 +647,7 @@ msgid "Conversation office file number"
 msgstr "Aktenzeichen Naturschutzbehörde"
 
 #: compensation/templates/compensation/detail/eco_account/view.html:66
-#: ema/templates/ema/detail/view.html:50 intervention/forms.py:53
+#: ema/templates/ema/detail/view.html:50 intervention/forms.py:54
 #: intervention/templates/intervention/detail/view.html:59
 msgid "Intervention handler"
 msgstr "Eingriffsverursacher"
@@ -752,120 +761,120 @@ msgstr "Gemarkung"
 msgid "Search for district"
 msgstr "Nach Gemarkung suchen"
 
-#: intervention/forms.py:32
+#: intervention/forms.py:33
 msgid "Generated automatically if none was given"
 msgstr "Wird automatisch erzeugt, falls nicht angegeben"
 
-#: intervention/forms.py:44
+#: intervention/forms.py:45
 msgid "Which intervention type is this"
 msgstr "Welcher Eingriffstyp"
 
-#: intervention/forms.py:47
+#: intervention/forms.py:48
 #: intervention/templates/intervention/detail/view.html:39
 msgid "Law"
 msgstr "Gesetz"
 
-#: intervention/forms.py:50
+#: intervention/forms.py:51
 msgid "Based on which law"
 msgstr "Basiert auf welchem Recht"
 
-#: intervention/forms.py:56
+#: intervention/forms.py:57
 msgid "Who performs the intervention"
 msgstr "Wer führt den Eingriff durch"
 
-#: intervention/forms.py:59
+#: intervention/forms.py:60
 msgid "Data provider"
 msgstr "Datenbereitsteller"
 
-#: intervention/forms.py:61
+#: intervention/forms.py:62
 msgid "Who provides the data for the intervention"
 msgstr "Wer stellt die Daten für den Eingriff zur Verfügung"
 
-#: intervention/forms.py:66
+#: intervention/forms.py:67
 msgid "Organization"
 msgstr "Organisation"
 
-#: intervention/forms.py:72
+#: intervention/forms.py:73
 msgid "Data provider details"
 msgstr "Datenbereitsteller Details"
 
-#: intervention/forms.py:75
+#: intervention/forms.py:76
 msgid "Further details"
 msgstr "Weitere Details"
 
-#: intervention/forms.py:88
+#: intervention/forms.py:89
 msgid "Map"
 msgstr "Karte"
 
-#: intervention/forms.py:90
+#: intervention/forms.py:91
 msgid "Where does the intervention take place"
 msgstr "Wo findet der Eingriff statt"
 
-#: intervention/forms.py:98
+#: intervention/forms.py:99
 msgid "Files"
 msgstr "Dateien"
 
-#: intervention/forms.py:105
+#: intervention/forms.py:106
 msgid "New intervention"
 msgstr "Neuer Eingriff"
 
-#: intervention/forms.py:147
+#: intervention/forms.py:148
 msgid "Edit intervention"
 msgstr "Eingriff bearbeiten"
 
-#: intervention/forms.py:243
+#: intervention/forms.py:244
 msgid "Share link"
 msgstr "Freigabelink"
 
-#: intervention/forms.py:245
+#: intervention/forms.py:246
 msgid "Send this link to users who you want to have writing access on the data"
 msgstr "Andere Nutzer erhalten über diesen Link Zugriff auf die Daten"
 
-#: intervention/forms.py:257
+#: intervention/forms.py:258
 msgid "Remove check to remove access for this user"
 msgstr "Wählen Sie die Nutzer ab, die keinen Zugriff mehr haben sollen"
 
-#: intervention/forms.py:268
+#: intervention/forms.py:269
 #: intervention/templates/intervention/detail/includes/controls.html:15
 msgid "Share"
 msgstr "Freigabe"
 
-#: intervention/forms.py:269
+#: intervention/forms.py:270
 msgid "Share settings for {}"
 msgstr "Freigabe Einstellungen für {}"
 
-#: intervention/forms.py:322
+#: intervention/forms.py:323
 msgid "Date of revocation"
 msgstr "Datum des Widerspruchs"
 
-#: intervention/forms.py:332
+#: intervention/forms.py:333
 #: intervention/templates/intervention/detail/includes/revocation.html:35
 msgid "Document"
 msgstr "Dokument"
 
-#: intervention/forms.py:335 konova/forms.py:305
+#: intervention/forms.py:336 konova/forms.py:305
 msgid "Must be smaller than 15 Mb"
 msgstr "Muss kleiner als 15 Mb sein"
 
-#: intervention/forms.py:358
+#: intervention/forms.py:359
 #: intervention/templates/intervention/detail/includes/revocation.html:18
 msgid "Add revocation"
 msgstr "Widerspruch hinzufügen"
 
-#: intervention/forms.py:398
+#: intervention/forms.py:399
 msgid "Checked intervention data"
 msgstr "Eingriffsdaten geprüft"
 
-#: intervention/forms.py:404
+#: intervention/forms.py:405
 msgid "Checked compensations data and payments"
 msgstr "Kompensationen und Zahlungen geprüft"
 
-#: intervention/forms.py:412
+#: intervention/forms.py:413
 #: intervention/templates/intervention/detail/includes/controls.html:19
 msgid "Run check"
 msgstr "Prüfung vornehmen"
 
-#: intervention/forms.py:413 konova/forms.py:389
+#: intervention/forms.py:414 konova/forms.py:389
 msgid ""
 "I, {} {}, confirm that all necessary control steps have been performed by "
 "myself."
@@ -873,30 +882,30 @@ msgstr ""
 "Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt "
 "wurden:"
 
-#: intervention/forms.py:464
+#: intervention/forms.py:465
 msgid "Only recorded accounts can be selected for deductions"
 msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden."
 
-#: intervention/forms.py:483 intervention/forms.py:490
+#: intervention/forms.py:484 intervention/forms.py:491
 #: intervention/tables.py:88
 #: intervention/templates/intervention/detail/view.html:19
 #: konova/templates/konova/home.html:11 templates/navbar.html:22
 msgid "Intervention"
 msgstr "Eingriff"
 
-#: intervention/forms.py:485
+#: intervention/forms.py:486
 msgid "Only shared interventions can be selected"
 msgstr "Nur freigegebene Eingriffe können gewählt werden"
 
-#: intervention/forms.py:498
+#: intervention/forms.py:499
 msgid "New Deduction"
 msgstr "Neue Abbuchung"
 
-#: intervention/forms.py:499
+#: intervention/forms.py:500
 msgid "Enter the information for a new deduction from a chosen eco-account"
 msgstr "Geben Sie die Informationen für eine neue Abbuchung ein."
 
-#: intervention/forms.py:535
+#: intervention/forms.py:536
 msgid ""
 "Eco-account {} is not recorded yet. You can only deduct from recorded "
 "accounts."
@@ -904,7 +913,7 @@ msgstr ""
 "Ökokonto {} ist noch nicht verzeichnet. Abbuchungen können nur von "
 "verzeichneten Ökokonten erfolgen."
 
-#: intervention/forms.py:548
+#: intervention/forms.py:549
 msgid ""
 "The account {} has not enough surface for a deduction of {} m². There are "
 "only {} m² left"