diff --git a/intervention/forms/modalForms.py b/intervention/forms/modalForms.py
index fe24efa9..b126f474 100644
--- a/intervention/forms/modalForms.py
+++ b/intervention/forms/modalForms.py
@@ -162,14 +162,13 @@ class NewRevocationModalForm(BaseModalForm):
)
revocation = Revocation.objects.create(
date=self.cleaned_data["date"],
+ legal=self.instance.legal,
comment=self.cleaned_data["comment"],
created=created_action,
)
self.instance.modified = edited_action
self.instance.save()
self.instance.log.add(edited_action)
- self.instance.legal.revocation = revocation
- self.instance.legal.save()
if self.cleaned_data["file"]:
RevocationDocument.objects.create(
diff --git a/intervention/models.py b/intervention/models.py
index 47d3a585..6043e422 100644
--- a/intervention/models.py
+++ b/intervention/models.py
@@ -68,6 +68,7 @@ class Revocation(BaseResource):
Holds revocation data e.g. for intervention objects
"""
date = models.DateField(null=True, blank=True, help_text="Revocation from")
+ legal = models.ForeignKey("LegalData", null=False, blank=False, on_delete=models.CASCADE, help_text="Refers to 'Widerspruch am'", related_name="revocations")
comment = models.TextField(null=True, blank=True)
def delete(self, *args, **kwargs):
@@ -99,7 +100,7 @@ class RevocationDocument(AbstractDocument):
Returns:
intervention (Intervention)
"""
- return self.instance.legaldata.intervention
+ return self.instance.legal.intervention
def delete(self, *args, **kwargs):
"""
@@ -118,13 +119,14 @@ class RevocationDocument(AbstractDocument):
# Remove the file itself
super().delete(*args, **kwargs)
- # Always remove 'revocation' folder
+ # Always remove 'revocation' folder if the one revocation we just processed is the only one left
folder_path = self.file.path.split("/")
- try:
- shutil.rmtree("/".join(folder_path[:-1]))
- except FileNotFoundError:
- # Revocation subfolder seems to be missing already
- pass
+ if revoc_docs.count() == 0:
+ try:
+ shutil.rmtree("/".join(folder_path[:-1]))
+ except FileNotFoundError:
+ # Revocation subfolder seems to be missing already
+ pass
if other_intervention_docs.count() == 0:
# If there are no further documents for the intervention, we can simply remove the whole folder as well!
@@ -167,8 +169,6 @@ class LegalData(UuidModel):
}
)
- revocation = models.OneToOneField(Revocation, null=True, blank=True, help_text="Refers to 'Widerspruch am'", on_delete=models.SET_NULL)
-
class Intervention(BaseObject, ShareableObject, RecordableObject, CheckableObject):
"""
@@ -277,7 +277,7 @@ class Intervention(BaseObject, ShareableObject, RecordableObject, CheckableObjec
regular_docs (QuerySet): The queryset of regular other documents
"""
revoc_docs = RevocationDocument.objects.filter(
- instance=self.legal.revocation
+ instance__in=self.legal.revocations.all()
)
regular_docs = InterventionDocument.objects.filter(
instance=self
@@ -366,6 +366,7 @@ class InterventionDocument(AbstractDocument):
if folder_path is not None:
try:
shutil.rmtree(folder_path)
+ pass
except FileNotFoundError:
# Folder seems to be missing already...
pass
diff --git a/intervention/templates/intervention/detail/includes/revocation.html b/intervention/templates/intervention/detail/includes/revocation.html
index c9d821ff..cc3e7b3e 100644
--- a/intervention/templates/intervention/detail/includes/revocation.html
+++ b/intervention/templates/intervention/detail/includes/revocation.html
@@ -4,8 +4,8 @@
- {% if obj.legal.revocation %}1{% else %}0{% endif %}
- {% trans 'Revocation' %}
+ {{obj.legal.revocations.count}}
+ {% trans 'Revocations' %}
@@ -44,30 +44,28 @@
- {% if obj.legal.revocation %}
- {% with obj.legal.revocation as rev %}
-
-
- {{ rev.date }}
- |
-
- {% if rev.document %}
-
- {% trans 'Revocation' %}
-
- {% endif %}
- |
- {{ rev.comment }} |
-
- {% if is_default_member and has_access %}
-
- {% endif %}
- |
-
- {% endwith %}
- {% endif %}
+ {% for rev in obj.legal.revocations.all %}
+
+
+ {{ rev.date }}
+ |
+
+ {% if rev.document %}
+
+ {% trans 'Revocation' %}
+
+ {% endif %}
+ |
+ {{ rev.comment }} |
+
+ {% if is_default_member and has_access %}
+
+ {% endif %}
+ |
+
+ {% endfor %}
diff --git a/intervention/templates/intervention/detail/view.html b/intervention/templates/intervention/detail/view.html
index e3d919f3..408b3939 100644
--- a/intervention/templates/intervention/detail/view.html
+++ b/intervention/templates/intervention/detail/view.html
@@ -99,9 +99,9 @@
{% trans 'Binding on' %} |
{{obj.legal.binding_date|default_if_none:""}} |
-
- {% trans 'Revocation' %} |
- {{obj.legal.revocation.date|naturalday|default_if_none:""}} |
+
+ {% trans 'Revocations' %} |
+ {{obj.legal.revocations.count}} |
{% trans 'Last modified' %} |
diff --git a/intervention/utils/quality.py b/intervention/utils/quality.py
index 7896000d..b4717b18 100644
--- a/intervention/utils/quality.py
+++ b/intervention/utils/quality.py
@@ -66,8 +66,8 @@ class InterventionQualityChecker(AbstractQualityChecker):
try:
legal = self.obj.legal
# Check for a revocation
- if legal.revocation:
- self.messages.append(_("Revocation exists"))
+ if legal.revocations.exists():
+ self.messages.append(_("Revocations exists"))
if legal.registration_date is None:
self._add_missing_attr_name(_("Registration date"))
diff --git a/intervention/views.py b/intervention/views.py
index a535d753..8c0838c9 100644
--- a/intervention/views.py
+++ b/intervention/views.py
@@ -147,7 +147,7 @@ def get_revocation_view(request: HttpRequest, doc_id: str):
"""
doc = get_object_or_404(RevocationDocument, id=doc_id)
# File download only possible if related instance is shared with user
- if not doc.instance.users.filter(id=request.user.id):
+ if not doc.instance.legal.intervention.users.filter(id=request.user.id):
messages.info(
request,
DATA_UNSHARED
@@ -238,10 +238,10 @@ def detail_view(request: HttpRequest, id: str):
)
# Inform user about revocation
- if intervention.legal.revocation:
+ if intervention.legal.revocations.exists():
messages.error(
request,
- _("This intervention has a revocation from {}").format(intervention.legal.revocation.date.strftime(DEFAULT_DATE_FORMAT)),
+ _("This intervention has {} revocations").format(intervention.legal.revocations.count()),
extra_tags="danger",
)
diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo
index e4d126ba..21785a43 100644
Binary files a/locale/de/LC_MESSAGES/django.mo and b/locale/de/LC_MESSAGES/django.mo differ
diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po
index f850b346..5c6f50a6 100644
--- a/locale/de/LC_MESSAGES/django.po
+++ b/locale/de/LC_MESSAGES/django.po
@@ -9,8 +9,8 @@
#: intervention/filters.py:26 intervention/filters.py:40
#: intervention/filters.py:47 intervention/filters.py:48
#: intervention/forms/forms.py:53 intervention/forms/forms.py:155
-#: intervention/forms/forms.py:167 intervention/forms/modalForms.py:107
-#: intervention/forms/modalForms.py:120 intervention/forms/modalForms.py:133
+#: intervention/forms/forms.py:167 intervention/forms/modalForms.py:108
+#: intervention/forms/modalForms.py:121 intervention/forms/modalForms.py:134
#: konova/forms.py:142 konova/forms.py:247 konova/forms.py:313
#: konova/forms.py:340 konova/forms.py:350 konova/forms.py:363
#: konova/forms.py:375 konova/forms.py:396 user/forms.py:38
@@ -19,7 +19,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-25 17:10+0200\n"
+"POT-Creation-Date: 2021-11-15 11:46+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -37,7 +37,7 @@ msgstr "Vom"
msgid "To"
msgstr "Bis"
-#: analysis/forms.py:47 compensation/forms/forms.py:93
+#: analysis/forms.py:47 compensation/forms/forms.py:76
#: compensation/templates/compensation/detail/eco_account/view.html:58
#: compensation/templates/compensation/report/eco_account/report.html:16
#: compensation/utils/quality.py:100 ema/templates/ema/detail/view.html:42
@@ -49,14 +49,14 @@ msgstr "Bis"
msgid "Conservation office"
msgstr "Eintragungsstelle"
-#: analysis/forms.py:49 compensation/forms/forms.py:95
+#: analysis/forms.py:49 compensation/forms/forms.py:78
msgid "Select the responsible office"
msgstr "Verantwortliche Stelle"
-#: analysis/forms.py:58 compensation/forms/forms.py:67
-#: compensation/forms/forms.py:104 compensation/forms/forms.py:155
-#: intervention/forms/forms.py:63 intervention/forms/forms.py:80
-#: intervention/forms/forms.py:96 intervention/forms/forms.py:112
+#: analysis/forms.py:58 compensation/forms/forms.py:87
+#: compensation/forms/forms.py:138 intervention/forms/forms.py:63
+#: intervention/forms/forms.py:80 intervention/forms/forms.py:96
+#: intervention/forms/forms.py:112
msgid "Click for selection"
msgstr "Auswählen..."
@@ -210,7 +210,7 @@ msgstr "Abbuchungen"
#: 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/modalForms.py:282
+#: intervention/forms/modalForms.py:276
msgid "Surface"
msgstr "Fläche"
@@ -273,7 +273,7 @@ msgid "Type"
msgstr "Typ"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:24
-#: intervention/forms/modalForms.py:293 intervention/forms/modalForms.py:300
+#: intervention/forms/modalForms.py:287 intervention/forms/modalForms.py:294
#: intervention/tables.py:88
#: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/home.html:11 templates/navbars/navbar.html:22
@@ -283,7 +283,7 @@ msgstr "Eingriff"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:34
#: compensation/tables.py:224
#: compensation/templates/compensation/detail/eco_account/view.html:19
-#: intervention/forms/modalForms.py:266 intervention/forms/modalForms.py:273
+#: intervention/forms/modalForms.py:260 intervention/forms/modalForms.py:267
#: konova/templates/konova/home.html:88 templates/navbars/navbar.html:34
msgid "Eco-account"
msgstr "Ökokonto"
@@ -335,19 +335,11 @@ msgstr "Bezeichnung"
msgid "An explanatory name"
msgstr "Aussagekräftiger Titel"
-#: compensation/forms/forms.py:49 ema/forms.py:47 ema/forms.py:105
+#: compensation/forms/forms.py:49 ema/forms.py:49 ema/forms.py:105
msgid "Compensation XY; Location ABC"
msgstr "Kompensation XY; Flur ABC"
-#: compensation/forms/forms.py:55
-msgid "Fundings"
-msgstr "Förderungen"
-
-#: compensation/forms/forms.py:58
-msgid "Select fundings for this compensation"
-msgstr "Wählen Sie ggf. Fördermittelprojekte"
-
-#: compensation/forms/forms.py:73 compensation/forms/modalForms.py:61
+#: compensation/forms/forms.py:56 compensation/forms/modalForms.py:61
#: compensation/forms/modalForms.py:272 compensation/forms/modalForms.py:367
#: compensation/templates/compensation/detail/compensation/includes/actions.html:34
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34
@@ -358,7 +350,7 @@ msgstr "Wählen Sie ggf. Fördermittelprojekte"
#: 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/forms.py:179 intervention/forms/modalForms.py:132
+#: intervention/forms/forms.py:179 intervention/forms/modalForms.py:133
#: intervention/templates/intervention/detail/includes/documents.html:31
#: intervention/templates/intervention/detail/includes/payments.html:34
#: intervention/templates/intervention/detail/includes/revocation.html:38
@@ -366,11 +358,11 @@ msgstr "Wählen Sie ggf. Fördermittelprojekte"
msgid "Comment"
msgstr "Kommentar"
-#: compensation/forms/forms.py:75 intervention/forms/forms.py:181
+#: compensation/forms/forms.py:58 intervention/forms/forms.py:181
msgid "Additional comment"
msgstr "Zusätzlicher Kommentar"
-#: compensation/forms/forms.py:109
+#: compensation/forms/forms.py:92
#: compensation/templates/compensation/detail/eco_account/view.html:62
#: compensation/templates/compensation/report/eco_account/report.html:20
#: compensation/utils/quality.py:102 ema/templates/ema/detail/view.html:46
@@ -382,67 +374,67 @@ msgstr "Zusätzlicher Kommentar"
msgid "Conservation office file number"
msgstr "Aktenzeichen Eintragungsstelle"
-#: compensation/forms/forms.py:115 intervention/forms/forms.py:135
+#: compensation/forms/forms.py:98 intervention/forms/forms.py:135
msgid "ETS-123/ABC.456"
msgstr ""
-#: compensation/forms/forms.py:121
+#: compensation/forms/forms.py:104
msgid "Eco-account handler"
msgstr "Maßnahmenträger"
-#: compensation/forms/forms.py:125
+#: compensation/forms/forms.py:108
msgid "Who handles the eco-account"
msgstr "Wer für die Herrichtung des Ökokontos verantwortlich ist"
-#: compensation/forms/forms.py:128 intervention/forms/forms.py:148
+#: compensation/forms/forms.py:111 intervention/forms/forms.py:148
msgid "Company Mustermann"
msgstr "Firma Mustermann"
-#: compensation/forms/forms.py:146
+#: compensation/forms/forms.py:129
#: compensation/templates/compensation/detail/compensation/view.html:35
#: compensation/templates/compensation/report/compensation/report.html:16
msgid "compensates intervention"
msgstr "kompensiert Eingriff"
-#: compensation/forms/forms.py:148
+#: compensation/forms/forms.py:131
msgid "Select the intervention for which this compensation compensates"
msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist"
-#: compensation/forms/forms.py:173
+#: compensation/forms/forms.py:155
msgid "New compensation"
msgstr "Neue Kompensation"
-#: compensation/forms/forms.py:231
+#: compensation/forms/forms.py:211
msgid "Edit compensation"
msgstr "Bearbeite Kompensation"
-#: compensation/forms/forms.py:290 compensation/utils/quality.py:84
+#: compensation/forms/forms.py:267 compensation/utils/quality.py:84
msgid "Available Surface"
msgstr "Verfügbare Fläche"
-#: compensation/forms/forms.py:293
+#: compensation/forms/forms.py:270
msgid "The amount that can be used for deductions"
msgstr "Die für Abbuchungen zur Verfügung stehende Menge"
-#: compensation/forms/forms.py:302
+#: compensation/forms/forms.py:279
#: compensation/templates/compensation/detail/eco_account/view.html:66
#: compensation/utils/quality.py:72
msgid "Agreement date"
msgstr "Vereinbarungsdatum"
-#: compensation/forms/forms.py:304
+#: compensation/forms/forms.py:281
msgid "When did the parties agree on this?"
msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?"
-#: compensation/forms/forms.py:329
+#: compensation/forms/forms.py:305
msgid "New Eco-Account"
msgstr "Neues Ökokonto"
-#: compensation/forms/forms.py:338
+#: compensation/forms/forms.py:314
msgid "Eco-Account XY; Location ABC"
msgstr "Ökokonto XY; Flur ABC"
-#: compensation/forms/forms.py:397
+#: compensation/forms/forms.py:371
msgid "Edit Eco-Account"
msgstr "Ökokonto bearbeiten"
@@ -460,7 +452,7 @@ msgid "Due on which date"
msgstr "Zahlung wird an diesem Datum erwartet"
#: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:274
-#: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:134
+#: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:135
#: konova/forms.py:376
msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
@@ -485,7 +477,7 @@ msgstr "Biotoptyp"
msgid "Select the biotope type"
msgstr "Biotoptyp wählen"
-#: compensation/forms/modalForms.py:155 intervention/forms/modalForms.py:284
+#: compensation/forms/modalForms.py:155 intervention/forms/modalForms.py:278
msgid "in m²"
msgstr ""
@@ -517,7 +509,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/modalForms.py:106
+#: intervention/forms/modalForms.py:107
msgid "Date"
msgstr "Datum"
@@ -595,38 +587,38 @@ msgstr "Geben Sie die Daten der neuen Maßnahme ein"
msgid "Added action"
msgstr "Maßnahme hinzugefügt"
-#: compensation/models.py:83
+#: compensation/models.py:82
msgid "cm"
msgstr ""
-#: compensation/models.py:84
+#: compensation/models.py:83
msgid "m"
msgstr ""
-#: compensation/models.py:85
+#: compensation/models.py:84
msgid "km"
msgstr ""
-#: compensation/models.py:86
+#: compensation/models.py:85
msgid "m²"
msgstr ""
-#: compensation/models.py:87
+#: compensation/models.py:86
msgid "ha"
msgstr ""
-#: compensation/models.py:88
+#: compensation/models.py:87
msgid "Pieces"
msgstr "Stück"
-#: compensation/models.py:359
+#: compensation/models.py:345
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:366
+#: compensation/models.py:352
msgid ""
"Deductable surface can not be smaller than the sum of already existing "
"deductions. Please contact the responsible users for the deductions!"
@@ -744,22 +736,22 @@ msgid "Public report"
msgstr "Öffentlicher Bericht"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:17
-#: compensation/templates/compensation/detail/eco_account/includes/controls.html:28
-#: ema/templates/ema/detail/includes/controls.html:28
+#: compensation/templates/compensation/detail/eco_account/includes/controls.html:31
+#: ema/templates/ema/detail/includes/controls.html:31
#: intervention/templates/intervention/detail/includes/controls.html:36
msgid "Edit"
msgstr "Bearbeiten"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:21
-#: compensation/templates/compensation/detail/eco_account/includes/controls.html:32
-#: ema/templates/ema/detail/includes/controls.html:32
+#: compensation/templates/compensation/detail/eco_account/includes/controls.html:35
+#: ema/templates/ema/detail/includes/controls.html:35
#: intervention/templates/intervention/detail/includes/controls.html:40
msgid "Show log"
msgstr "Log anzeigen"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:24
-#: compensation/templates/compensation/detail/eco_account/includes/controls.html:35
-#: ema/templates/ema/detail/includes/controls.html:35
+#: compensation/templates/compensation/detail/eco_account/includes/controls.html:38
+#: ema/templates/ema/detail/includes/controls.html:38
#: intervention/templates/intervention/detail/includes/controls.html:43
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
msgid "Delete"
@@ -886,50 +878,36 @@ msgstr "Verzeichnet am"
#: compensation/templates/compensation/detail/compensation/view.html:71
#: compensation/templates/compensation/detail/eco_account/view.html:74
#: compensation/templates/compensation/report/compensation/report.html:24
-#: compensation/templates/compensation/report/eco_account/report.html:28
+#: compensation/templates/compensation/report/eco_account/report.html:41
#: ema/templates/ema/detail/view.html:54
#: ema/templates/ema/report/report.html:28
-msgid "Funded by"
-msgstr "Gefördert mit"
-
-#: compensation/templates/compensation/detail/compensation/view.html:79
-#: compensation/templates/compensation/detail/eco_account/view.html:82
-#: compensation/templates/compensation/report/compensation/report.html:31
-#: compensation/templates/compensation/report/eco_account/report.html:35
-#: compensation/templates/compensation/report/eco_account/report.html:49
-#: ema/templates/ema/detail/view.html:62
-#: ema/templates/ema/report/report.html:35
-#: intervention/templates/intervention/report/report.html:57
-#: intervention/templates/intervention/report/report.html:78
-msgid "None"
-msgstr "-"
-
-#: compensation/templates/compensation/detail/compensation/view.html:84
-#: compensation/templates/compensation/detail/eco_account/view.html:87
-#: compensation/templates/compensation/report/compensation/report.html:37
-#: compensation/templates/compensation/report/eco_account/report.html:54
-#: ema/templates/ema/detail/view.html:67
-#: ema/templates/ema/report/report.html:41
#: intervention/templates/intervention/detail/view.html:108
#: intervention/templates/intervention/report/report.html:91
msgid "Last modified"
msgstr "Zuletzt bearbeitet"
-#: compensation/templates/compensation/detail/compensation/view.html:92
-#: compensation/templates/compensation/detail/eco_account/view.html:95
-#: ema/templates/ema/detail/view.html:82 intervention/forms/modalForms.py:40
+#: compensation/templates/compensation/detail/compensation/view.html:79
+#: compensation/templates/compensation/detail/eco_account/view.html:82
+#: ema/templates/ema/detail/view.html:69 intervention/forms/modalForms.py:40
#: intervention/templates/intervention/detail/view.html:116
msgid "Shared with"
msgstr "Freigegeben für"
-#: compensation/templates/compensation/detail/eco_account/includes/controls.html:17
-#: ema/templates/ema/detail/includes/controls.html:17
+#: compensation/templates/compensation/detail/eco_account/includes/controls.html:15
+#: ema/templates/ema/detail/includes/controls.html:15
+#: intervention/forms/modalForms.py:54
+#: intervention/templates/intervention/detail/includes/controls.html:15
+msgid "Share"
+msgstr "Freigabe"
+
+#: compensation/templates/compensation/detail/eco_account/includes/controls.html:20
+#: ema/templates/ema/detail/includes/controls.html:20
#: intervention/templates/intervention/detail/includes/controls.html:25
msgid "Unrecord"
msgstr "Entzeichnen"
-#: compensation/templates/compensation/detail/eco_account/includes/controls.html:21
-#: ema/templates/ema/detail/includes/controls.html:21
+#: compensation/templates/compensation/detail/eco_account/includes/controls.html:24
+#: ema/templates/ema/detail/includes/controls.html:24
#: intervention/templates/intervention/detail/includes/controls.html:29
msgid "Record"
msgstr "Verzeichnen"
@@ -1000,24 +978,30 @@ msgstr "Maßnahmenträger"
msgid "Report"
msgstr "Bericht"
-#: compensation/templates/compensation/report/compensation/report.html:55
-#: compensation/templates/compensation/report/eco_account/report.html:72
-#: ema/templates/ema/report/report.html:59
+#: compensation/templates/compensation/report/compensation/report.html:42
+#: compensation/templates/compensation/report/eco_account/report.html:59
+#: ema/templates/ema/report/report.html:46
#: intervention/templates/intervention/report/report.html:105
msgid "Open in browser"
msgstr "Im Browser öffnen"
-#: compensation/templates/compensation/report/compensation/report.html:59
-#: compensation/templates/compensation/report/eco_account/report.html:76
-#: ema/templates/ema/report/report.html:63
+#: compensation/templates/compensation/report/compensation/report.html:46
+#: compensation/templates/compensation/report/eco_account/report.html:63
+#: ema/templates/ema/report/report.html:50
#: intervention/templates/intervention/report/report.html:109
msgid "View in LANIS"
msgstr "In LANIS öffnen"
-#: compensation/templates/compensation/report/eco_account/report.html:41
+#: compensation/templates/compensation/report/eco_account/report.html:28
msgid "Deductions for"
msgstr "Abbuchungen für"
+#: compensation/templates/compensation/report/eco_account/report.html:36
+#: intervention/templates/intervention/report/report.html:57
+#: intervention/templates/intervention/report/report.html:78
+msgid "None"
+msgstr "-"
+
#: compensation/utils/quality.py:34
msgid "States unequal"
msgstr "Ungleiche Zustandsflächenmengen"
@@ -1041,79 +1025,101 @@ msgstr "Daten zu den verantwortlichen Stellen"
msgid "Compensation {} added"
msgstr "Kompensation {} hinzugefügt"
-#: compensation/views/compensation_views.py:132
+#: compensation/views/compensation_views.py:134
msgid "Compensation {} edited"
msgstr "Kompensation {} bearbeitet"
-#: compensation/views/compensation_views.py:216
-#: compensation/views/eco_account_views.py:290 ema/views.py:178
-#: intervention/views.py:448
+#: compensation/views/compensation_views.py:220
+#: compensation/views/eco_account_views.py:307 ema/views.py:182
+#: intervention/views.py:476
msgid "Log"
msgstr "Log"
-#: compensation/views/compensation_views.py:237
+#: compensation/views/compensation_views.py:243
msgid "Compensation removed"
msgstr "Kompensation entfernt"
-#: compensation/views/compensation_views.py:256
-#: compensation/views/eco_account_views.py:389 ema/views.py:331
-#: intervention/views.py:127
+#: compensation/views/compensation_views.py:264
+#: compensation/views/eco_account_views.py:459 ema/views.py:349
+#: intervention/views.py:130
msgid "Document added"
msgstr "Dokument hinzugefügt"
-#: compensation/views/compensation_views.py:321
-#: compensation/views/eco_account_views.py:333 ema/views.py:275
+#: compensation/views/compensation_views.py:333
+#: compensation/views/eco_account_views.py:353 ema/views.py:287
msgid "State added"
msgstr "Zustand hinzugefügt"
-#: compensation/views/compensation_views.py:340
-#: compensation/views/eco_account_views.py:352 ema/views.py:294
+#: compensation/views/compensation_views.py:354
+#: compensation/views/eco_account_views.py:374 ema/views.py:308
msgid "Action added"
msgstr "Maßnahme hinzugefügt"
-#: compensation/views/compensation_views.py:359
-#: compensation/views/eco_account_views.py:371 ema/views.py:313
+#: compensation/views/compensation_views.py:375
+#: compensation/views/eco_account_views.py:439 ema/views.py:329
msgid "Deadline added"
msgstr "Frist/Termin hinzugefügt"
-#: compensation/views/compensation_views.py:378
+#: compensation/views/compensation_views.py:397
+#: compensation/views/eco_account_views.py:396 ema/views.py:419
msgid "State removed"
msgstr "Zustand gelöscht"
-#: compensation/views/compensation_views.py:397
+#: compensation/views/compensation_views.py:419
+#: compensation/views/eco_account_views.py:418 ema/views.py:441
msgid "Action removed"
msgstr "Maßnahme entfernt"
-#: compensation/views/eco_account_views.py:86
+#: compensation/views/eco_account_views.py:88
msgid "Eco-Account {} added"
msgstr "Ökokonto {} hinzugefügt"
-#: compensation/views/eco_account_views.py:141
+#: compensation/views/eco_account_views.py:145
msgid "Eco-Account {} edited"
msgstr "Ökokonto {} bearbeitet"
-#: compensation/views/eco_account_views.py:240
+#: compensation/views/eco_account_views.py:255
msgid "Eco-account removed"
msgstr "Ökokonto entfernt"
-#: compensation/views/eco_account_views.py:267
+#: compensation/views/eco_account_views.py:283
msgid "Deduction removed"
msgstr "Abbuchung entfernt"
-#: compensation/views/eco_account_views.py:310 ema/views.py:252
-#: intervention/views.py:488
+#: compensation/views/eco_account_views.py:328 ema/views.py:262
+#: intervention/views.py:518
msgid "{} unrecorded"
msgstr "{} entzeichnet"
-#: compensation/views/eco_account_views.py:310 ema/views.py:252
-#: intervention/views.py:488
+#: compensation/views/eco_account_views.py:328 ema/views.py:262
+#: intervention/views.py:518
msgid "{} recorded"
msgstr "{} verzeichnet"
-#: compensation/views/eco_account_views.py:455 intervention/views.py:470
+#: compensation/views/eco_account_views.py:529 intervention/views.py:499
msgid "Deduction added"
msgstr "Abbuchung hinzugefügt"
+#: compensation/views/eco_account_views.py:612 ema/views.py:517
+#: intervention/views.py:374
+msgid "{} has already been shared with you"
+msgstr "{} wurde bereits für Sie freigegeben"
+
+#: compensation/views/eco_account_views.py:617 ema/views.py:522
+#: intervention/views.py:379
+msgid "{} has been shared with you"
+msgstr "{} ist nun für Sie freigegeben"
+
+#: compensation/views/eco_account_views.py:624 ema/views.py:529
+#: intervention/views.py:386
+msgid "Share link invalid"
+msgstr "Freigabelink ungültig"
+
+#: compensation/views/eco_account_views.py:647 ema/views.py:552
+#: intervention/views.py:409
+msgid "Share settings updated"
+msgstr "Freigabe Einstellungen aktualisiert"
+
#: compensation/views/payment_views.py:36
msgid "Payment added"
msgstr "Zahlung hinzugefügt"
@@ -1122,7 +1128,7 @@ msgstr "Zahlung hinzugefügt"
msgid "Payment removed"
msgstr "Zahlung gelöscht"
-#: ema/forms.py:38
+#: ema/forms.py:40
msgid "New EMA"
msgstr "Neue EMA hinzufügen"
@@ -1150,15 +1156,15 @@ msgstr ""
msgid "Payment funded compensation"
msgstr "Ersatzzahlungsmaßnahme"
-#: ema/views.py:78
+#: ema/views.py:79
msgid "EMA {} added"
msgstr "EMA {} hinzugefügt"
-#: ema/views.py:205
+#: ema/views.py:211
msgid "EMA {} edited"
msgstr "EMA {} bearbeitet"
-#: ema/views.py:235
+#: ema/views.py:243
msgid "EMA removed"
msgstr "EMA entfernt"
@@ -1255,47 +1261,42 @@ msgstr "Andere Nutzer erhalten über diesen Link Zugriff auf die Daten"
msgid "Remove check to remove access for this user"
msgstr "Wählen Sie die Nutzer ab, die keinen Zugriff mehr haben sollen"
-#: intervention/forms/modalForms.py:54
-#: intervention/templates/intervention/detail/includes/controls.html:15
-msgid "Share"
-msgstr "Freigabe"
-
#: intervention/forms/modalForms.py:55
msgid "Share settings for {}"
msgstr "Freigabe Einstellungen für {}"
-#: intervention/forms/modalForms.py:108
+#: intervention/forms/modalForms.py:109
msgid "Date of revocation"
msgstr "Datum des Widerspruchs"
-#: intervention/forms/modalForms.py:119
+#: intervention/forms/modalForms.py:120
#: intervention/templates/intervention/detail/includes/revocation.html:35
msgid "Document"
msgstr "Dokument"
-#: intervention/forms/modalForms.py:122 konova/forms.py:364
+#: intervention/forms/modalForms.py:123 konova/forms.py:364
msgid "Must be smaller than 15 Mb"
msgstr "Muss kleiner als 15 Mb sein"
-#: intervention/forms/modalForms.py:146
+#: intervention/forms/modalForms.py:147
#: intervention/templates/intervention/detail/includes/revocation.html:18
msgid "Add revocation"
msgstr "Widerspruch hinzufügen"
-#: intervention/forms/modalForms.py:186
+#: intervention/forms/modalForms.py:189
msgid "Checked intervention data"
msgstr "Eingriffsdaten geprüft"
-#: intervention/forms/modalForms.py:192
+#: intervention/forms/modalForms.py:195
msgid "Checked compensations data and payments"
msgstr "Kompensationen und Zahlungen geprüft"
-#: intervention/forms/modalForms.py:200
+#: intervention/forms/modalForms.py:203
#: intervention/templates/intervention/detail/includes/controls.html:19
msgid "Run check"
msgstr "Prüfung vornehmen"
-#: intervention/forms/modalForms.py:201 konova/forms.py:449
+#: intervention/forms/modalForms.py:204 konova/forms.py:449
msgid ""
"I, {} {}, confirm that all necessary control steps have been performed by "
"myself."
@@ -1303,23 +1304,23 @@ msgstr ""
"Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt "
"wurden:"
-#: intervention/forms/modalForms.py:268
+#: intervention/forms/modalForms.py:262
msgid "Only recorded accounts can be selected for deductions"
msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden."
-#: intervention/forms/modalForms.py:295
+#: intervention/forms/modalForms.py:289
msgid "Only shared interventions can be selected"
msgstr "Nur freigegebene Eingriffe können gewählt werden"
-#: intervention/forms/modalForms.py:308
+#: intervention/forms/modalForms.py:302
msgid "New Deduction"
msgstr "Neue Abbuchung"
-#: intervention/forms/modalForms.py:309
+#: intervention/forms/modalForms.py:303
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/modalForms.py:342
+#: intervention/forms/modalForms.py:336
msgid ""
"Eco-account {} is not recorded yet. You can only deduct from recorded "
"accounts."
@@ -1327,7 +1328,7 @@ msgstr ""
"Ökokonto {} ist noch nicht verzeichnet. Abbuchungen können nur von "
"verzeichneten Ökokonten erfolgen."
-#: intervention/forms/modalForms.py:355
+#: intervention/forms/modalForms.py:349
msgid ""
"The account {} has not enough surface for a deduction of {} m². There are "
"only {} m² left"
@@ -1336,9 +1337,7 @@ msgstr ""
"Restfläche. Es stehen noch {} m² zur Verfügung."
#: intervention/tables.py:45
-#: intervention/templates/intervention/detail/includes/revocation.html:8
-#: intervention/templates/intervention/detail/includes/revocation.html:57
-#: intervention/templates/intervention/detail/view.html:104
+#: intervention/templates/intervention/detail/includes/revocation.html:56
msgid "Revocation"
msgstr "Widerspruch"
@@ -1388,12 +1387,17 @@ msgstr "Betrag"
msgid "Remove payment"
msgstr "Zahlung entfernen"
+#: intervention/templates/intervention/detail/includes/revocation.html:8
+#: intervention/templates/intervention/detail/view.html:104
+msgid "Revocations"
+msgstr "Widersprüche"
+
#: intervention/templates/intervention/detail/includes/revocation.html:32
msgctxt "Revocation"
msgid "From"
msgstr "Vom"
-#: intervention/templates/intervention/detail/includes/revocation.html:64
+#: intervention/templates/intervention/detail/includes/revocation.html:63
msgid "Remove revocation"
msgstr "Widerspruch entfernen"
@@ -1410,8 +1414,8 @@ msgid "Exist"
msgstr "Vorhanden"
#: intervention/utils/quality.py:70
-msgid "Revocation exists"
-msgstr "Widerspruch liegt vor"
+msgid "Revocations exists"
+msgstr "Widersprüche liegen vor"
#: intervention/utils/quality.py:76
msgid "Binding date"
@@ -1431,51 +1435,31 @@ msgstr ""
msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt"
-#: intervention/views.py:231
-msgid "This intervention has a revocation from {}"
-msgstr "Es existiert ein Widerspruch vom {}"
+#: intervention/views.py:244
+msgid "This intervention has {} revocations"
+msgstr "Dem Eingriff liegen {} Widersprüche vor"
-#: intervention/views.py:274
+#: intervention/views.py:292
msgid "Intervention {} edited"
msgstr "Eingriff {} bearbeitet"
-#: intervention/views.py:275
-msgid "Status of Checked and Recorded reseted"
-msgstr "'Geprüft' und 'Verzeichnet' sind zurückgesetzt worden"
-
-#: intervention/views.py:307
+#: intervention/views.py:327
msgid "{} removed"
msgstr "{} entfernt"
-#: intervention/views.py:328
+#: intervention/views.py:348
msgid "Revocation removed"
msgstr "Widerspruch entfernt"
-#: intervention/views.py:354
-msgid "{} has already been shared with you"
-msgstr "{} wurde bereits für Sie freigegeben"
-
-#: intervention/views.py:359
-msgid "{} has been shared with you"
-msgstr "{} ist nun für Sie freigegeben"
-
-#: intervention/views.py:366
-msgid "Share link invalid"
-msgstr "Freigabelink ungültig"
-
-#: intervention/views.py:387
-msgid "Share settings updated"
-msgstr "Freigabe Einstellungen aktualisiert"
-
-#: intervention/views.py:406
+#: intervention/views.py:430
msgid "Check performed"
msgstr "Prüfung durchgeführt"
-#: intervention/views.py:426
+#: intervention/views.py:452
msgid "Revocation added"
msgstr "Widerspruch hinzugefügt"
-#: intervention/views.py:493
+#: intervention/views.py:523
msgid "There are errors on this intervention:"
msgstr "Es liegen Fehler in diesem Eingriff vor:"
@@ -1587,19 +1571,19 @@ msgstr "Wenn meine freigegebenen Daten gelöscht wurden"
msgid "On registered data edited"
msgstr "Wenn meine freigegebenen Daten bearbeitet wurden"
-#: konova/models.py:206
+#: konova/models.py:231
msgid "Finished"
msgstr "Umgesetzt bis"
-#: konova/models.py:207
+#: konova/models.py:232
msgid "Maintain"
msgstr "Unterhaltung bis"
-#: konova/models.py:208
+#: konova/models.py:233
msgid "Control"
msgstr "Kontrolle am"
-#: konova/models.py:209
+#: konova/models.py:234
msgid "Other"
msgstr "Sonstige"
@@ -1684,6 +1668,16 @@ msgstr ""
msgid "You need to be part of another user group."
msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!"
+#: konova/utils/message_templates.py:19
+msgid "Status of Checked and Recorded reseted"
+msgstr "'Geprüft' und 'Verzeichnet' sind zurückgesetzt worden"
+
+#: konova/utils/message_templates.py:22
+msgid ""
+"Action canceled. Eco account is recorded or deductions exist. Only "
+"conservation office member can perform this action."
+msgstr ""
+
#: konova/utils/messenger.py:69
msgid "{} checked"
msgstr "{} geprüft"
@@ -3146,3 +3140,12 @@ msgstr ""
#: venv/lib/python3.7/site-packages/fontawesome_5/fields.py:16
msgid "A fontawesome icon field"
msgstr ""
+
+#~ msgid "Fundings"
+#~ msgstr "Förderungen"
+
+#~ msgid "Select fundings for this compensation"
+#~ msgstr "Wählen Sie ggf. Fördermittelprojekte"
+
+#~ msgid "Funded by"
+#~ msgstr "Gefördert mit"