From 1b6eea2c9e81d2e186faa9ee0e4c80eeef2c0a30 Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Sat, 8 Nov 2025 13:05:14 +0100 Subject: [PATCH] # Refactoring eiv-kom remove view * refactors removing compensation from intervention view * drops unused view on api app --- api/urls/urls.py | 3 - api/views/method_views.py | 35 --- intervention/forms/modals/remove.py | 22 ++ intervention/urls.py | 4 +- intervention/views/compensation.py | 50 ++-- locale/de/LC_MESSAGES/django.mo | Bin 46354 -> 46144 bytes locale/de/LC_MESSAGES/django.po | 418 ++++++++++++++-------------- 7 files changed, 251 insertions(+), 281 deletions(-) delete mode 100644 api/views/method_views.py create mode 100644 intervention/forms/modals/remove.py diff --git a/api/urls/urls.py b/api/urls/urls.py index abe9eacf..fe0ddbbc 100644 --- a/api/urls/urls.py +++ b/api/urls/urls.py @@ -7,11 +7,8 @@ Created on: 21.01.22 """ from django.urls import path, include -from api.views.method_views import generate_new_token_view - app_name = "api" urlpatterns = [ path("v1/", include("api.urls.v1.urls", namespace="v1")), - path("token/generate", generate_new_token_view, name="generate-new-token"), ] \ No newline at end of file diff --git a/api/views/method_views.py b/api/views/method_views.py deleted file mode 100644 index 7c6904a5..00000000 --- a/api/views/method_views.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Author: Michel Peltriaux -Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany -Contact: michel.peltriaux@sgdnord.rlp.de -Created on: 27.01.22 - -""" -from django.contrib.auth.decorators import login_required -from django.http import HttpRequest, JsonResponse - -from api.models import APIUserToken - - -@login_required -def generate_new_token_view(request: HttpRequest): - """ Handles request for fetching - - Args: - request (HttpRequest): The incoming request - - Returns: - - """ - - if request.method == "GET": - token = APIUserToken() - while APIUserToken.objects.filter(token=token.token).exists(): - token = APIUserToken() - return JsonResponse( - data={ - "gen_data": token.token - } - ) - else: - raise NotImplementedError \ No newline at end of file diff --git a/intervention/forms/modals/remove.py b/intervention/forms/modals/remove.py new file mode 100644 index 00000000..7052d8f3 --- /dev/null +++ b/intervention/forms/modals/remove.py @@ -0,0 +1,22 @@ +""" +Author: Michel Peltriaux +Created on: 08.11.25 + +""" +from django.shortcuts import get_object_or_404 + +from compensation.models import Compensation +from konova.forms.modals import RemoveModalForm + + +class RemoveCompensationFromInterventionModalForm(RemoveModalForm): + """ Specific form for removing a compensation from an intervention + + """ + def __init__(self, *args, **kwargs): + # The 'instance' that is pushed into the constructor by the generic base class points to the + # intervention instead of the compensation, which shall be deleted. Therefore we need to fetch the compensation + # and replace the instance parameter with that object + instance = get_object_or_404(Compensation, id=kwargs.pop("comp_id")) + kwargs["instance"] = instance + super().__init__(*args, **kwargs) diff --git a/intervention/urls.py b/intervention/urls.py index 10a6e5f0..bf5f754a 100644 --- a/intervention/urls.py +++ b/intervention/urls.py @@ -9,7 +9,7 @@ from django.urls import path from intervention.autocomplete.intervention import InterventionAutocomplete from intervention.views.check import InterventionCheckView -from intervention.views.compensation import remove_compensation_view +from intervention.views.compensation import RemoveCompensationFromInterventionView from intervention.views.deduction import NewInterventionDeductionView, EditInterventionDeductionView, \ RemoveInterventionDeductionView from intervention.views.document import NewInterventionDocumentView, GetInterventionDocumentView, \ @@ -41,7 +41,7 @@ urlpatterns = [ path('/resub', InterventionResubmissionView.as_view(), name='resubmission-create'), # Compensations - path('/compensation//remove', remove_compensation_view, name='remove-compensation'), + path('/compensation//remove', RemoveCompensationFromInterventionView.as_view(), name='remove-compensation'), # Documents path('/document/new/', NewInterventionDocumentView.as_view(), name='new-doc'), diff --git a/intervention/views/compensation.py b/intervention/views/compensation.py index 704a04e4..9e0ba095 100644 --- a/intervention/views/compensation.py +++ b/intervention/views/compensation.py @@ -5,42 +5,36 @@ Contact: ksp-servicestelle@sgdnord.rlp.de Created on: 19.08.22 """ -from django.contrib.auth.decorators import login_required -from django.core.exceptions import ObjectDoesNotExist -from django.http import HttpRequest, Http404 +from django.contrib.auth.mixins import LoginRequiredMixin from django.shortcuts import get_object_or_404 from django.urls import reverse +from compensation.models import Compensation +from intervention.forms.modals.remove import RemoveCompensationFromInterventionModalForm from intervention.models import Intervention -from konova.decorators import shared_access_required, login_required_modal -from konova.forms.modals import RemoveModalForm from konova.utils.message_templates import COMPENSATION_REMOVED_TEMPLATE +from konova.views.remove import BaseRemoveModalFormView -@login_required_modal -@login_required -@shared_access_required(Intervention, "id") -def remove_compensation_view(request: HttpRequest, id: str, comp_id: str): - """ Renders a modal view for removing the compensation +class RemoveCompensationFromInterventionView(LoginRequiredMixin, BaseRemoveModalFormView): + _MODEL_CLS = Intervention + _FORM_CLS = RemoveCompensationFromInterventionModalForm + _MSG_SUCCESS = COMPENSATION_REMOVED_TEMPLATE + _REDIRECT_URL = "intervention:detail" - Args: - request (HttpRequest): The incoming request - id (str): The compensation's id + def _user_has_shared_access(self, user, **kwargs): + compensation_id = kwargs.get("comp_id", None) + compensation = get_object_or_404(Compensation, id=compensation_id) + return compensation.is_shared_with(user) - Returns: + def _user_has_permission(self, user, **kwargs): + return user.is_default_user() - """ - intervention = get_object_or_404(Intervention, id=id) - try: - comp = intervention.compensations.get( - id=comp_id - ) - except ObjectDoesNotExist: - raise Http404("Unknown compensation") - form = RemoveModalForm(request.POST or None, instance=comp, request=request) - return form.process_request( - request=request, - msg_success=COMPENSATION_REMOVED_TEMPLATE.format(comp.identifier), - redirect_url=reverse("intervention:detail", args=(id,)) + "#related_data", - ) + def _get_msg_success(self, *args, **kwargs): + compensation_id = kwargs.get("comp_id", None) + compensation = get_object_or_404(Compensation, id=compensation_id) + return self._MSG_SUCCESS.format(compensation.identifier) + def _get_redirect_url(self, *args, **kwargs): + obj = kwargs.get("obj") + return reverse(self._REDIRECT_URL, args=(obj.id,)) + "#related_data" diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index c9a22673b615d664eebe6e2487fcf12849e6deaf..246917db64bf0761ae4be531cc9e73ec575333cf 100644 GIT binary patch delta 11701 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, YEAR. # #: compensation/filters/eco_account.py:21 -#: compensation/forms/modals/compensation_action.py:82 -#: compensation/forms/modals/deadline.py:52 -#: compensation/forms/modals/payment.py:24 -#: compensation/forms/modals/payment.py:35 -#: compensation/forms/modals/payment.py:52 +#: compensation/forms/modals/compensation_action.py:84 +#: compensation/forms/modals/deadline.py:53 +#: compensation/forms/modals/payment.py:26 +#: compensation/forms/modals/payment.py:37 +#: compensation/forms/modals/payment.py:54 #: intervention/forms/intervention.py:57 intervention/forms/intervention.py:177 #: intervention/forms/intervention.py:190 -#: intervention/forms/modals/revocation.py:21 -#: intervention/forms/modals/revocation.py:35 -#: intervention/forms/modals/revocation.py:48 +#: intervention/forms/modals/revocation.py:22 +#: intervention/forms/modals/revocation.py:36 +#: intervention/forms/modals/revocation.py:49 #: konova/filters/mixins/file_number.py:17 #: konova/filters/mixins/file_number.py:18 #: konova/filters/mixins/geo_reference.py:25 @@ -35,7 +35,7 @@ #: konova/forms/modals/document_form.py:50 #: konova/forms/modals/document_form.py:62 #: konova/forms/modals/document_form.py:80 -#: konova/forms/modals/remove_form.py:23 +#: konova/forms/modals/remove_form.py:24 #: konova/forms/modals/resubmission_form.py:22 #: konova/forms/modals/resubmission_form.py:38 konova/forms/remove_form.py:25 #: konova/tests/unit/test_forms.py:59 user/forms/modals/api_token.py:17 @@ -45,7 +45,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-10-19 13:56+0200\n" +"POT-Creation-Date: 2025-11-08 13:03+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -127,7 +127,7 @@ msgstr "" #: analysis/templates/analysis/reports/includes/eco_account/amount.html:3 #: analysis/templates/analysis/reports/includes/intervention/amount.html:3 #: analysis/templates/analysis/reports/includes/old_data/amount.html:3 -#: compensation/forms/modals/compensation_action.py:66 +#: compensation/forms/modals/compensation_action.py:68 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34 #: intervention/templates/intervention/detail/includes/deductions.html:31 msgid "Amount" @@ -261,7 +261,7 @@ msgstr "" #: analysis/templates/analysis/reports/includes/eco_account/deductions.html:14 #: analysis/templates/analysis/reports/includes/eco_account/deductions.html:16 -#: compensation/forms/modals/state.py:59 +#: compensation/forms/modals/state.py:55 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:36 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:36 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:36 @@ -296,7 +296,7 @@ msgid "Compensation" msgstr "Kompensation" #: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:21 -#: compensation/forms/modals/payment.py:65 +#: compensation/forms/modals/payment.py:67 msgid "Payment" msgstr "Zahlung" @@ -401,15 +401,15 @@ msgstr "Bezeichnung" msgid "An explanatory name" msgstr "Aussagekräftiger Titel" -#: compensation/forms/compensation.py:49 ema/forms.py:51 ema/forms.py:114 +#: compensation/forms/compensation.py:49 ema/forms.py:52 ema/forms.py:115 #: ema/tests/unit/test_forms.py:31 ema/tests/unit/test_forms.py:85 msgid "Compensation XY; Location ABC" msgstr "Kompensation XY; Flur ABC" #: compensation/forms/compensation.py:56 -#: compensation/forms/modals/compensation_action.py:81 -#: compensation/forms/modals/deadline.py:51 -#: compensation/forms/modals/payment.py:51 +#: compensation/forms/modals/compensation_action.py:83 +#: compensation/forms/modals/deadline.py:52 +#: compensation/forms/modals/payment.py:53 #: compensation/templates/compensation/detail/compensation/includes/actions.html:35 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:39 #: compensation/templates/compensation/detail/compensation/includes/documents.html:34 @@ -420,7 +420,7 @@ msgstr "Kompensation XY; Flur ABC" #: ema/templates/ema/detail/includes/deadlines.html:39 #: ema/templates/ema/detail/includes/documents.html:34 #: intervention/forms/intervention.py:203 -#: intervention/forms/modals/revocation.py:47 +#: intervention/forms/modals/revocation.py:48 #: intervention/templates/intervention/detail/includes/documents.html:39 #: intervention/templates/intervention/detail/includes/payments.html:34 #: intervention/templates/intervention/detail/includes/revocation.html:38 @@ -431,7 +431,7 @@ msgid "Comment" msgstr "Kommentar" #: compensation/forms/compensation.py:58 -#: compensation/forms/modals/compensation_action.py:83 +#: compensation/forms/modals/compensation_action.py:85 #: intervention/forms/intervention.py:205 #: konova/forms/modals/resubmission_form.py:39 msgid "Additional comment" @@ -448,19 +448,18 @@ msgid "Select the intervention for which this compensation compensates" msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist" #: compensation/forms/compensation.py:114 -#: compensation/views/compensation/compensation.py:161 msgid "New compensation" msgstr "Neue Kompensation" -#: compensation/forms/compensation.py:179 +#: compensation/forms/compensation.py:178 msgid "" "This intervention is currently recorded. You cannot add further " "compensations as long as it is recorded." msgstr "" -"Dieser Eingriff ist derzeit verzeichnet. " -"Sie können keine weiteren Kompensationen hinzufügen, so lange er verzeichnet ist." +"Dieser Eingriff ist derzeit verzeichnet. Sie können keine weiteren " +"Kompensationen hinzufügen, so lange er verzeichnet ist." -#: compensation/forms/compensation.py:202 +#: compensation/forms/compensation.py:201 msgid "Edit compensation" msgstr "Bearbeite Kompensation" @@ -483,7 +482,8 @@ msgid "When did the parties agree on this?" msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?" #: compensation/forms/eco_account.py:72 -#: compensation/views/eco_account/eco_account.py:93 +#: compensation/views/eco_account/eco_account.py:49 +#: compensation/views/eco_account/eco_account.py:118 msgid "New Eco-Account" msgstr "Neues Ökokonto" @@ -580,11 +580,11 @@ msgid "" "production?" msgstr "Optional: Handelt es sich um eine produktionsintegrierte Kompensation?" -#: compensation/forms/modals/compensation_action.py:29 +#: compensation/forms/modals/compensation_action.py:31 msgid "Action Type" msgstr "Maßnahmentyp" -#: compensation/forms/modals/compensation_action.py:32 +#: compensation/forms/modals/compensation_action.py:34 msgid "" "An action can consist of multiple different action types. All the selected " "action types are expected to be performed according to the amount and unit " @@ -594,162 +594,158 @@ msgstr "" "hier gewählten Einträge sollen mit der weiter unten angegebenen Einheit und " "Menge umgesetzt werden. " -#: compensation/forms/modals/compensation_action.py:37 -#: compensation/forms/modals/compensation_action.py:49 +#: compensation/forms/modals/compensation_action.py:39 +#: compensation/forms/modals/compensation_action.py:51 msgid "Action Type detail" msgstr "Zusatzmerkmal" -#: compensation/forms/modals/compensation_action.py:40 +#: compensation/forms/modals/compensation_action.py:42 msgid "Select the action type detail" msgstr "Zusatzmerkmal wählen" -#: compensation/forms/modals/compensation_action.py:54 +#: compensation/forms/modals/compensation_action.py:56 msgid "Unit" msgstr "Einheit" -#: compensation/forms/modals/compensation_action.py:57 +#: compensation/forms/modals/compensation_action.py:59 msgid "Select the unit" msgstr "Einheit wählen" -#: compensation/forms/modals/compensation_action.py:69 +#: compensation/forms/modals/compensation_action.py:71 msgid "Insert the amount" msgstr "Menge eingeben" -#: compensation/forms/modals/compensation_action.py:94 +#: compensation/forms/modals/compensation_action.py:96 #: compensation/tests/compensation/unit/test_forms.py:42 msgid "New action" msgstr "Neue Maßnahme" -#: compensation/forms/modals/compensation_action.py:95 +#: compensation/forms/modals/compensation_action.py:97 #: compensation/tests/compensation/unit/test_forms.py:43 msgid "Insert data for the new action" msgstr "Geben Sie die Daten der neuen Maßnahme ein" -#: compensation/forms/modals/compensation_action.py:119 +#: compensation/forms/modals/compensation_action.py:122 #: compensation/templates/compensation/detail/compensation/includes/actions.html:68 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:67 -#: compensation/tests/compensation/unit/test_forms.py:84 +#: compensation/tests/compensation/unit/test_forms.py:88 #: ema/templates/ema/detail/includes/actions.html:65 msgid "Edit action" msgstr "Maßnahme bearbeiten" -#: compensation/forms/modals/deadline.py:22 +#: compensation/forms/modals/deadline.py:23 msgid "Deadline Type" msgstr "Fristart" -#: compensation/forms/modals/deadline.py:25 +#: compensation/forms/modals/deadline.py:26 msgid "Select the deadline type" msgstr "Fristart wählen" -#: compensation/forms/modals/deadline.py:34 +#: compensation/forms/modals/deadline.py:35 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:36 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:36 #: ema/templates/ema/detail/includes/deadlines.html:36 -#: intervention/forms/modals/revocation.py:20 +#: intervention/forms/modals/revocation.py:21 #: konova/forms/modals/resubmission_form.py:23 msgid "Date" msgstr "Datum" -#: compensation/forms/modals/deadline.py:37 +#: compensation/forms/modals/deadline.py:38 msgid "Select date" msgstr "Datum wählen" -#: compensation/forms/modals/deadline.py:53 -#: compensation/forms/modals/payment.py:53 -#: intervention/forms/modals/revocation.py:49 +#: compensation/forms/modals/deadline.py:54 +#: compensation/forms/modals/payment.py:55 +#: intervention/forms/modals/revocation.py:50 #: konova/forms/modals/document_form.py:63 msgid "Additional comment, maximum {} letters" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" -#: compensation/forms/modals/deadline.py:65 +#: compensation/forms/modals/deadline.py:66 #: konova/tests/unit/test_deadline.py:29 msgid "New deadline" msgstr "Neue Frist" -#: compensation/forms/modals/deadline.py:66 +#: compensation/forms/modals/deadline.py:67 #: konova/tests/unit/test_deadline.py:30 msgid "Insert data for the new deadline" msgstr "Geben Sie die Daten der neuen Frist ein" -#: compensation/forms/modals/deadline.py:78 +#: compensation/forms/modals/deadline.py:79 #: konova/tests/unit/test_deadline.py:57 msgid "Please explain this 'other' type of deadline." msgstr "Bitte erklären Sie um welchen 'sonstigen' Termin es sich handelt." -#: compensation/forms/modals/deadline.py:95 +#: compensation/forms/modals/deadline.py:97 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:64 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:62 #: ema/templates/ema/detail/includes/deadlines.html:62 msgid "Edit deadline" msgstr "Frist/Termin bearbeiten" -#: compensation/forms/modals/payment.py:25 +#: compensation/forms/modals/payment.py:27 msgid "in Euro" msgstr "in Euro" -#: compensation/forms/modals/payment.py:34 +#: compensation/forms/modals/payment.py:36 #: intervention/templates/intervention/detail/includes/payments.html:31 msgid "Due on" msgstr "Fällig am" -#: compensation/forms/modals/payment.py:38 +#: compensation/forms/modals/payment.py:40 msgid "Due on which date" msgstr "Zahlung wird an diesem Datum erwartet" -#: compensation/forms/modals/payment.py:66 +#: compensation/forms/modals/payment.py:68 msgid "Add a payment for intervention '{}'" msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen" -#: compensation/forms/modals/payment.py:89 +#: compensation/forms/modals/payment.py:91 msgid "If there is no date you can enter, please explain why." msgstr "Falls Sie kein Datum angeben können, erklären Sie bitte weshalb." -#: compensation/forms/modals/payment.py:108 +#: compensation/forms/modals/payment.py:111 #: intervention/templates/intervention/detail/includes/payments.html:67 msgid "Edit payment" msgstr "Zahlung bearbeiten" -#: compensation/forms/modals/state.py:33 +#: compensation/forms/modals/state.py:29 msgid "Biotope Type" msgstr "Biotoptyp" -#: compensation/forms/modals/state.py:36 +#: compensation/forms/modals/state.py:32 msgid "Select the biotope type" msgstr "Biotoptyp wählen" -#: compensation/forms/modals/state.py:40 compensation/forms/modals/state.py:52 +#: compensation/forms/modals/state.py:36 compensation/forms/modals/state.py:48 msgid "Biotope additional type" msgstr "Zusatzbezeichnung" -#: compensation/forms/modals/state.py:43 +#: compensation/forms/modals/state.py:39 msgid "Select an additional biotope type" msgstr "Zusatzbezeichnung wählen" -#: compensation/forms/modals/state.py:62 +#: compensation/forms/modals/state.py:58 #: intervention/forms/modals/deduction.py:49 msgid "in m²" msgstr "" -#: compensation/forms/modals/state.py:73 -#: compensation/tests/compensation/unit/test_forms.py:175 +#: compensation/forms/modals/state.py:71 +#: compensation/tests/compensation/unit/test_forms.py:179 msgid "New state" msgstr "Neuer Zustand" -#: compensation/forms/modals/state.py:74 -#: compensation/tests/compensation/unit/test_forms.py:176 +#: compensation/forms/modals/state.py:72 +#: compensation/tests/compensation/unit/test_forms.py:180 msgid "Insert data for the new state" msgstr "Geben Sie die Daten des neuen Zustandes ein" -#: compensation/forms/modals/state.py:91 konova/forms/modals/base_form.py:32 -msgid "Object removed" -msgstr "Objekt entfernt" - -#: compensation/forms/modals/state.py:146 +#: compensation/forms/modals/state.py:99 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:62 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:62 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:62 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:62 -#: compensation/tests/compensation/unit/test_forms.py:236 +#: compensation/tests/compensation/unit/test_forms.py:260 #: ema/templates/ema/detail/includes/states-after.html:60 #: ema/templates/ema/detail/includes/states-before.html:60 msgid "Edit state" @@ -945,7 +941,7 @@ msgstr "Öffentlicher Bericht" #: ema/templates/ema/detail/includes/controls.html:15 #: intervention/templates/intervention/detail/includes/controls.html:15 #: konova/forms/modals/resubmission_form.py:51 -#: konova/tests/unit/test_forms.py:302 konova/tests/unit/test_forms.py:316 +#: konova/tests/unit/test_forms.py:301 konova/tests/unit/test_forms.py:315 #: templates/email/resubmission/resubmission.html:4 msgid "Resubmission" msgstr "Wiedervorlage" @@ -1023,7 +1019,7 @@ msgstr "Erstellt" #: compensation/templates/compensation/detail/eco_account/includes/documents.html:61 #: ema/templates/ema/detail/includes/documents.html:61 #: intervention/templates/intervention/detail/includes/documents.html:70 -#: konova/forms/modals/document_form.py:141 konova/tests/unit/test_forms.py:118 +#: konova/forms/modals/document_form.py:143 konova/tests/unit/test_forms.py:118 msgid "Edit document" msgstr "Dokument bearbeiten" @@ -1236,7 +1232,7 @@ msgid "Recorded on" msgstr "Verzeichnet am" #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:65 -#: intervention/forms/modals/deduction.py:177 +#: intervention/forms/modals/deduction.py:178 #: intervention/templates/intervention/detail/includes/deductions.html:60 msgid "Edit Deduction" msgstr "Abbuchung bearbeiten" @@ -1296,49 +1292,37 @@ msgstr "" msgid "Responsible data" msgstr "Daten zu den verantwortlichen Stellen" -#: compensation/views/compensation/compensation.py:35 +#: compensation/views/compensation/compensation.py:32 msgid "Compensations - Overview" msgstr "Kompensationen - Übersicht" -#: compensation/views/compensation/compensation.py:52 -#, fuzzy -#| msgid "New compensation" +#: compensation/views/compensation/compensation.py:49 msgid "New Compensation" msgstr "Neue Kompensation" -#: compensation/views/compensation/compensation.py:208 -#: konova/utils/message_templates.py:40 -msgid "Compensation {} edited" -msgstr "Kompensation {} bearbeitet" - -#: compensation/views/compensation/compensation.py:231 -#: compensation/views/eco_account/eco_account.py:159 ema/views/ema.py:59 -#: intervention/views/intervention.py:59 intervention/views/intervention.py:179 -#: konova/views/base.py:239 -msgid "Edit {}" -msgstr "Bearbeite {}" - -#: compensation/views/eco_account/eco_account.py:32 +#: compensation/views/eco_account/eco_account.py:34 msgid "Eco-account - Overview" msgstr "Ökokonten - Übersicht" -#: compensation/views/eco_account/eco_account.py:70 +#: compensation/views/eco_account/eco_account.py:95 msgid "Eco-Account {} added" msgstr "Ökokonto {} hinzugefügt" -#: compensation/views/eco_account/eco_account.py:136 +#: compensation/views/eco_account/eco_account.py:161 msgid "Eco-Account {} edited" msgstr "Ökokonto {} bearbeitet" -#: compensation/views/eco_account/eco_account.py:260 -msgid "Eco-account removed" -msgstr "Ökokonto entfernt" +#: compensation/views/eco_account/eco_account.py:184 ema/views/ema.py:51 +#: intervention/views/intervention.py:58 intervention/views/intervention.py:178 +#: konova/views/base.py:524 +msgid "Edit {}" +msgstr "Bearbeite {}" -#: ema/forms.py:42 ema/tests/unit/test_forms.py:27 ema/views/ema.py:42 +#: ema/forms.py:43 ema/tests/unit/test_forms.py:27 ema/views/ema.py:38 msgid "New EMA" msgstr "Neue EMA hinzufügen" -#: ema/forms.py:108 ema/tests/unit/test_forms.py:81 +#: ema/forms.py:109 ema/tests/unit/test_forms.py:81 msgid "Edit EMA" msgstr "Bearbeite EMA" @@ -1362,14 +1346,10 @@ msgstr "" msgid "Payment funded compensation" msgstr "Ersatzzahlungsmaßnahme" -#: ema/views/ema.py:26 +#: ema/views/ema.py:22 msgid "EMAs - Overview" msgstr "EMAs - Übersicht" -#: ema/views/ema.py:138 -msgid "EMA removed" -msgstr "EMA entfernt" - #: intervention/forms/intervention.py:49 msgid "Construction XY; Location ABC" msgstr "Bauvorhaben XY; Flur ABC" @@ -1430,7 +1410,7 @@ msgstr "Datum Bestandskraft bzw. Rechtskraft" #: intervention/forms/intervention.py:216 #: intervention/tests/unit/test_forms.py:36 -#: intervention/views/intervention.py:51 +#: intervention/views/intervention.py:50 msgid "New intervention" msgstr "Neuer Eingriff" @@ -1452,7 +1432,7 @@ msgid "Run check" msgstr "Prüfung vornehmen" #: intervention/forms/modals/check.py:36 konova/forms/modals/record_form.py:30 -#: konova/tests/unit/test_forms.py:155 +#: konova/tests/unit/test_forms.py:154 msgid "The necessary control steps have been performed:" msgstr "Die notwendigen Kontrollschritte wurden durchgeführt:" @@ -1496,26 +1476,26 @@ msgstr "" "Das Ökokonto {} hat für eine Abbuchung von {} m² nicht ausreichend " "Restfläche. Es stehen noch {} m² zur Verfügung." -#: intervention/forms/modals/revocation.py:22 +#: intervention/forms/modals/revocation.py:23 msgid "Date of revocation" msgstr "Datum des Widerspruchs" -#: intervention/forms/modals/revocation.py:34 +#: intervention/forms/modals/revocation.py:35 #: intervention/templates/intervention/detail/includes/revocation.html:35 msgid "Document" msgstr "Dokument" -#: intervention/forms/modals/revocation.py:37 +#: intervention/forms/modals/revocation.py:38 msgid "Must be smaller than 15 Mb" msgstr "Muss kleiner als 15 Mb sein" -#: intervention/forms/modals/revocation.py:62 +#: intervention/forms/modals/revocation.py:63 #: intervention/templates/intervention/detail/includes/revocation.html:18 #: intervention/tests/unit/test_forms.py:234 msgid "Add revocation" msgstr "Widerspruch hinzufügen" -#: intervention/forms/modals/revocation.py:80 +#: intervention/forms/modals/revocation.py:82 #: intervention/templates/intervention/detail/includes/revocation.html:69 msgid "Edit revocation" msgstr "Widerspruch bearbeiten" @@ -1600,7 +1580,7 @@ msgid "Amount" msgstr "Betrag" #: intervention/templates/intervention/detail/includes/payments.html:61 -#: konova/utils/message_templates.py:25 +#: konova/utils/message_templates.py:38 msgid "This data is not shared with you" msgstr "Diese Daten sind für Sie nicht freigegeben" @@ -1662,22 +1642,18 @@ msgstr "" "Kein Ausgleich jeglicher Art gefunden (Kompensation, Ersatzzahlung, " "Abbuchung)" -#: intervention/views/check.py:36 +#: intervention/views/check.py:19 msgid "Check performed" msgstr "Prüfung durchgeführt" -#: intervention/views/intervention.py:33 +#: intervention/views/intervention.py:32 msgid "Interventions - Overview" msgstr "Eingriffe - Übersicht" -#: intervention/views/intervention.py:154 +#: intervention/views/intervention.py:153 msgid "Intervention {} edited" msgstr "Eingriff {} bearbeitet" -#: intervention/views/intervention.py:204 -msgid "{} removed" -msgstr "{} entfernt" - #: konova/decorators.py:32 msgid "You need to be staff to perform this action!" msgstr "Hierfür müssen Sie Mitarbeiter sein!" @@ -1794,11 +1770,11 @@ msgid "" "history" msgstr "Sucht nach Einträgen, an denen diese Person gearbeitet hat" -#: konova/forms/base_form.py:23 templates/form/collapsable/form.html:62 +#: konova/forms/base_form.py:19 templates/form/collapsable/form.html:62 msgid "Save" msgstr "Speichern" -#: konova/forms/base_form.py:74 +#: konova/forms/base_form.py:69 msgid "Not editable" msgstr "Nicht editierbar" @@ -1812,6 +1788,10 @@ msgid "Only surfaces allowed. Points or lines must be buffered." msgstr "" "Nur Flächen erlaubt. Punkte oder Linien müssen zu Flächen gepuffert werden." +#: konova/forms/modals/base_form.py:32 +msgid "Object removed" +msgstr "Objekt entfernt" + #: konova/forms/modals/document_form.py:37 msgid "When has this file been created? Important for photos." msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?" @@ -1832,35 +1812,35 @@ msgstr "Dokument hinzugefügt" msgid "Confirm record" msgstr "Verzeichnen bestätigen" -#: konova/forms/modals/record_form.py:29 konova/tests/unit/test_forms.py:153 +#: konova/forms/modals/record_form.py:29 konova/tests/unit/test_forms.py:152 msgid "Record data" msgstr "Daten verzeichnen" -#: konova/forms/modals/record_form.py:36 konova/tests/unit/test_forms.py:168 +#: konova/forms/modals/record_form.py:36 konova/tests/unit/test_forms.py:167 msgid "Confirm unrecord" msgstr "Entzeichnen bestätigen" -#: konova/forms/modals/record_form.py:37 konova/tests/unit/test_forms.py:167 +#: konova/forms/modals/record_form.py:37 konova/tests/unit/test_forms.py:166 msgid "Unrecord data" msgstr "Daten entzeichnen" -#: konova/forms/modals/record_form.py:38 konova/tests/unit/test_forms.py:170 +#: konova/forms/modals/record_form.py:38 konova/tests/unit/test_forms.py:169 msgid "I, {} {}, confirm that this data must be unrecorded." msgstr "" "Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen." -#: konova/forms/modals/remove_form.py:22 konova/forms/remove_form.py:24 +#: konova/forms/modals/remove_form.py:23 konova/forms/remove_form.py:24 #: user/forms/modals/api_token.py:16 msgid "Confirm" msgstr "Bestätige" -#: konova/forms/modals/remove_form.py:32 konova/forms/remove_form.py:36 -#: konova/tests/unit/test_forms.py:209 konova/tests/unit/test_forms.py:261 +#: konova/forms/modals/remove_form.py:33 konova/forms/remove_form.py:36 +#: konova/tests/unit/test_forms.py:208 konova/tests/unit/test_forms.py:260 msgid "Remove" msgstr "Löschen" -#: konova/forms/modals/remove_form.py:33 konova/tests/unit/test_forms.py:210 -#: konova/tests/unit/test_forms.py:262 +#: konova/forms/modals/remove_form.py:34 konova/tests/unit/test_forms.py:209 +#: konova/tests/unit/test_forms.py:261 msgid "Are you sure?" msgstr "Sind Sie sicher?" @@ -1869,7 +1849,7 @@ msgid "When do you want to be reminded?" msgstr "Wann wollen Sie erinnert werden?" #: konova/forms/modals/resubmission_form.py:52 -#: konova/tests/unit/test_forms.py:303 konova/tests/unit/test_forms.py:317 +#: konova/tests/unit/test_forms.py:302 konova/tests/unit/test_forms.py:316 msgid "Set your resubmission for this entry." msgstr "Setzen Sie eine Wiedervorlage für diesen Eintrag." @@ -2094,14 +2074,42 @@ msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!" msgid "Status of Checked reset" msgstr "Status 'Geprüft' wurde zurückgesetzt" -#: konova/utils/message_templates.py:22 +#: konova/utils/message_templates.py:24 +msgid "New team added" +msgstr "Neues Team hinzugefügt" + +#: konova/utils/message_templates.py:25 +msgid "Team edited" +msgstr "Team bearbeitet" + +#: konova/utils/message_templates.py:26 +msgid "Team removed" +msgstr "Team gelöscht" + +#: konova/utils/message_templates.py:27 +msgid "Left Team" +msgstr "Team verlassen" + +#: konova/utils/message_templates.py:30 +msgid "{} removed" +msgstr "{} entfernt" + +#: konova/utils/message_templates.py:33 msgid "" "Entry is recorded. To edit data, the entry first needs to be unrecorded." msgstr "" "Eintrag ist verzeichnet. Um Daten zu bearbeiten, muss der Eintrag erst " "entzeichnet werden." -#: konova/utils/message_templates.py:26 +#: konova/utils/message_templates.py:34 +msgid "{} recorded" +msgstr "{} verzeichnet" + +#: konova/utils/message_templates.py:35 +msgid "{} unrecorded" +msgstr "{} entzeichnet" + +#: konova/utils/message_templates.py:39 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 " @@ -2111,11 +2119,11 @@ msgstr "" "bedeutet, dass Sie nur lesenden Zugriff hierauf haben und weder bearbeiten, " "noch Prüfungen durchführen oder verzeichnen können." -#: konova/utils/message_templates.py:27 +#: konova/utils/message_templates.py:40 msgid "Share settings updated" msgstr "Freigabe Einstellungen aktualisiert" -#: konova/utils/message_templates.py:28 +#: konova/utils/message_templates.py:41 msgid "" "Do not forget to share your entry! Currently you are the only one having " "shared access." @@ -2123,15 +2131,15 @@ msgstr "" "Denken Sie daran Ihren Eintrag freizugeben! Aktuell haben nur Sie eine " "Freigabe hierauf." -#: konova/utils/message_templates.py:31 +#: konova/utils/message_templates.py:44 msgid "Unsupported file type" msgstr "Dateiformat nicht unterstützt" -#: konova/utils/message_templates.py:32 +#: konova/utils/message_templates.py:45 msgid "File too large" msgstr "Datei zu groß" -#: konova/utils/message_templates.py:35 +#: konova/utils/message_templates.py:48 msgid "" "Action canceled. Eco account is recorded or deductions exist. Only " "conservation office member can perform this action." @@ -2139,119 +2147,123 @@ msgstr "" "Aktion abgebrochen. Ökokonto ist bereits verzeichnet oder Abbuchungen liegen " "vor. Nur Eintragungsstellennutzer können diese Aktion jetzt durchführen." -#: konova/utils/message_templates.py:38 +#: konova/utils/message_templates.py:51 msgid "Compensation {} added" msgstr "Kompensation {} hinzugefügt" -#: konova/utils/message_templates.py:39 +#: konova/utils/message_templates.py:52 msgid "Compensation {} removed" msgstr "Kompensation {} entfernt" -#: konova/utils/message_templates.py:41 +#: konova/utils/message_templates.py:53 +msgid "Compensation {} edited" +msgstr "Kompensation {} bearbeitet" + +#: konova/utils/message_templates.py:54 msgid "Added compensation action" msgstr "Maßnahme hinzugefügt" -#: konova/utils/message_templates.py:42 +#: konova/utils/message_templates.py:55 msgid "Added compensation state" msgstr "Zustand hinzugefügt" -#: konova/utils/message_templates.py:45 +#: konova/utils/message_templates.py:58 msgid "State removed" msgstr "Zustand gelöscht" -#: konova/utils/message_templates.py:46 +#: konova/utils/message_templates.py:59 msgid "State edited" msgstr "Zustand bearbeitet" -#: konova/utils/message_templates.py:47 +#: konova/utils/message_templates.py:60 msgid "State added" msgstr "Zustand hinzugefügt" -#: konova/utils/message_templates.py:50 +#: konova/utils/message_templates.py:63 msgid "Action added" msgstr "Maßnahme hinzugefügt" -#: konova/utils/message_templates.py:51 +#: konova/utils/message_templates.py:64 msgid "Action edited" msgstr "Maßnahme bearbeitet" -#: konova/utils/message_templates.py:52 +#: konova/utils/message_templates.py:65 msgid "Action removed" msgstr "Maßnahme entfernt" -#: konova/utils/message_templates.py:55 +#: konova/utils/message_templates.py:68 msgid "Deduction added" msgstr "Abbuchung hinzugefügt" -#: konova/utils/message_templates.py:56 +#: konova/utils/message_templates.py:69 msgid "Deduction edited" msgstr "Abbuchung bearbeitet" -#: konova/utils/message_templates.py:57 +#: konova/utils/message_templates.py:70 msgid "Deduction removed" msgstr "Abbuchung entfernt" -#: konova/utils/message_templates.py:58 +#: konova/utils/message_templates.py:71 msgid "Unknown deduction" msgstr "Unbekannte Abbuchung" -#: konova/utils/message_templates.py:61 +#: konova/utils/message_templates.py:74 msgid "Deadline added" msgstr "Frist/Termin hinzugefügt" -#: konova/utils/message_templates.py:62 +#: konova/utils/message_templates.py:75 msgid "Deadline edited" msgstr "Frist/Termin bearbeitet" -#: konova/utils/message_templates.py:63 +#: konova/utils/message_templates.py:76 msgid "Deadline removed" msgstr "Frist/Termin gelöscht" -#: konova/utils/message_templates.py:66 +#: konova/utils/message_templates.py:79 msgid "Payment added" msgstr "Zahlung hinzugefügt" -#: konova/utils/message_templates.py:67 +#: konova/utils/message_templates.py:80 msgid "Payment edited" msgstr "Zahlung bearbeitet" -#: konova/utils/message_templates.py:68 +#: konova/utils/message_templates.py:81 msgid "Payment removed" msgstr "Zahlung gelöscht" -#: konova/utils/message_templates.py:71 +#: konova/utils/message_templates.py:84 msgid "Revocation added" msgstr "Widerspruch hinzugefügt" -#: konova/utils/message_templates.py:72 +#: konova/utils/message_templates.py:85 msgid "Revocation edited" msgstr "Widerspruch bearbeitet" -#: konova/utils/message_templates.py:73 +#: konova/utils/message_templates.py:86 msgid "Revocation removed" msgstr "Widerspruch entfernt" -#: konova/utils/message_templates.py:76 +#: konova/utils/message_templates.py:89 msgid "Document '{}' deleted" msgstr "Dokument '{}' gelöscht" -#: konova/utils/message_templates.py:77 +#: konova/utils/message_templates.py:90 msgid "Document added" msgstr "Dokument hinzugefügt" -#: konova/utils/message_templates.py:78 +#: konova/utils/message_templates.py:91 msgid "Document edited" msgstr "Dokument bearbeitet" -#: konova/utils/message_templates.py:81 +#: konova/utils/message_templates.py:94 msgid "Edited general data" msgstr "Allgemeine Daten bearbeitet" -#: konova/utils/message_templates.py:84 +#: konova/utils/message_templates.py:97 msgid "Geometry conflict detected with {}" msgstr "Geometriekonflikt mit folgenden Einträgen erkannt: {}" -#: konova/utils/message_templates.py:85 +#: konova/utils/message_templates.py:98 msgid "" "The geometry contained more than {} vertices. It had to be simplified to " "match the allowed limit of {} vertices." @@ -2259,7 +2271,7 @@ msgstr "" "Die Geometrie enthielt mehr als {} Eckpunkte. Sie musste vereinfacht werden " "um die Obergrenze von {} erlaubten Eckpunkten einzuhalten." -#: konova/utils/message_templates.py:86 +#: konova/utils/message_templates.py:99 msgid "" "The geometry contained {} parts which have been detected as invalid (e.g. " "too small to be valid). These parts have been removed. Please check the " @@ -2269,27 +2281,31 @@ msgstr "" "Kleinstflächen).Diese Bestandteile wurden automatisch entfernt. Bitte " "überprüfen Sie die angepasste Geometrie." -#: konova/utils/message_templates.py:89 +#: konova/utils/message_templates.py:102 msgid "This intervention has {} revocations" msgstr "Dem Eingriff liegen {} Widersprüche vor" -#: konova/utils/message_templates.py:92 +#: konova/utils/message_templates.py:105 msgid "Checked on {} by {}" msgstr "Am {} von {} geprüft worden" -#: konova/utils/message_templates.py:93 +#: konova/utils/message_templates.py:106 msgid "Data has changed since last check on {} by {}" msgstr "" "Daten wurden nach der letzten Prüfung geändert. Letzte Prüfung am {} durch {}" -#: konova/utils/message_templates.py:94 +#: konova/utils/message_templates.py:107 msgid "Current data not checked yet" msgstr "Momentane Daten noch nicht geprüft" -#: konova/utils/message_templates.py:97 +#: konova/utils/message_templates.py:110 msgid "New token generated. Administrators need to validate." msgstr "Neuer Token generiert. Administratoren sind informiert." +#: konova/utils/message_templates.py:113 +msgid "Resubmission set" +msgstr "Wiedervorlage gesetzt" + #: konova/utils/quality.py:32 msgid "missing" msgstr "fehlend" @@ -2308,11 +2324,11 @@ msgstr "" "Dieses Datum ist unrealistisch. Geben Sie bitte das korrekte Datum ein " "(>1950)." -#: konova/views/base.py:209 +#: konova/views/base.py:483 msgid "{} added" msgstr "{} hinzugefügt" -#: konova/views/base.py:281 +#: konova/views/base.py:600 msgid "{} edited" msgstr "{} bearbeitet" @@ -2324,26 +2340,10 @@ msgstr "Home" msgid "Log" msgstr "Log" -#: konova/views/record.py:30 -msgid "{} unrecorded" -msgstr "{} entzeichnet" - -#: konova/views/record.py:30 -msgid "{} recorded" -msgstr "{} verzeichnet" - -#: konova/views/record.py:35 -msgid "Errors found:" -msgstr "Fehler gefunden:" - #: konova/views/report.py:21 msgid "Report {}" msgstr "Bericht {}" -#: konova/views/resubmission.py:39 -msgid "Resubmission set" -msgstr "Wiedervorlage gesetzt" - #: konova/views/share.py:46 msgid "{} has already been shared with you" msgstr "{} wurde bereits für Sie freigegeben" @@ -2884,11 +2884,11 @@ msgstr "" "Falls die Geometrie nicht leer ist, werden die Flurstücke aktuell berechnet. " "Bitte laden Sie diese Seite in ein paar Augenblicken erneut..." -#: user/forms/modals/api_token.py:25 +#: user/forms/modals/api_token.py:26 msgid "Generate API Token" msgstr "API Token generieren" -#: user/forms/modals/api_token.py:29 +#: user/forms/modals/api_token.py:30 msgid "" "You are about to create a new API token. The existing one will not be usable " "afterwards." @@ -2896,7 +2896,7 @@ msgstr "" "Wenn Sie fortfahren, generieren Sie einen neuen API Token. Ihren " "existierenden werden Sie dann nicht länger nutzen können." -#: user/forms/modals/api_token.py:31 +#: user/forms/modals/api_token.py:32 msgid "A new token needs to be validated by an administrator!" msgstr "Neue Tokens müssen durch Administratoren freigeschaltet werden!" @@ -3066,7 +3066,7 @@ msgid "Manage teams" msgstr "" #: user/templates/user/index.html:53 user/templates/user/team/index.html:19 -#: user/views/views.py:134 +#: user/views/teams.py:36 msgid "Teams" msgstr "" @@ -3122,41 +3122,33 @@ msgstr "Token noch nicht freigeschaltet" msgid "Valid until" msgstr "Läuft ab am" -#: user/views/api_token.py:34 +#: user/views/api_token.py:36 msgid "User API token" msgstr "API Nutzer Token" -#: user/views/views.py:31 +#: user/views/users.py:26 msgid "User settings" msgstr "Einstellungen" -#: user/views/views.py:44 +#: user/views/users.py:39 msgid "User notifications" msgstr "Benachrichtigungen" -#: user/views/views.py:64 +#: user/views/users.py:59 msgid "Notifications edited" msgstr "Benachrichtigungen bearbeitet" -#: user/views/views.py:152 -msgid "New team added" -msgstr "Neues Team hinzugefügt" +#~ msgid "Eco-account removed" +#~ msgstr "Ökokonto entfernt" -#: user/views/views.py:167 -msgid "Team edited" -msgstr "Team bearbeitet" +#~ msgid "EMA removed" +#~ msgstr "EMA entfernt" -#: user/views/views.py:182 -msgid "Team removed" -msgstr "Team gelöscht" +#~ msgid "Errors found:" +#~ msgstr "Fehler gefunden:" -#: user/views/views.py:197 -msgid "You are not a member of this team" -msgstr "Sie sind kein Mitglied dieses Teams" - -#: user/views/views.py:204 -msgid "Left Team" -msgstr "Team verlassen" +#~ msgid "You are not a member of this team" +#~ msgstr "Sie sind kein Mitglied dieses Teams" #~ msgid "EMA {} added" #~ msgstr "EMA {} hinzugefügt"