diff --git a/compensation/forms/forms.py b/compensation/forms/forms.py index 7ac7f601..72b1a714 100644 --- a/compensation/forms/forms.py +++ b/compensation/forms/forms.py @@ -18,7 +18,7 @@ from compensation.models import Compensation, EcoAccount from intervention.inputs import GenerateInput from intervention.models import Intervention, Responsibility, Legal from konova.forms import BaseForm, SimpleGeomForm -from konova.utils.message_templates import EDITED_GENERAL_DATA +from konova.utils.message_templates import EDITED_GENERAL_DATA, COMPENSATION_ADDED_TEMPLATE from user.models import UserActionLogEntry @@ -200,35 +200,49 @@ class NewCompensationForm(AbstractCompensationForm, CEFCompensationFormMixin, Co self.initialize_form_field("identifier", identifier) self.fields["identifier"].widget.attrs["url"] = reverse_lazy("compensation:new-id") + def __create_comp(self, user, geom_form) -> Compensation: + """ Creates the compensation from form data + + Args: + user (User): The performing user + geom_form (SimpleGeomForm): The geometry form + + Returns: + comp (Compensation): The compensation object + """ + # Fetch data from cleaned POST values + identifier = self.cleaned_data.get("identifier", None) + title = self.cleaned_data.get("title", None) + intervention = self.cleaned_data.get("intervention", None) + is_cef = self.cleaned_data.get("is_cef", None) + is_coherence_keeping = self.cleaned_data.get("is_coherence_keeping", None) + comment = self.cleaned_data.get("comment", None) + + # Create log entry + action = UserActionLogEntry.get_created_action(user) + # Process the geometry form + geometry = geom_form.save(action) + + # Finally create main object + comp = Compensation.objects.create( + identifier=identifier, + title=title, + intervention=intervention, + created=action, + is_cef=is_cef, + is_coherence_keeping=is_coherence_keeping, + geometry=geometry, + comment=comment, + ) + + # Add the log entry to the main objects log list + comp.log.add(action) + return comp + def save(self, user: User, geom_form: SimpleGeomForm): with transaction.atomic(): - # Fetch data from cleaned POST values - identifier = self.cleaned_data.get("identifier", None) - title = self.cleaned_data.get("title", None) - intervention = self.cleaned_data.get("intervention", None) - is_cef = self.cleaned_data.get("is_cef", None) - is_coherence_keeping = self.cleaned_data.get("is_coherence_keeping", None) - comment = self.cleaned_data.get("comment", None) - - # Create log entry - action = UserActionLogEntry.get_created_action(user) - # Process the geometry form - geometry = geom_form.save(action) - - # Finally create main object - comp = Compensation.objects.create( - identifier=identifier, - title=title, - intervention=intervention, - created=action, - is_cef=is_cef, - is_coherence_keeping=is_coherence_keeping, - geometry=geometry, - comment=comment, - ) - - # Add the log entry to the main objects log list - comp.log.add(action) + comp = self.__create_comp(user, geom_form) + comp.intervention.mark_as_edited(user, edit_comment=COMPENSATION_ADDED_TEMPLATE.format(comp.identifier)) return comp diff --git a/compensation/models/compensation.py b/compensation/models/compensation.py index 788f4b4c..082131c3 100644 --- a/compensation/models/compensation.py +++ b/compensation/models/compensation.py @@ -20,7 +20,7 @@ from compensation.utils.quality import CompensationQualityChecker from konova.models import BaseObject, AbstractDocument, Deadline, generate_document_file_upload_path, \ GeoReferencedMixin from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE -from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION +from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION, COMPENSATION_REMOVED_TEMPLATE from user.models import UserActionLogEntry @@ -235,6 +235,11 @@ class Compensation(AbstractCompensation, CEFMixin, CoherenceMixin): self.identifier = self.generate_new_identifier() super().save(*args, **kwargs) + def mark_as_deleted(self, user, send_mail: bool = True): + super().mark_as_deleted(user, send_mail) + if user is not None: + self.intervention.mark_as_edited(user, edit_comment=COMPENSATION_REMOVED_TEMPLATE.format(self.identifier)) + def is_shared_with(self, user: User): """ Access check diff --git a/compensation/views/compensation.py b/compensation/views/compensation.py index 43bdf8ce..aa2151fe 100644 --- a/compensation/views/compensation.py +++ b/compensation/views/compensation.py @@ -18,7 +18,7 @@ from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER from konova.utils.documents import get_document, remove_document from konova.utils.generators import generate_qr_code from konova.utils.message_templates import FORM_INVALID, IDENTIFIER_REPLACED, DATA_UNSHARED_EXPLANATION, \ - CHECKED_RECORDED_RESET + CHECKED_RECORDED_RESET, COMPENSATION_ADDED_TEMPLATE, COMPENSATION_REMOVED_TEMPLATE from konova.utils.user_checks import in_group @@ -79,7 +79,7 @@ def new_view(request: HttpRequest, intervention_id: str = None): comp.identifier ) ) - messages.success(request, _("Compensation {} added").format(comp.identifier)) + messages.success(request, COMPENSATION_ADDED_TEMPLATE.format(comp.identifier)) return redirect("compensation:detail", id=comp.id) else: messages.error(request, FORM_INVALID, extra_tags="danger",) @@ -256,7 +256,7 @@ def remove_view(request: HttpRequest, id: str): form = RemoveModalForm(request.POST or None, instance=comp, request=request) return form.process_request( request=request, - msg_success=_("Compensation removed"), + msg_success=COMPENSATION_REMOVED_TEMPLATE.format(comp.identifier), redirect_url=reverse("compensation:index"), ) diff --git a/intervention/templates/intervention/detail/includes/compensations.html b/intervention/templates/intervention/detail/includes/compensations.html index 442d5d83..b7a546dd 100644 --- a/intervention/templates/intervention/detail/includes/compensations.html +++ b/intervention/templates/intervention/detail/includes/compensations.html @@ -52,7 +52,7 @@ {{ comp.title }} {% if is_default_member and has_access %} - {% endif %} diff --git a/intervention/urls.py b/intervention/urls.py index 4754eb53..1c663124 100644 --- a/intervention/urls.py +++ b/intervention/urls.py @@ -10,7 +10,7 @@ from django.urls import path from intervention.views import index_view, new_view, detail_view, edit_view, remove_view, new_document_view, share_view, \ create_share_view, remove_revocation_view, new_revocation_view, check_view, log_view, new_deduction_view, \ record_view, remove_document_view, get_document_view, get_revocation_view, new_id_view, report_view, \ - remove_deduction_view + remove_deduction_view, remove_compensation_view app_name = "intervention" urlpatterns = [ @@ -27,6 +27,9 @@ urlpatterns = [ path('/record', record_view, name='record'), path('/report', report_view, name='report'), + # Compensations + path('/remove/', remove_compensation_view, name='remove-compensation'), + # Documents path('/document/new/', new_document_view, name='new-doc'), path('document/', get_document_view, name='get-doc'), diff --git a/intervention/views.py b/intervention/views.py index 75131f67..98654411 100644 --- a/intervention/views.py +++ b/intervention/views.py @@ -16,7 +16,8 @@ from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER from konova.utils.documents import remove_document, get_document from konova.utils.generators import generate_qr_code from konova.utils.message_templates import INTERVENTION_INVALID, FORM_INVALID, IDENTIFIER_REPLACED, \ - CHECKED_RECORDED_RESET, DEDUCTION_REMOVED, DEDUCTION_ADDED, REVOCATION_ADDED, REVOCATION_REMOVED + CHECKED_RECORDED_RESET, DEDUCTION_REMOVED, DEDUCTION_ADDED, REVOCATION_ADDED, REVOCATION_REMOVED, \ + COMPENSATION_REMOVED_TEMPLATE from konova.utils.user_checks import in_group @@ -564,6 +565,31 @@ def record_view(request: HttpRequest, id: str): ) +def remove_compensation_view(request:HttpRequest, id: str, comp_id: str): + """ Renders a modal view for removing the compensation + + Args: + request (HttpRequest): The incoming request + id (str): The compensation's id + + Returns: + + """ + 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 report_view(request:HttpRequest, id: str): """ Renders the public report view diff --git a/konova/admin.py b/konova/admin.py index a64d5243..5970b020 100644 --- a/konova/admin.py +++ b/konova/admin.py @@ -8,6 +8,8 @@ Created on: 22.07.21 from django.contrib import admin from konova.models import Geometry, Deadline, GeometryConflict, Parcel, District +from konova.utils.message_templates import COMPENSATION_REMOVED_TEMPLATE +from user.models import UserAction class GeometryAdmin(admin.ModelAdmin): @@ -78,6 +80,9 @@ class BaseObjectAdmin(BaseResourceAdmin): "identifier", "title", ] + actions = [ + "restore_deleted_data" + ] def get_fields(self, request, obj=None): return super().get_fields(request, obj) + ["deleted"] @@ -87,6 +92,21 @@ class BaseObjectAdmin(BaseResourceAdmin): "deleted", ] + def restore_deleted_data(self, request, queryset): + queryset = queryset.filter( + deleted__isnull=False + ) + for entry in queryset: + entry.deleted.delete() + + # Remove delete log entry from related intervention log history + logs = entry.intervention.log.filter( + action=UserAction.EDITED, + comment=COMPENSATION_REMOVED_TEMPLATE.format(entry.identifier) + ) + logs.delete() + + # Outcommented for a cleaner admin backend on production #admin.site.register(Geometry, GeometryAdmin) diff --git a/konova/utils/message_templates.py b/konova/utils/message_templates.py index 04a756e7..43cdcfbd 100644 --- a/konova/utils/message_templates.py +++ b/konova/utils/message_templates.py @@ -21,6 +21,10 @@ CHECKED_RECORDED_RESET = _("Status of Checked and Recorded reseted") # ECO ACCOUNT CANCEL_ACC_RECORDED_OR_DEDUCTED = _("Action canceled. Eco account is recorded or deductions exist. Only conservation office member can perform this action.") +# COMPENSATION +COMPENSATION_ADDED_TEMPLATE = _("Compensation {} added") +COMPENSATION_REMOVED_TEMPLATE = _("Compensation {} removed") + # DEDUCTIONS DEDUCTION_ADDED = _("Deduction added") DEDUCTION_REMOVED = _("Deduction removed") diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index b708497f..23892cf8 100644 Binary files a/locale/de/LC_MESSAGES/django.mo and b/locale/de/LC_MESSAGES/django.mo differ diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 8fe01435..65808d43 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -6,9 +6,9 @@ #: compensation/filters.py:122 compensation/forms/modalForms.py:35 #: compensation/forms/modalForms.py:46 compensation/forms/modalForms.py:62 #: compensation/forms/modalForms.py:256 compensation/forms/modalForms.py:350 -#: intervention/forms/forms.py:52 intervention/forms/forms.py:154 -#: intervention/forms/forms.py:166 intervention/forms/modalForms.py:123 -#: intervention/forms/modalForms.py:136 intervention/forms/modalForms.py:149 +#: intervention/forms/forms.py:54 intervention/forms/forms.py:156 +#: intervention/forms/forms.py:168 intervention/forms/modalForms.py:124 +#: intervention/forms/modalForms.py:137 intervention/forms/modalForms.py:150 #: konova/filters/mixins.py:53 konova/filters/mixins.py:54 #: konova/filters/mixins.py:81 konova/filters/mixins.py:82 #: konova/filters/mixins.py:94 konova/filters/mixins.py:95 @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-02 14:35+0100\n" +"POT-Creation-Date: 2022-02-03 13:37+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,7 +49,7 @@ msgstr "Bis" #: compensation/templates/compensation/report/eco_account/report.html:16 #: compensation/utils/quality.py:100 ema/templates/ema/detail/view.html:49 #: ema/templates/ema/report/report.html:16 ema/utils/quality.py:26 -#: intervention/forms/forms.py:100 +#: intervention/forms/forms.py:102 #: intervention/templates/intervention/detail/view.html:56 #: intervention/templates/intervention/report/report.html:37 #: intervention/utils/quality.py:49 konova/filters/mixins.py:395 @@ -61,9 +61,9 @@ msgid "Select the responsible office" msgstr "Verantwortliche Stelle" #: analysis/forms.py:58 compensation/forms/forms.py:88 -#: compensation/forms/forms.py:165 intervention/forms/forms.py:62 -#: intervention/forms/forms.py:79 intervention/forms/forms.py:95 -#: intervention/forms/forms.py:111 intervention/forms/modalForms.py:45 +#: compensation/forms/forms.py:165 intervention/forms/forms.py:64 +#: intervention/forms/forms.py:81 intervention/forms/forms.py:97 +#: intervention/forms/forms.py:113 intervention/forms/modalForms.py:46 msgid "Click for selection" msgstr "Auswählen..." @@ -220,7 +220,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:293 +#: intervention/forms/modalForms.py:294 msgid "Surface" msgstr "Fläche" @@ -270,7 +270,7 @@ msgstr "" " " #: analysis/templates/analysis/reports/includes/intervention/laws.html:14 -#: intervention/forms/forms.py:67 +#: intervention/forms/forms.py:69 #: intervention/templates/intervention/detail/view.html:39 #: intervention/templates/intervention/report/report.html:20 msgid "Law" @@ -284,7 +284,7 @@ msgid "Type" msgstr "Typ" #: analysis/templates/analysis/reports/includes/old_data/amount.html:24 -#: intervention/forms/modalForms.py:304 intervention/forms/modalForms.py:311 +#: intervention/forms/modalForms.py:305 intervention/forms/modalForms.py:312 #: intervention/tables.py:89 #: intervention/templates/intervention/detail/view.html:19 #: konova/templates/konova/includes/quickstart/interventions.html:4 @@ -295,7 +295,7 @@ msgstr "Eingriff" #: analysis/templates/analysis/reports/includes/old_data/amount.html:34 #: compensation/tables.py:226 #: compensation/templates/compensation/detail/eco_account/view.html:19 -#: intervention/forms/modalForms.py:277 intervention/forms/modalForms.py:284 +#: intervention/forms/modalForms.py:278 intervention/forms/modalForms.py:285 #: konova/templates/konova/includes/quickstart/ecoaccounts.html:4 #: templates/navbars/navbar.html:34 msgid "Eco-account" @@ -314,13 +314,13 @@ msgid "Show only unrecorded" msgstr "Nur unverzeichnete anzeigen" #: compensation/forms/forms.py:32 compensation/tables.py:25 -#: compensation/tables.py:167 ema/tables.py:28 intervention/forms/forms.py:26 +#: compensation/tables.py:167 ema/tables.py:28 intervention/forms/forms.py:28 #: intervention/tables.py:23 #: intervention/templates/intervention/detail/includes/compensations.html:30 msgid "Identifier" msgstr "Kennung" -#: compensation/forms/forms.py:35 intervention/forms/forms.py:29 +#: compensation/forms/forms.py:35 intervention/forms/forms.py:31 #: user/forms.py:126 msgid "Generated automatically" msgstr "Automatisch generiert" @@ -335,7 +335,7 @@ msgstr "Automatisch generiert" #: compensation/templates/compensation/report/eco_account/report.html:12 #: ema/tables.py:33 ema/templates/ema/detail/includes/documents.html:28 #: ema/templates/ema/detail/view.html:31 -#: ema/templates/ema/report/report.html:12 intervention/forms/forms.py:38 +#: ema/templates/ema/report/report.html:12 intervention/forms/forms.py:40 #: intervention/tables.py:28 #: intervention/templates/intervention/detail/includes/compensations.html:33 #: intervention/templates/intervention/detail/includes/documents.html:28 @@ -345,7 +345,7 @@ msgstr "Automatisch generiert" msgid "Title" msgstr "Bezeichnung" -#: compensation/forms/forms.py:46 intervention/forms/forms.py:40 +#: compensation/forms/forms.py:46 intervention/forms/forms.py:42 msgid "An explanatory name" msgstr "Aussagekräftiger Titel" @@ -364,7 +364,7 @@ msgstr "Kompensation XY; Flur ABC" #: 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:178 intervention/forms/modalForms.py:148 +#: intervention/forms/forms.py:180 intervention/forms/modalForms.py:149 #: intervention/templates/intervention/detail/includes/documents.html:31 #: intervention/templates/intervention/detail/includes/payments.html:34 #: intervention/templates/intervention/detail/includes/revocation.html:38 @@ -373,7 +373,7 @@ msgid "Comment" msgstr "Kommentar" #: compensation/forms/forms.py:59 compensation/forms/modalForms.py:351 -#: intervention/forms/forms.py:180 +#: intervention/forms/forms.py:182 msgid "Additional comment" msgstr "Zusätzlicher Kommentar" @@ -382,14 +382,14 @@ msgstr "Zusätzlicher Kommentar" #: compensation/templates/compensation/report/eco_account/report.html:20 #: compensation/utils/quality.py:102 ema/templates/ema/detail/view.html:53 #: ema/templates/ema/report/report.html:20 ema/utils/quality.py:28 -#: intervention/forms/forms.py:128 +#: intervention/forms/forms.py:130 #: intervention/templates/intervention/detail/view.html:60 #: intervention/templates/intervention/report/report.html:41 #: intervention/utils/quality.py:42 msgid "Conservation office file number" msgstr "Aktenzeichen Eintragungsstelle" -#: compensation/forms/forms.py:99 intervention/forms/forms.py:134 +#: compensation/forms/forms.py:99 intervention/forms/forms.py:136 msgid "ETS-123/ABC.456" msgstr "" @@ -401,7 +401,7 @@ msgstr "Maßnahmenträger" msgid "Who handles the eco-account" msgstr "Wer für die Herrichtung des Ökokontos verantwortlich ist" -#: compensation/forms/forms.py:112 intervention/forms/forms.py:147 +#: compensation/forms/forms.py:112 intervention/forms/forms.py:149 msgid "Company Mustermann" msgstr "Firma Mustermann" @@ -436,37 +436,37 @@ msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist" msgid "New compensation" msgstr "Neue Kompensation" -#: compensation/forms/forms.py:241 +#: compensation/forms/forms.py:255 msgid "Edit compensation" msgstr "Bearbeite Kompensation" -#: compensation/forms/forms.py:302 compensation/utils/quality.py:84 +#: compensation/forms/forms.py:316 compensation/utils/quality.py:84 msgid "Available Surface" msgstr "Verfügbare Fläche" -#: compensation/forms/forms.py:305 +#: compensation/forms/forms.py:319 msgid "The amount that can be used for deductions" msgstr "Die für Abbuchungen zur Verfügung stehende Menge" -#: compensation/forms/forms.py:314 +#: compensation/forms/forms.py:328 #: compensation/templates/compensation/detail/eco_account/view.html:66 #: compensation/utils/quality.py:72 msgid "Agreement date" msgstr "Vereinbarungsdatum" -#: compensation/forms/forms.py:316 +#: compensation/forms/forms.py:330 msgid "When did the parties agree on this?" msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?" -#: compensation/forms/forms.py:340 compensation/views/eco_account.py:102 +#: compensation/forms/forms.py:354 compensation/views/eco_account.py:102 msgid "New Eco-Account" msgstr "Neues Ökokonto" -#: compensation/forms/forms.py:349 +#: compensation/forms/forms.py:363 msgid "Eco-Account XY; Location ABC" msgstr "Ökokonto XY; Flur ABC" -#: compensation/forms/forms.py:403 +#: compensation/forms/forms.py:417 msgid "Edit Eco-Account" msgstr "Ökokonto bearbeiten" @@ -484,7 +484,7 @@ msgid "Due on which date" msgstr "Zahlung wird an diesem Datum erwartet" #: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:257 -#: intervention/forms/modalForms.py:150 konova/forms.py:375 +#: intervention/forms/modalForms.py:151 konova/forms.py:375 msgid "Additional comment, maximum {} letters" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" @@ -512,7 +512,7 @@ msgstr "Zusatzbezeichnung" msgid "Select an additional biotope type" msgstr "Zusatzbezeichnung wählen" -#: compensation/forms/modalForms.py:154 intervention/forms/modalForms.py:295 +#: compensation/forms/modalForms.py:154 intervention/forms/modalForms.py:296 msgid "in m²" msgstr "" @@ -540,7 +540,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:122 +#: intervention/forms/modalForms.py:123 msgid "Date" msgstr "Datum" @@ -642,18 +642,18 @@ msgstr "" msgid "Pieces" msgstr "Stück" -#: compensation/models/compensation.py:63 konova/utils/message_templates.py:27 +#: compensation/models/compensation.py:63 konova/utils/message_templates.py:43 msgid "Added deadline" msgstr "Frist/Termin hinzugefügt" -#: compensation/models/eco_account.py:57 +#: compensation/models/eco_account.py:56 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/eco_account.py:64 +#: compensation/models/eco_account.py:63 msgid "" "Deductable surface can not be smaller than the sum of already existing " "deductions. Please contact the responsible users for the deductions!" @@ -943,14 +943,14 @@ msgstr "Zuletzt bearbeitet" #: compensation/templates/compensation/detail/compensation/view.html:99 #: compensation/templates/compensation/detail/eco_account/view.html:82 -#: ema/templates/ema/detail/view.html:76 intervention/forms/modalForms.py:52 +#: ema/templates/ema/detail/view.html:76 intervention/forms/modalForms.py:53 #: intervention/templates/intervention/detail/view.html:116 msgid "Shared with" msgstr "Freigegeben für" #: compensation/templates/compensation/detail/eco_account/includes/controls.html:15 #: ema/templates/ema/detail/includes/controls.html:15 -#: intervention/forms/modalForms.py:66 +#: intervention/forms/modalForms.py:67 #: intervention/templates/intervention/detail/includes/controls.html:15 msgid "Share" msgstr "Freigabe" @@ -1080,30 +1080,22 @@ msgstr "Daten zu den verantwortlichen Stellen" msgid "Compensations - Overview" msgstr "Kompensationen - Übersicht" -#: compensation/views/compensation.py:82 -msgid "Compensation {} added" -msgstr "Kompensation {} hinzugefügt" - #: compensation/views/compensation.py:147 msgid "Compensation {} edited" msgstr "Kompensation {} bearbeitet" #: compensation/views/compensation.py:157 compensation/views/eco_account.py:160 -#: ema/views.py:227 intervention/views.py:310 +#: ema/views.py:227 intervention/views.py:311 msgid "Edit {}" msgstr "Bearbeite {}" #: compensation/views/compensation.py:236 compensation/views/eco_account.py:316 -#: ema/views.py:188 intervention/views.py:486 +#: ema/views.py:188 intervention/views.py:487 msgid "Log" msgstr "Log" -#: compensation/views/compensation.py:259 -msgid "Compensation removed" -msgstr "Kompensation entfernt" - #: compensation/views/compensation.py:280 compensation/views/eco_account.py:496 -#: ema/views.py:359 intervention/views.py:132 +#: ema/views.py:359 intervention/views.py:133 msgid "Document added" msgstr "Dokument hinzugefügt" @@ -1138,7 +1130,7 @@ msgid "Action removed" msgstr "Maßnahme entfernt" #: compensation/views/compensation.py:482 compensation/views/eco_account.py:586 -#: ema/views.py:472 intervention/views.py:551 +#: ema/views.py:472 intervention/views.py:580 msgid "Report {}" msgstr "Bericht {}" @@ -1158,52 +1150,36 @@ msgstr "Ökokonto {} bearbeitet" msgid "Eco-account removed" msgstr "Ökokonto entfernt" -#: compensation/views/eco_account.py:291 -msgid "Deduction removed" -msgstr "Abbuchung entfernt" - #: compensation/views/eco_account.py:337 ema/views.py:269 -#: intervention/views.py:529 +#: intervention/views.py:558 msgid "{} unrecorded" msgstr "{} entzeichnet" #: compensation/views/eco_account.py:337 ema/views.py:269 -#: intervention/views.py:529 +#: intervention/views.py:558 msgid "{} recorded" msgstr "{} verzeichnet" -#: compensation/views/eco_account.py:567 intervention/views.py:509 -msgid "Deduction added" -msgstr "Abbuchung hinzugefügt" - #: compensation/views/eco_account.py:659 ema/views.py:538 -#: intervention/views.py:383 +#: intervention/views.py:384 msgid "{} has already been shared with you" msgstr "{} wurde bereits für Sie freigegeben" #: compensation/views/eco_account.py:664 ema/views.py:543 -#: intervention/views.py:388 +#: intervention/views.py:389 msgid "{} has been shared with you" msgstr "{} ist nun für Sie freigegeben" #: compensation/views/eco_account.py:671 ema/views.py:550 -#: intervention/views.py:395 +#: intervention/views.py:396 msgid "Share link invalid" msgstr "Freigabelink ungültig" #: compensation/views/eco_account.py:694 ema/views.py:573 -#: intervention/views.py:418 +#: intervention/views.py:419 msgid "Share settings updated" msgstr "Freigabe Einstellungen aktualisiert" -#: compensation/views/payment.py:37 -msgid "Payment added" -msgstr "Zahlung hinzugefügt" - -#: compensation/views/payment.py:58 -msgid "Payment removed" -msgstr "Zahlung gelöscht" - #: ema/forms.py:40 ema/views.py:92 msgid "New EMA" msgstr "Neue EMA hinzufügen" @@ -1248,88 +1224,84 @@ msgstr "EMA {} bearbeitet" msgid "EMA removed" msgstr "EMA entfernt" -#: intervention/forms/forms.py:44 +#: intervention/forms/forms.py:46 msgid "Construction XY; Location ABC" msgstr "Bauvorhaben XY; Flur ABC" -#: intervention/forms/forms.py:50 +#: intervention/forms/forms.py:52 #: intervention/templates/intervention/detail/view.html:35 #: intervention/templates/intervention/report/report.html:16 #: intervention/utils/quality.py:82 msgid "Process type" msgstr "Verfahrenstyp" -#: intervention/forms/forms.py:69 +#: intervention/forms/forms.py:71 msgid "Multiple selection possible" msgstr "Mehrfachauswahl möglich" -#: intervention/forms/forms.py:84 +#: intervention/forms/forms.py:86 #: intervention/templates/intervention/detail/view.html:48 #: intervention/templates/intervention/report/report.html:29 #: intervention/utils/quality.py:46 konova/filters/mixins.py:363 msgid "Registration office" msgstr "Zulassungsbehörde" -#: intervention/forms/forms.py:116 +#: intervention/forms/forms.py:118 #: intervention/templates/intervention/detail/view.html:52 #: intervention/templates/intervention/report/report.html:33 #: intervention/utils/quality.py:39 msgid "Registration office file number" msgstr "Aktenzeichen Zulassungsbehörde" -#: intervention/forms/forms.py:122 +#: intervention/forms/forms.py:124 msgid "ZB-123/ABC.456" msgstr "" -#: intervention/forms/forms.py:140 +#: intervention/forms/forms.py:142 #: intervention/templates/intervention/detail/view.html:64 #: intervention/templates/intervention/report/report.html:45 #: intervention/utils/quality.py:52 msgid "Intervention handler" msgstr "Eingriffsverursacher" -#: intervention/forms/forms.py:144 +#: intervention/forms/forms.py:146 msgid "Who performs the intervention" msgstr "Wer führt den Eingriff durch" -#: intervention/forms/forms.py:153 +#: intervention/forms/forms.py:155 #: intervention/templates/intervention/detail/view.html:96 #: intervention/templates/intervention/report/report.html:83 #: intervention/utils/quality.py:73 msgid "Registration date" msgstr "Datum Zulassung bzw. Satzungsbeschluss" -#: intervention/forms/forms.py:165 +#: intervention/forms/forms.py:167 #: intervention/templates/intervention/detail/view.html:100 #: intervention/templates/intervention/report/report.html:87 msgid "Binding on" msgstr "Datum Bestandskraft" -#: intervention/forms/forms.py:191 intervention/views.py:91 +#: intervention/forms/forms.py:193 intervention/views.py:92 msgid "New intervention" msgstr "Neuer Eingriff" -#: intervention/forms/forms.py:269 +#: intervention/forms/forms.py:271 msgid "Edit intervention" msgstr "Eingriff bearbeiten" -#: intervention/forms/forms.py:338 -msgid "General data edited" -msgstr "Allgemeine Daten bearbeitet" - -#: intervention/forms/modalForms.py:25 +#: intervention/forms/modalForms.py:26 msgid "Share link" msgstr "Freigabelink" -#: intervention/forms/modalForms.py:27 +#: intervention/forms/modalForms.py:28 msgid "Send this link to users who you want to have writing access on the data" msgstr "Andere Nutzer erhalten über diesen Link Zugriff auf die Daten" -#: intervention/forms/modalForms.py:37 +#: intervention/forms/modalForms.py:38 msgid "Add user to share with" msgstr "Nutzer direkt hinzufügen" -#: intervention/forms/modalForms.py:39 +#: intervention/forms/modalForms.py:40 msgid "" "Multiple selection possible - You can only select users which do not already " "have access. Enter the full username." @@ -1337,46 +1309,46 @@ msgstr "" "Mehrfachauswahl möglich - Sie können nur Nutzer wählen, für die der Eintrag " "noch nicht freigegeben wurde. Geben Sie den ganzen Nutzernamen an." -#: intervention/forms/modalForms.py:55 +#: intervention/forms/modalForms.py:56 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:67 +#: intervention/forms/modalForms.py:68 msgid "Share settings for {}" msgstr "Freigabe Einstellungen für {}" -#: intervention/forms/modalForms.py:124 +#: intervention/forms/modalForms.py:125 msgid "Date of revocation" msgstr "Datum des Widerspruchs" -#: intervention/forms/modalForms.py:135 +#: intervention/forms/modalForms.py:136 #: intervention/templates/intervention/detail/includes/revocation.html:35 msgid "Document" msgstr "Dokument" -#: intervention/forms/modalForms.py:138 +#: intervention/forms/modalForms.py:139 msgid "Must be smaller than 15 Mb" msgstr "Muss kleiner als 15 Mb sein" -#: intervention/forms/modalForms.py:162 +#: intervention/forms/modalForms.py:163 #: intervention/templates/intervention/detail/includes/revocation.html:18 msgid "Add revocation" msgstr "Widerspruch hinzufügen" -#: intervention/forms/modalForms.py:179 +#: intervention/forms/modalForms.py:180 msgid "Checked intervention data" msgstr "Eingriffsdaten geprüft" -#: intervention/forms/modalForms.py:185 +#: intervention/forms/modalForms.py:186 msgid "Checked compensations data and payments" msgstr "Kompensationen und Zahlungen geprüft" -#: intervention/forms/modalForms.py:194 +#: intervention/forms/modalForms.py:195 #: intervention/templates/intervention/detail/includes/controls.html:19 msgid "Run check" msgstr "Prüfung vornehmen" -#: intervention/forms/modalForms.py:195 konova/forms.py:457 +#: intervention/forms/modalForms.py:196 konova/forms.py:457 msgid "" "I, {} {}, confirm that all necessary control steps have been performed by " "myself." @@ -1384,23 +1356,23 @@ msgstr "" "Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt " "wurden:" -#: intervention/forms/modalForms.py:279 +#: intervention/forms/modalForms.py:280 msgid "Only recorded accounts can be selected for deductions" msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden." -#: intervention/forms/modalForms.py:306 +#: intervention/forms/modalForms.py:307 msgid "Only shared interventions can be selected" msgstr "Nur freigegebene Eingriffe können gewählt werden" -#: intervention/forms/modalForms.py:319 +#: intervention/forms/modalForms.py:320 msgid "New Deduction" msgstr "Neue Abbuchung" -#: intervention/forms/modalForms.py:320 +#: intervention/forms/modalForms.py:321 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:348 +#: intervention/forms/modalForms.py:349 msgid "" "Eco-account {} is not recorded yet. You can only deduct from recorded " "accounts." @@ -1408,7 +1380,7 @@ msgstr "" "Ökokonto {} ist noch nicht verzeichnet. Abbuchungen können nur von " "verzeichneten Ökokonten erfolgen." -#: intervention/forms/modalForms.py:361 +#: intervention/forms/modalForms.py:362 msgid "" "The account {} has not enough surface for a deduction of {} m². There are " "only {} m² left" @@ -1511,39 +1483,31 @@ msgstr "" "Kein Ausgleich jeglicher Art gefunden (Kompensation, Ersatzzahlung, " "Abbuchung)" -#: intervention/views.py:48 +#: intervention/views.py:49 msgid "Interventions - Overview" msgstr "Eingriffe - Übersicht" -#: intervention/views.py:81 +#: intervention/views.py:82 msgid "Intervention {} added" msgstr "Eingriff {} hinzugefügt" -#: intervention/views.py:249 +#: intervention/views.py:250 msgid "This intervention has {} revocations" msgstr "Dem Eingriff liegen {} Widersprüche vor" -#: intervention/views.py:298 +#: intervention/views.py:299 msgid "Intervention {} edited" msgstr "Eingriff {} bearbeitet" -#: intervention/views.py:334 +#: intervention/views.py:335 msgid "{} removed" msgstr "{} entfernt" -#: intervention/views.py:356 -msgid "Revocation removed" -msgstr "Widerspruch entfernt" - -#: intervention/views.py:439 +#: intervention/views.py:440 msgid "Check performed" msgstr "Prüfung durchgeführt" -#: intervention/views.py:461 -msgid "Revocation added" -msgstr "Widerspruch hinzugefügt" - -#: intervention/views.py:534 +#: intervention/views.py:563 msgid "There are errors on this intervention:" msgstr "Es liegen Fehler in diesem Eingriff vor:" @@ -1891,18 +1855,50 @@ msgstr "" "vor. Nur Eintragungsstellennutzer können diese Aktion jetzt durchführen." #: konova/utils/message_templates.py:25 +msgid "Compensation {} added" +msgstr "Kompensation {} hinzugefügt" + +#: konova/utils/message_templates.py:26 +msgid "Compensation {} removed" +msgstr "Kompensation {} entfernt" + +#: konova/utils/message_templates.py:29 +msgid "Deduction added" +msgstr "Abbuchung hinzugefügt" + +#: konova/utils/message_templates.py:30 +msgid "Deduction removed" +msgstr "Abbuchung entfernt" + +#: konova/utils/message_templates.py:33 +msgid "Payment added" +msgstr "Zahlung hinzugefügt" + +#: konova/utils/message_templates.py:34 +msgid "Payment removed" +msgstr "Zahlung gelöscht" + +#: konova/utils/message_templates.py:37 +msgid "Revocation added" +msgstr "Widerspruch hinzugefügt" + +#: konova/utils/message_templates.py:38 +msgid "Revocation removed" +msgstr "Widerspruch entfernt" + +#: konova/utils/message_templates.py:41 msgid "Edited general data" msgstr "Allgemeine Daten bearbeitet" -#: konova/utils/message_templates.py:26 +#: konova/utils/message_templates.py:42 msgid "Added compensation state" msgstr "Zustand hinzugefügt" -#: konova/utils/message_templates.py:28 +#: konova/utils/message_templates.py:44 msgid "Added compensation action" msgstr "Maßnahme hinzufügen" -#: konova/utils/message_templates.py:31 +#: konova/utils/message_templates.py:47 msgid "Geometry conflict detected with {}" msgstr "Geometriekonflikt mit folgenden Einträgen erkannt: {}" @@ -3922,6 +3918,9 @@ msgstr "" msgid "Unable to connect to qpid with SASL mechanism %s" msgstr "" +#~ msgid "General data edited" +#~ msgstr "Allgemeine Daten bearbeitet" + #~ msgid "Action type details" #~ msgstr "Zusatzmerkmale"