Intervention revocation

* adds Revocation model to interventions/models.py
* adds revocations to interventions detail view
* fixes duplicated ids in html includes
* refactors controls for detail view into included template files (controls.html)
* reduces max length for payment transfer notes from 1000 to 200
* adds RevocationAdmin to intervention/admin.py
* adds new form for adding a Revocation to an intervention's legal_data
  * only one revocation per intervention possible
  * removes add button in case of an existing revocation
* adds revocation routes to intervention app
* renames document field in Document model into file for more clarity
* adds/updates translations
This commit is contained in:
mipel
2021-08-04 13:32:35 +02:00
parent d7c95c9e70
commit 6818ef290e
25 changed files with 495 additions and 197 deletions

View File

@@ -3,18 +3,20 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#: compensation/forms.py:35 compensation/forms.py:40 compensation/forms.py:53
#: compensation/forms.py:184 compensation/forms.py:246
#: compensation/forms.py:34 compensation/forms.py:39 compensation/forms.py:52
#: compensation/forms.py:182 compensation/forms.py:244
#: intervention/filters.py:26 intervention/filters.py:40
#: intervention/filters.py:47 intervention/filters.py:48 konova/forms.py:91
#: konova/forms.py:227 konova/forms.py:258 konova/forms.py:263
#: konova/forms.py:275 konova/forms.py:287 konova/forms.py:300 user/forms.py:38
#: intervention/filters.py:47 intervention/filters.py:48
#: intervention/forms.py:323 intervention/forms.py:335
#: intervention/forms.py:347 konova/forms.py:91 konova/forms.py:227
#: konova/forms.py:258 konova/forms.py:263 konova/forms.py:275
#: konova/forms.py:287 konova/forms.py:300 user/forms.py:38
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-08-04 11:52+0200\n"
"POT-Creation-Date: 2021-08-04 13:27+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"
@@ -24,133 +26,137 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: compensation/forms.py:34 compensation/forms.py:235
#: compensation/forms.py:33 compensation/forms.py:233
#: intervention/templates/intervention/detail/includes/eco-account-withdraws.html:33
msgid "Amount"
msgstr "Menge"
#: compensation/forms.py:36
#: compensation/forms.py:35
msgid "Amount in Euro"
msgstr "Betrag in Euro"
#: compensation/forms.py:39
#: compensation/forms.py:38
#: intervention/templates/intervention/detail/includes/payments.html:31
msgid "Due on"
msgstr "Fällig am"
#: compensation/forms.py:41
#: compensation/forms.py:40
msgid "Due on which date"
msgstr "Zahlung wird an diesem Datum erwartet"
#: compensation/forms.py:54
#: compensation/forms.py:53
msgid "Transfer note"
msgstr "Verwendungszweck"
#: compensation/forms.py:55
#: compensation/forms.py:54
msgid "Note for money transfer"
msgstr "Verwendungszweck für Überweisung"
#: compensation/forms.py:62
#: compensation/forms.py:60
msgid "Payment"
msgstr "Zahlung"
#: compensation/forms.py:63
#: compensation/forms.py:61
msgid "Add a payment for intervention '{}'"
msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen"
#: compensation/forms.py:83
#: compensation/forms.py:81
msgid "Biotope Type"
msgstr "Biotoptyp"
#: compensation/forms.py:86
#: compensation/forms.py:84
msgid "Select the biotope type"
msgstr "Biotoptyp wählen"
#: compensation/forms.py:91
#: compensation/forms.py:89
#: compensation/templates/compensation/detail/includes/states-after.html:36
#: compensation/templates/compensation/detail/includes/states-before.html:36
msgid "Surface"
msgstr "Fläche"
#: compensation/forms.py:94
#: compensation/forms.py:92
msgid "in m²"
msgstr ""
#: compensation/forms.py:99
#: compensation/forms.py:97
msgid "New state"
msgstr "Neuer Zustand"
#: compensation/forms.py:100
#: compensation/forms.py:98
msgid "Insert data for the new state"
msgstr "Geben Sie die Daten des neuen Zustandes ein"
#: compensation/forms.py:114 konova/forms.py:141
#: compensation/forms.py:112 konova/forms.py:141
msgid "Object removed"
msgstr "Objekt entfernt"
#: compensation/forms.py:156
#: compensation/forms.py:154
msgid "Deadline Type"
msgstr "Fristart"
#: compensation/forms.py:159
#: compensation/forms.py:157
msgid "Select the deadline type"
msgstr "Fristart wählen"
#: compensation/forms.py:168
#: compensation/forms.py:166
#: compensation/templates/compensation/detail/includes/deadlines.html:31
#: intervention/forms.py:322
msgid "Date"
msgstr "Datum"
#: compensation/forms.py:171
#: compensation/forms.py:169
msgid "Select date"
msgstr "Datum wählen"
#: compensation/forms.py:183 compensation/forms.py:245
#: compensation/forms.py:181 compensation/forms.py:243
#: compensation/templates/compensation/detail/includes/actions.html:34
#: compensation/templates/compensation/detail/includes/deadlines.html:34
#: compensation/templates/compensation/detail/includes/documents.html:31
#: intervention/forms.py:346
#: intervention/templates/intervention/detail/includes/documents.html:31
#: intervention/templates/intervention/detail/includes/revocation.html:35
#: konova/forms.py:286
msgid "Comment"
msgstr "Kommentar"
#: compensation/forms.py:185 compensation/forms.py:247 konova/forms.py:288
#: compensation/forms.py:183 compensation/forms.py:245
#: intervention/forms.py:348 konova/forms.py:288
msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
#: compensation/forms.py:196
#: compensation/forms.py:194
msgid "New deadline"
msgstr "Neue Frist"
#: compensation/forms.py:197
#: compensation/forms.py:195
msgid "Insert data for the new deadline"
msgstr "Geben Sie die Daten der neuen Frist ein"
#: compensation/forms.py:217
#: compensation/forms.py:215
msgid "Action Type"
msgstr "Maßnahmentyp"
#: compensation/forms.py:220
#: compensation/forms.py:218
msgid "Select the action type"
msgstr "Maßnahmentyp wählen"
#: compensation/forms.py:223
#: compensation/forms.py:221
msgid "Unit"
msgstr "Einheit"
#: compensation/forms.py:226
#: compensation/forms.py:224
msgid "Select the unit"
msgstr "Einheit wählen"
#: compensation/forms.py:238
#: compensation/forms.py:236
msgid "Insert the amount"
msgstr "Menge eingeben"
#: compensation/forms.py:258
#: compensation/forms.py:256
msgid "New action"
msgstr "Neue Maßnahme"
#: compensation/forms.py:259
#: compensation/forms.py:257
msgid "Insert data for the new action"
msgstr "Geben Sie die Daten der neuen Maßnahme ein"
@@ -186,25 +192,25 @@ msgstr "Kennung"
#: compensation/tables.py:29 compensation/tables.py:169
#: compensation/templates/compensation/detail/includes/documents.html:28
#: compensation/templates/compensation/detail/view.html:47
#: compensation/templates/compensation/detail/view.html:24
#: intervention/forms.py:35 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:64 konova/forms.py:257
#: intervention/templates/intervention/detail/view.html:24 konova/forms.py:257
msgid "Title"
msgstr "Bezeichnung"
#: compensation/tables.py:34
#: compensation/templates/compensation/detail/view.html:59
#: compensation/templates/compensation/detail/view.html:36
#: intervention/tables.py:33
#: intervention/templates/intervention/detail/view.html:96 user/models.py:48
#: intervention/templates/intervention/detail/view.html:56 user/models.py:48
msgid "Checked"
msgstr "Geprüft"
#: compensation/tables.py:40
#: compensation/templates/compensation/detail/view.html:73
#: compensation/templates/compensation/detail/view.html:50
#: intervention/tables.py:39
#: intervention/templates/intervention/detail/view.html:110 user/models.py:49
#: intervention/templates/intervention/detail/view.html:70 user/models.py:49
msgid "Recorded"
msgstr "Verzeichnet"
@@ -241,9 +247,9 @@ msgid "Checked on {} by {}"
msgstr "Am {} von {} geprüft worden"
#: compensation/tables.py:128
#: compensation/templates/compensation/detail/view.html:76
#: compensation/templates/compensation/detail/view.html:53
#: intervention/tables.py:135
#: intervention/templates/intervention/detail/view.html:113
#: intervention/templates/intervention/detail/view.html:73
msgid "Not recorded yet"
msgstr "Noch nicht verzeichnet"
@@ -306,6 +312,7 @@ msgstr "Menge"
#: intervention/templates/intervention/detail/includes/documents.html:34
#: intervention/templates/intervention/detail/includes/eco-account-withdraws.html:36
#: intervention/templates/intervention/detail/includes/payments.html:37
#: intervention/templates/intervention/detail/includes/revocation.html:41
msgid "Action"
msgstr "Aktionen"
@@ -313,6 +320,27 @@ msgstr "Aktionen"
msgid "Remove action"
msgstr "Maßnahme entfernen"
#: compensation/templates/compensation/detail/includes/controls.html:5
#: intervention/templates/intervention/detail/includes/controls.html:5
msgid "Open in LANIS"
msgstr "In LANIS öffnen"
#: compensation/templates/compensation/detail/includes/controls.html:10
#: intervention/templates/intervention/detail/includes/controls.html:10
msgid "Public report"
msgstr "Öffentlicher Bericht"
#: compensation/templates/compensation/detail/includes/controls.html:17
#: intervention/templates/intervention/detail/includes/controls.html:34
msgid "Edit"
msgstr "Bearbeiten"
#: compensation/templates/compensation/detail/includes/controls.html:21
#: intervention/templates/intervention/detail/includes/controls.html:38
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
msgid "Delete"
msgstr "Löschen"
#: compensation/templates/compensation/detail/includes/deadlines.html:8
msgid "Deadlines"
msgstr "Termine und Fristen"
@@ -380,61 +408,40 @@ msgstr "Neuen Ausgangszustand hinzufügen"
msgid "Missing surfaces according to states after: "
msgstr "Fehlende Flächenmengen aus Zielzustand: "
#: compensation/templates/compensation/detail/view.html:17
#: intervention/templates/intervention/detail/view.html:17
msgid "Open in LANIS"
msgstr "In LANIS öffnen"
#: compensation/templates/compensation/detail/view.html:22
#: intervention/templates/intervention/detail/view.html:22
msgid "Public report"
msgstr "Öffentlicher Bericht"
#: compensation/templates/compensation/detail/view.html:29
#: intervention/templates/intervention/detail/view.html:46
msgid "Edit"
msgstr "Bearbeiten"
#: compensation/templates/compensation/detail/view.html:33
#: intervention/templates/intervention/detail/view.html:50
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
msgid "Delete"
msgstr "Löschen"
#: compensation/templates/compensation/detail/view.html:51
#: compensation/templates/compensation/detail/view.html:28
msgid "compensates intervention"
msgstr "kompensiert Eingriff"
#: compensation/templates/compensation/detail/view.html:66
#: intervention/templates/intervention/detail/view.html:103
#: compensation/templates/compensation/detail/view.html:43
#: intervention/templates/intervention/detail/view.html:63
msgid "Checked on "
msgstr "Geprüft am "
#: compensation/templates/compensation/detail/view.html:66
#: compensation/templates/compensation/detail/view.html:80
#: intervention/templates/intervention/detail/view.html:103
#: intervention/templates/intervention/detail/view.html:117
#: compensation/templates/compensation/detail/view.html:43
#: compensation/templates/compensation/detail/view.html:57
#: intervention/templates/intervention/detail/view.html:63
#: intervention/templates/intervention/detail/view.html:77
msgid "by"
msgstr "von"
#: compensation/templates/compensation/detail/view.html:80
#: intervention/templates/intervention/detail/view.html:117
#: compensation/templates/compensation/detail/view.html:57
#: intervention/templates/intervention/detail/view.html:77
msgid "Recorded on "
msgstr "Verzeichnet am"
#: compensation/templates/compensation/detail/view.html:87
#: intervention/templates/intervention/detail/view.html:132
#: compensation/templates/compensation/detail/view.html:64
#: intervention/templates/intervention/detail/view.html:96
msgid "Last modified"
msgstr "Zuletzt bearbeitet"
#: compensation/templates/compensation/detail/view.html:97
#: compensation/templates/compensation/detail/view.html:74
#: intervention/forms.py:256
#: intervention/templates/intervention/detail/view.html:142
#: intervention/templates/intervention/detail/view.html:106
msgid "Shared with"
msgstr "Freigegeben für"
#: compensation/templates/compensation/detail/view.html:109
#: intervention/templates/intervention/detail/view.html:154
#: compensation/templates/compensation/detail/view.html:86
#: intervention/templates/intervention/detail/view.html:118
msgid "No geometry added, yet."
msgstr "Keine Geometrie vorhanden"
@@ -503,7 +510,7 @@ msgid "Which intervention type is this"
msgstr "Welcher Eingriffstyp"
#: intervention/forms.py:46
#: intervention/templates/intervention/detail/view.html:72
#: intervention/templates/intervention/detail/view.html:32
msgid "Law"
msgstr "Gesetz"
@@ -512,7 +519,7 @@ msgid "Based on which law"
msgstr "Basiert auf welchem Recht"
#: intervention/forms.py:52
#: intervention/templates/intervention/detail/view.html:92
#: intervention/templates/intervention/detail/view.html:52
msgid "Intervention handler"
msgstr "Eingriffsverursacher"
@@ -573,7 +580,7 @@ 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:270
#: intervention/templates/intervention/detail/view.html:27
#: intervention/templates/intervention/detail/includes/controls.html:15
msgid "Share"
msgstr "Freigabe"
@@ -581,6 +588,24 @@ msgstr "Freigabe"
msgid "Share settings for {}"
msgstr "Freigabe Einstellungen für {}"
#: intervention/forms.py:324
msgid "Date of revocation"
msgstr "Datum des Widerspruchs"
#: intervention/forms.py:334
#: intervention/templates/intervention/detail/includes/revocation.html:38
msgid "Document"
msgstr "Dokument"
#: intervention/forms.py:336 konova/forms.py:276
msgid "Must be smaller than 15 Mb"
msgstr "Muss kleiner als 15 Mb sein"
#: intervention/forms.py:359
#: intervention/templates/intervention/detail/includes/revocation.html:18
msgid "Add revocation"
msgstr "Widerspruch hinzufügen"
#: intervention/tables.py:70
msgid "Interventions"
msgstr "Eingriffe"
@@ -599,6 +624,14 @@ msgstr "Neue Kompensation hinzufügen"
msgid "Remove compensation"
msgstr "Kompensation entfernen"
#: intervention/templates/intervention/detail/includes/controls.html:20
msgid "Run check"
msgstr "Prüfung vornehmen"
#: intervention/templates/intervention/detail/includes/controls.html:27
msgid "Record"
msgstr "Verzeichnen"
#: intervention/templates/intervention/detail/includes/eco-account-withdraws.html:8
msgid "Eco Account Withdraws"
msgstr "Ökokonto Abbuchungen"
@@ -636,51 +669,61 @@ msgstr "Verwendungszweck"
msgid "Remove payment"
msgstr "Zahlung entfernen"
#: intervention/templates/intervention/detail/view.html:32
msgid "Run check"
msgstr "Prüfung vornehmen"
#: intervention/templates/intervention/detail/includes/revocation.html:8
#: intervention/templates/intervention/detail/view.html:92
msgid "Revocation"
msgstr "Widerspruch"
#: intervention/templates/intervention/detail/view.html:39
msgid "Record"
msgstr "Verzeichnen"
#: intervention/templates/intervention/detail/includes/revocation.html:32
msgctxt "Revocation"
msgid "From"
msgstr "Vom"
#: intervention/templates/intervention/detail/view.html:68
#: intervention/templates/intervention/detail/includes/revocation.html:60
msgid "Remove revocation"
msgstr "Widerspruch entfernen"
#: intervention/templates/intervention/detail/view.html:28
msgid "Process type"
msgstr "Verfahrenstyp"
#: intervention/templates/intervention/detail/view.html:76
#: intervention/templates/intervention/detail/view.html:36
msgid "Registration office"
msgstr "Zulassungsbehörde"
#: intervention/templates/intervention/detail/view.html:80
#: intervention/templates/intervention/detail/view.html:40
msgid "Registration office file number"
msgstr "Aktenzeichen Zulassungsbehörde"
#: intervention/templates/intervention/detail/view.html:84
#: intervention/templates/intervention/detail/view.html:44
msgid "Conservation office"
msgstr "Naturschutzbehörde"
#: intervention/templates/intervention/detail/view.html:88
#: intervention/templates/intervention/detail/view.html:48
msgid "Conversation office file number"
msgstr "Aktenzeichen Naturschutzbehörde"
#: intervention/templates/intervention/detail/view.html:124
#: intervention/templates/intervention/detail/view.html:84
msgid "Registration date"
msgstr "Datum Zulassung bzw. Satzungsbeschluss"
#: intervention/templates/intervention/detail/view.html:128
#: intervention/templates/intervention/detail/view.html:88
msgid "Binding on"
msgstr "Datum Bestandskraft"
#: intervention/views.py:65
#: intervention/views.py:67
msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt"
#: intervention/views.py:68 intervention/views.py:157
#: intervention/views.py:70 intervention/views.py:167
msgid "Invalid input"
msgstr "Eingabe fehlerhaft"
#: intervention/views.py:131
#: intervention/views.py:126
msgid "This intervention has a revocation from {}"
msgstr "Es existiert ein Widerspruch vom {}"
#: intervention/views.py:141
msgid ""
"Remember: This data has not been shared with you, yet. This means you can "
"only read but can not edit or perform any actions like running a check or "
@@ -690,30 +733,38 @@ msgstr ""
"bedeutet, dass Sie nur lesenden Zugriff hierauf haben und weder bearbeiten, "
"noch Prüfungen durchführen oder verzeichnen können."
#: intervention/views.py:154
#: intervention/views.py:164
msgid "{} edited"
msgstr "{} bearbeitet"
#: intervention/views.py:183
#: intervention/views.py:193
msgid "{} removed"
msgstr "{} entfernt"
#: intervention/views.py:210
#: intervention/views.py:214
msgid "Revocation removed"
msgstr "Widerspruch entfernt"
#: intervention/views.py:240
msgid "{} has already been shared with you"
msgstr "{} wurde bereits für Sie freigegeben"
#: intervention/views.py:215
#: intervention/views.py:245
msgid "{} has been shared with you"
msgstr "{} ist nun für Sie freigegeben"
#: intervention/views.py:222
#: intervention/views.py:252
msgid "Share link invalid"
msgstr "Freigabelink ungültig"
#: intervention/views.py:246
#: intervention/views.py:276
msgid "Share settings updated"
msgstr "Freigabe Einstellungen aktualisiert"
#: intervention/views.py:307
msgid "Revocation added"
msgstr "Widerspruch hinzugefügt"
#: konova/decorators.py:29
msgid "You need to be staff to perform this action!"
msgstr "Hierfür müssen Sie Mitarbeiter sein!"
@@ -764,10 +815,6 @@ msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
msgid "File"
msgstr "Datei"
#: konova/forms.py:276
msgid "Must be smaller than 15 Mb"
msgstr "Muss kleiner als 15 Mb sein"
#: konova/management/commands/setup_data.py:42
msgid "On new related data"
msgstr "Wenn neue Daten für mich angelegt werden"