#38 User requests

* implements 2) "Multiple revocations for interventions"
This commit is contained in:
mpeltriaux 2021-11-15 12:18:22 +01:00
parent e922b983dd
commit 36470f819c
8 changed files with 227 additions and 226 deletions

View File

@ -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(

View File

@ -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

View File

@ -4,8 +4,8 @@
<div class="row">
<div class="col-sm-6">
<h5>
<span class="badge badge-light">{% if obj.legal.revocation %}1{% else %}0{% endif %}</span>
{% trans 'Revocation' %}
<span class="badge badge-light">{{obj.legal.revocations.count}}</span>
{% trans 'Revocations' %}
</h5>
</div>
<div class="col-sm-6">
@ -44,30 +44,28 @@
</tr>
</thead>
<tbody>
{% if obj.legal.revocation %}
{% with obj.legal.revocation as rev %}
<tr>
<td class="align-middle">
{{ rev.date }}
</td>
<td class="align-middle">
{% if rev.document %}
<a href="{% url 'intervention:get-doc-revocation' rev.document.id %}">
{% trans 'Revocation' %}
</a>
{% endif %}
</td>
<td class="align-middle">{{ rev.comment }}</td>
<td>
{% if is_default_member and has_access %}
<button data-form-url="{% url 'intervention:remove-revocation' rev.id %}" class="btn btn-default btn-modal" title="{% trans 'Remove revocation' %}">
{% fa5_icon 'trash' %}
</button>
{% endif %}
</td>
</tr>
{% endwith %}
{% endif %}
{% for rev in obj.legal.revocations.all %}
<tr>
<td class="align-middle">
{{ rev.date }}
</td>
<td class="align-middle">
{% if rev.document %}
<a href="{% url 'intervention:get-doc-revocation' rev.document.id %}">
{% trans 'Revocation' %}
</a>
{% endif %}
</td>
<td class="align-middle">{{ rev.comment }}</td>
<td>
{% if is_default_member and has_access %}
<button data-form-url="{% url 'intervention:remove-revocation' rev.id %}" class="btn btn-default btn-modal" title="{% trans 'Remove revocation' %}">
{% fa5_icon 'trash' %}
</button>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>

View File

@ -99,9 +99,9 @@
<th scope="row">{% trans 'Binding on' %}</th>
<td class="align-middle">{{obj.legal.binding_date|default_if_none:""}}</td>
</tr>
<tr {% if obj.legal.revocation %}class="alert alert-danger" title="{% trans 'Exists' %}" {% endif %}>
<th scope="row">{% trans 'Revocation' %}</th>
<td class="align-middle">{{obj.legal.revocation.date|naturalday|default_if_none:""}}</td>
<tr {% if obj.legal.revocations.all %}class="alert alert-danger" title="{% trans 'Exists' %}" {% endif %}>
<th scope="row">{% trans 'Revocations' %}</th>
<td class="align-middle">{{obj.legal.revocations.count}}</td>
</tr>
<tr>
<th scope="row">{% trans 'Last modified' %}</th>

View File

@ -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"))

View File

@ -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",
)

Binary file not shown.

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"