From 354ec4c929135876e7af320c0cf3fd80eda3fa5c Mon Sep 17 00:00:00 2001 From: mpeltriaux Date: Wed, 13 Oct 2021 17:35:11 +0200 Subject: [PATCH] #25 Public reports * adds public report for compensations * adds/updates translations * prepares EMA and eco account reports --- compensation/account_urls.py | 1 + compensation/comp_urls.py | 1 + .../detail/compensation/includes/actions.html | 2 + .../compensation/includes/controls.html | 2 +- .../compensation/includes/states-after.html | 2 + .../compensation/includes/states-before.html | 2 + .../detail/eco_account/includes/controls.html | 2 +- .../report/compensation/report.html | 66 +++++++ compensation/views/compensation_views.py | 48 +++++ compensation/views/eco_account_views.py | 37 ++++ .../ema/detail/includes/controls.html | 2 +- ema/urls.py | 1 + ema/views.py | 36 ++++ .../templates/intervention/report/report.html | 7 +- intervention/views.py | 6 + locale/de/LC_MESSAGES/django.mo | Bin 23123 -> 23154 bytes locale/de/LC_MESSAGES/django.po | 176 ++++++++++-------- 17 files changed, 303 insertions(+), 88 deletions(-) create mode 100644 compensation/templates/compensation/report/compensation/report.html diff --git a/compensation/account_urls.py b/compensation/account_urls.py index 47a178e2..d29c827b 100644 --- a/compensation/account_urls.py +++ b/compensation/account_urls.py @@ -15,6 +15,7 @@ urlpatterns = [ path('', detail_view, name='acc-detail'), path('/log', log_view, name='acc-log'), path('/record', record_view, name='acc-record'), + path('/report', report_view, name='acc-report'), path('/edit', edit_view, name='acc-edit'), path('/remove', remove_view, name='acc-remove'), path('/state/new', state_new_view, name='acc-new-state'), diff --git a/compensation/comp_urls.py b/compensation/comp_urls.py index cc025e86..a63a6903 100644 --- a/compensation/comp_urls.py +++ b/compensation/comp_urls.py @@ -21,6 +21,7 @@ urlpatterns = [ path('/state/new', state_new_view, name='new-state'), path('/action/new', action_new_view, name='new-action'), path('/deadline/new', deadline_new_view, name="new-deadline"), + path('/report', report_view, name='report'), # Documents path('/document/new/', new_document_view, name='new-doc'), diff --git a/compensation/templates/compensation/detail/compensation/includes/actions.html b/compensation/templates/compensation/detail/compensation/includes/actions.html index c4b7fb40..a1c77f21 100644 --- a/compensation/templates/compensation/detail/compensation/includes/actions.html +++ b/compensation/templates/compensation/detail/compensation/includes/actions.html @@ -33,9 +33,11 @@ {% trans 'Comment' %} + {% if is_default_member and has_access %} {% trans 'Action' %} + {% endif %} diff --git a/compensation/templates/compensation/detail/compensation/includes/controls.html b/compensation/templates/compensation/detail/compensation/includes/controls.html index 5d6f61be..a9c68c29 100644 --- a/compensation/templates/compensation/detail/compensation/includes/controls.html +++ b/compensation/templates/compensation/detail/compensation/includes/controls.html @@ -6,7 +6,7 @@ LANIS - + diff --git a/compensation/templates/compensation/detail/compensation/includes/states-after.html b/compensation/templates/compensation/detail/compensation/includes/states-after.html index 585d5390..6b372974 100644 --- a/compensation/templates/compensation/detail/compensation/includes/states-after.html +++ b/compensation/templates/compensation/detail/compensation/includes/states-after.html @@ -35,9 +35,11 @@ {% trans 'Surface' %} + {% if is_default_member and has_access %} {% trans 'Action' %} + {% endif %} diff --git a/compensation/templates/compensation/detail/compensation/includes/states-before.html b/compensation/templates/compensation/detail/compensation/includes/states-before.html index fe6e4347..a8d20251 100644 --- a/compensation/templates/compensation/detail/compensation/includes/states-before.html +++ b/compensation/templates/compensation/detail/compensation/includes/states-before.html @@ -35,9 +35,11 @@ {% trans 'Surface' %} + {% if is_default_member and has_access %} {% trans 'Action' %} + {% endif %} diff --git a/compensation/templates/compensation/detail/eco_account/includes/controls.html b/compensation/templates/compensation/detail/eco_account/includes/controls.html index 76e3b2b9..dca0823f 100644 --- a/compensation/templates/compensation/detail/eco_account/includes/controls.html +++ b/compensation/templates/compensation/detail/eco_account/includes/controls.html @@ -6,7 +6,7 @@ LANIS - + diff --git a/compensation/templates/compensation/report/compensation/report.html b/compensation/templates/compensation/report/compensation/report.html new file mode 100644 index 00000000..fad5573f --- /dev/null +++ b/compensation/templates/compensation/report/compensation/report.html @@ -0,0 +1,66 @@ +{% extends 'public_base.html' %} +{% load i18n fontawesome_5 humanize %} + +{% block body %} +
+
+

{% trans 'Report' %}

+

{{obj.identifier}}

+
+ + + + + + + + + + + + + + + + + +
{% trans 'Title' %}{{obj.title|default_if_none:""}}
{% trans 'compensates intervention' %} + + {{obj.intervention.identifier}} + +
{% trans 'Funded by' %} + {% for funding in obj.fundings.all %} +
{{funding.short_name}}
+
+ {% endfor %} +
{% trans 'Last modified' %} + {{obj.modified.timestamp|default_if_none:""|naturalday}} +
+
+ + {% include 'compensation/detail/compensation/includes/states-before.html' %} + {% include 'compensation/detail/compensation/includes/states-after.html' %} + {% include 'compensation/detail/compensation/includes/actions.html' %} +
+
+
+ {% include 'map/geom_form.html' %} +
+
+ {% include 'intervention/detail/includes/comment.html' %} +
+
+
+

{% trans 'Open in browser' %}

+ {{ qrcode|safe }} +
+
+

{% trans 'View in LANIS' %}

+ {{ qrcode_lanis|safe }} +
+
+ +
+
+ +{% endblock %} \ No newline at end of file diff --git a/compensation/views/compensation_views.py b/compensation/views/compensation_views.py index f4dc3921..3ab84c27 100644 --- a/compensation/views/compensation_views.py +++ b/compensation/views/compensation_views.py @@ -13,6 +13,7 @@ from konova.contexts import BaseContext from konova.decorators import * from konova.forms import RemoveModalForm, SimpleGeomForm, NewDocumentForm 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 from konova.utils.user_checks import in_group @@ -381,3 +382,50 @@ def action_remove_view(request: HttpRequest, id: str): request, msg_success=_("Action removed") ) + + +def report_view(request:HttpRequest, id: str): + """ Renders the public report view + + Args: + request (HttpRequest): The incoming request + id (str): The id of the intervention + + Returns: + + """ + # Reuse the compensation report template since compensations are structurally identical + template = "compensation/report/compensation/report.html" + comp = get_object_or_404(Compensation, id=id) + + # If intervention is not recorded (yet or currently) we need to render another template without any data + if not comp.intervention.recorded: + template = "report/unavailable.html" + return render(request, template, {}) + + # Prepare data for map viewer + geom_form = SimpleGeomForm( + instance=comp + ) + qrcode_img = generate_qr_code( + request.build_absolute_uri(reverse("compensation:report", args=(id,))), + 10 + ) + qrcode_img_lanis = generate_qr_code( + comp.get_LANIS_link(), + 7 + ) + # Order states by surface + before_states = comp.before_states.all().order_by("-surface") + after_states = comp.after_states.all().order_by("-surface") + context = { + "obj": comp, + "qrcode": qrcode_img, + "qrcode_lanis": qrcode_img_lanis, + "has_access": False, # disables action buttons during rendering + "before_states": before_states, + "after_states": after_states, + "geom_form": geom_form, + } + context = BaseContext(request, context).context + return render(request, template, context) diff --git a/compensation/views/eco_account_views.py b/compensation/views/eco_account_views.py index eab48da1..5f2ede3b 100644 --- a/compensation/views/eco_account_views.py +++ b/compensation/views/eco_account_views.py @@ -24,6 +24,7 @@ from konova.decorators import any_group_check, default_group_required, conservat from konova.forms import RemoveModalForm, SimpleGeomForm, NewDocumentForm, RecordModalForm from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP from konova.utils.documents import get_document, remove_document +from konova.utils.generators import generate_qr_code from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID from konova.utils.user_checks import in_group @@ -432,3 +433,39 @@ def new_deduction_view(request: HttpRequest, id: str): request, msg_success=_("Deduction added") ) + + +def report_view(request:HttpRequest, id: str): + """ Renders the public report view + + Args: + request (HttpRequest): The incoming request + id (str): The id of the intervention + + Returns: + + """ + # Reuse the compensation report template since EcoAccounts are structurally identical + template = "compensation/report/report.html" + acc = get_object_or_404(EcoAccount, id=id) + + # If intervention is not recorded (yet or currently) we need to render another template without any data + if not acc.recorded: + template = "report/unavailable.html" + return render(request, template, {}) + + qrcode_img = generate_qr_code( + request.build_absolute_uri(reverse("compensation:acc-report", args=(id,))), + 10 + ) + qrcode_img_lanis = generate_qr_code( + acc.get_LANIS_link(), + 7 + ) + context = { + "obj": acc, + "qrcode": qrcode_img, + "qrcode_lanis": qrcode_img_lanis, + } + context = BaseContext(request, context).context + return render(request, template, context) diff --git a/ema/templates/ema/detail/includes/controls.html b/ema/templates/ema/detail/includes/controls.html index 8b24f66e..88a112ff 100644 --- a/ema/templates/ema/detail/includes/controls.html +++ b/ema/templates/ema/detail/includes/controls.html @@ -6,7 +6,7 @@ LANIS
- + diff --git a/ema/urls.py b/ema/urls.py index ac3bc1f8..ad926d05 100644 --- a/ema/urls.py +++ b/ema/urls.py @@ -18,6 +18,7 @@ urlpatterns = [ path('/edit', edit_view, name='edit'), path('/remove', remove_view, name='remove'), path('/record', record_view, name='record'), + path('/report', report_view, name='report'), path('/state/new', state_new_view, name='new-state'), path('/action/new', action_new_view, name='new-action'), path('/deadline/new', deadline_new_view, name="new-deadline"), diff --git a/ema/views.py b/ema/views.py index 2d9a7f60..5fd9372a 100644 --- a/ema/views.py +++ b/ema/views.py @@ -16,6 +16,7 @@ from ema.models import Ema, EmaDocument from konova.forms import RemoveModalForm, NewDocumentForm, SimpleGeomForm, RecordModalForm from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP from konova.utils.documents import get_document, remove_document +from konova.utils.generators import generate_qr_code from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID from konova.utils.user_checks import in_group @@ -399,3 +400,38 @@ def action_remove_view(request: HttpRequest, id: str): id ) + +def report_view(request:HttpRequest, id: str): + """ Renders the public report view + + Args: + request (HttpRequest): The incoming request + id (str): The id of the intervention + + Returns: + + """ + # Reuse the compensation report template since EMAs are structurally identical + template = "compensation/report/report.html" + ema = get_object_or_404(Ema, id=id) + + # If intervention is not recorded (yet or currently) we need to render another template without any data + if not ema.recorded: + template = "report/unavailable.html" + return render(request, template, {}) + + qrcode_img = generate_qr_code( + request.build_absolute_uri(reverse("ema:report", args=(id,))), + 10 + ) + qrcode_img_lanis = generate_qr_code( + ema.get_LANIS_link(), + 7 + ) + context = { + "obj": ema, + "qrcode": qrcode_img, + "qrcode_lanis": qrcode_img_lanis, + } + context = BaseContext(request, context).context + return render(request, template, context) \ No newline at end of file diff --git a/intervention/templates/intervention/report/report.html b/intervention/templates/intervention/report/report.html index 7eac63f7..4813582e 100644 --- a/intervention/templates/intervention/report/report.html +++ b/intervention/templates/intervention/report/report.html @@ -4,7 +4,8 @@ {% block body %}
-

{{obj.identifier}}

+

{% trans 'Report' %}

+

{{obj.identifier}}

@@ -48,7 +49,7 @@
{% trans 'Compensations' %} {% for comp in obj.compensations.all %} - + {{comp.identifier}}
@@ -61,7 +62,7 @@
{% trans 'Deductions of eco-accounts' %} {% for deduction in deductions %} - + {{deduction.account.identifier}}
diff --git a/intervention/views.py b/intervention/views.py index 7449085d..49b363cf 100644 --- a/intervention/views.py +++ b/intervention/views.py @@ -492,6 +492,11 @@ def report_view(request:HttpRequest, id: str): template = "report/unavailable.html" return render(request, template, {}) + # Prepare data for map viewer + geom_form = SimpleGeomForm( + instance=intervention + ) + distinct_deductions = intervention.deductions.all().distinct( "account" ) @@ -508,6 +513,7 @@ def report_view(request:HttpRequest, id: str): "deductions": distinct_deductions, "qrcode": qrcode_img, "qrcode_lanis": qrcode_img_lanis, + "geom_form": geom_form, } context = BaseContext(request, context).context return render(request, template, context) diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index f8927af69bcf373051e08806e7b97fc39b8eef90..8da5e14e205cd793e8e43d657a9746e4b89d5970 100644 GIT binary patch delta 5988 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 diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 1e650b8b..391c4d24 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-13 13:55+0200\n" +"POT-Creation-Date: 2021-10-13 17:26+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,13 +50,14 @@ msgstr "Automatisch generiert" #: compensation/templates/compensation/detail/compensation/view.html:31 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:28 #: compensation/templates/compensation/detail/eco_account/view.html:31 +#: compensation/templates/compensation/report/compensation/report.html:12 #: ema/tables.py:33 ema/templates/ema/detail/includes/documents.html:28 #: ema/templates/ema/detail/view.html:24 intervention/forms/forms.py:39 #: 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:31 -#: intervention/templates/intervention/report/report.html:11 +#: intervention/templates/intervention/report/report.html:12 #: konova/forms.py:336 msgid "Title" msgstr "Bezeichnung" @@ -114,7 +115,7 @@ msgstr "Zusätzlicher Kommentar" #: compensation/templates/compensation/detail/eco_account/view.html:58 #: ema/templates/ema/detail/view.html:42 intervention/forms/forms.py:101 #: intervention/templates/intervention/detail/view.html:56 -#: intervention/templates/intervention/report/report.html:36 +#: intervention/templates/intervention/report/report.html:37 msgid "Conservation office" msgstr "Eintragungsstelle" @@ -126,7 +127,7 @@ msgstr "Verantwortliche Stelle" #: compensation/templates/compensation/detail/eco_account/view.html:62 #: ema/templates/ema/detail/view.html:46 intervention/forms/forms.py:129 #: intervention/templates/intervention/detail/view.html:60 -#: intervention/templates/intervention/report/report.html:40 +#: intervention/templates/intervention/report/report.html:41 msgid "Conservation office file number" msgstr "Aktenzeichen Eintragungsstelle" @@ -148,6 +149,7 @@ msgstr "Firma Mustermann" #: compensation/forms/forms.py:146 #: compensation/templates/compensation/detail/compensation/view.html:35 +#: compensation/templates/compensation/report/compensation/report.html:16 msgid "compensates intervention" msgstr "kompensiert Eingriff" @@ -298,11 +300,11 @@ msgid "Select the action type" msgstr "Maßnahmentyp wählen" #: compensation/forms/modalForms.py:334 -#: compensation/templates/compensation/detail/compensation/includes/actions.html:37 +#: compensation/templates/compensation/detail/compensation/includes/actions.html:38 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:37 #: compensation/templates/compensation/detail/compensation/includes/documents.html:34 -#: compensation/templates/compensation/detail/compensation/includes/states-after.html:39 -#: compensation/templates/compensation/detail/compensation/includes/states-before.html:39 +#: compensation/templates/compensation/detail/compensation/includes/states-after.html:40 +#: compensation/templates/compensation/detail/compensation/includes/states-before.html:40 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:37 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:37 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:40 @@ -421,7 +423,7 @@ msgstr "Zuletzt bearbeitet" #: compensation/tables.py:62 #: intervention/templates/intervention/detail/includes/compensations.html:8 -#: intervention/templates/intervention/report/report.html:48 +#: intervention/templates/intervention/report/report.html:49 msgid "Compensations" msgstr "Kompensationen" @@ -448,13 +450,13 @@ msgstr "Am {} von {} geprüft worden" #: compensation/templates/compensation/detail/compensation/view.html:60 #: compensation/templates/compensation/detail/eco_account/view.html:47 #: ema/tables.py:101 ema/templates/ema/detail/view.html:31 -#: intervention/models.py:385 intervention/tables.py:131 +#: intervention/models.py:384 intervention/tables.py:131 #: intervention/templates/intervention/detail/view.html:85 msgid "Not recorded yet" msgstr "Noch nicht verzeichnet" #: compensation/tables.py:134 compensation/tables.py:263 ema/tables.py:106 -#: intervention/models.py:390 intervention/tables.py:136 +#: intervention/models.py:389 intervention/tables.py:136 msgid "Recorded on {} by {}" msgstr "Am {} von {} verzeichnet worden" @@ -516,7 +518,7 @@ msgctxt "Compensation" msgid "Amount" msgstr "Menge" -#: compensation/templates/compensation/detail/compensation/includes/actions.html:51 +#: compensation/templates/compensation/detail/compensation/includes/actions.html:53 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:51 #: ema/templates/ema/detail/includes/actions.html:51 msgid "Remove action" @@ -631,8 +633,8 @@ msgstr "Fehlende Flächenmengen laut Ausgangszustand: " msgid "Biotope type" msgstr "Biotoptyp" -#: compensation/templates/compensation/detail/compensation/includes/states-after.html:52 -#: compensation/templates/compensation/detail/compensation/includes/states-before.html:52 +#: compensation/templates/compensation/detail/compensation/includes/states-after.html:54 +#: compensation/templates/compensation/detail/compensation/includes/states-before.html:54 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:52 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:52 #: ema/templates/ema/detail/includes/states-after.html:52 @@ -681,6 +683,7 @@ msgstr "Verzeichnet am" #: compensation/templates/compensation/detail/compensation/view.html:71 #: compensation/templates/compensation/detail/eco_account/view.html:70 +#: compensation/templates/compensation/report/compensation/report.html:24 #: ema/templates/ema/detail/view.html:54 msgid "Funded by" msgstr "Gefördert mit" @@ -688,16 +691,17 @@ msgstr "Gefördert mit" #: compensation/templates/compensation/detail/compensation/view.html:79 #: compensation/templates/compensation/detail/eco_account/view.html:78 #: ema/templates/ema/detail/view.html:62 -#: intervention/templates/intervention/report/report.html:56 -#: intervention/templates/intervention/report/report.html:77 +#: intervention/templates/intervention/report/report.html:57 +#: intervention/templates/intervention/report/report.html:78 msgid "None" msgstr "" #: compensation/templates/compensation/detail/compensation/view.html:84 #: compensation/templates/compensation/detail/eco_account/view.html:83 +#: compensation/templates/compensation/report/compensation/report.html:33 #: ema/templates/ema/detail/view.html:67 #: intervention/templates/intervention/detail/view.html:108 -#: intervention/templates/intervention/report/report.html:90 +#: intervention/templates/intervention/report/report.html:91 msgid "Last modified" msgstr "Zuletzt bearbeitet" @@ -770,84 +774,99 @@ msgstr "Fehlt" #: compensation/templates/compensation/detail/eco_account/view.html:66 #: ema/templates/ema/detail/view.html:50 intervention/forms/forms.py:141 #: intervention/templates/intervention/detail/view.html:64 -#: intervention/templates/intervention/report/report.html:44 +#: intervention/templates/intervention/report/report.html:45 msgid "Intervention handler" msgstr "Eingriffsverursacher" -#: compensation/views/compensation_views.py:76 +#: compensation/templates/compensation/report/compensation/report.html:7 +#: intervention/templates/intervention/report/report.html:7 +msgid "Report" +msgstr "Bericht" + +#: compensation/templates/compensation/report/compensation/report.html:54 +#: intervention/templates/intervention/report/report.html:108 +msgid "Open in browser" +msgstr "Im Browser öffnen" + +#: compensation/templates/compensation/report/compensation/report.html:58 +#: intervention/templates/intervention/report/report.html:112 +msgid "View in LANIS" +msgstr "In LANIS öffnen" + +#: compensation/views/compensation_views.py:77 msgid "Compensation {} added" msgstr "Kompensation {} hinzugefügt" -#: compensation/views/compensation_views.py:131 +#: compensation/views/compensation_views.py:132 msgid "Compensation {} edited" msgstr "Kompensation {} bearbeitet" -#: compensation/views/compensation_views.py:210 -#: compensation/views/eco_account_views.py:277 ema/views.py:174 +#: compensation/views/compensation_views.py:211 +#: compensation/views/eco_account_views.py:278 ema/views.py:175 #: intervention/views.py:428 msgid "Log" msgstr "Log" -#: compensation/views/compensation_views.py:231 +#: compensation/views/compensation_views.py:232 msgid "Compensation removed" msgstr "Kompensation entfernt" -#: compensation/views/compensation_views.py:250 -#: compensation/views/eco_account_views.py:376 ema/views.py:327 +#: compensation/views/compensation_views.py:251 +#: compensation/views/eco_account_views.py:377 ema/views.py:328 #: intervention/views.py:124 msgid "Document added" msgstr "Dokument hinzugefügt" -#: compensation/views/compensation_views.py:306 -#: compensation/views/eco_account_views.py:320 ema/views.py:271 +#: compensation/views/compensation_views.py:307 +#: compensation/views/eco_account_views.py:321 ema/views.py:272 msgid "State added" msgstr "Zustand hinzugefügt" -#: compensation/views/compensation_views.py:325 -#: compensation/views/eco_account_views.py:339 ema/views.py:290 +#: compensation/views/compensation_views.py:326 +#: compensation/views/eco_account_views.py:340 ema/views.py:291 msgid "Action added" msgstr "Maßnahme hinzugefügt" -#: compensation/views/compensation_views.py:344 -#: compensation/views/eco_account_views.py:358 ema/views.py:309 +#: compensation/views/compensation_views.py:345 +#: compensation/views/eco_account_views.py:359 ema/views.py:310 msgid "Deadline added" msgstr "Frist/Termin hinzugefügt" -#: compensation/views/compensation_views.py:363 +#: compensation/views/compensation_views.py:364 msgid "State removed" msgstr "Zustand gelöscht" -#: compensation/views/compensation_views.py:382 +#: compensation/views/compensation_views.py:383 msgid "Action removed" msgstr "Maßnahme entfernt" -#: compensation/views/eco_account_views.py:86 +#: compensation/views/eco_account_views.py:87 msgid "Eco-Account {} added" msgstr "Ökokonto {} hinzugefügt" -#: compensation/views/eco_account_views.py:141 +#: compensation/views/eco_account_views.py:142 msgid "Eco-Account {} edited" msgstr "Ökokonto {} bearbeitet" -#: compensation/views/eco_account_views.py:227 +#: compensation/views/eco_account_views.py:228 msgid "Eco-account removed" msgstr "Ökokonto entfernt" -#: compensation/views/eco_account_views.py:254 +#: compensation/views/eco_account_views.py:255 msgid "Deduction removed" msgstr "Abbuchung entfernt" -#: compensation/views/eco_account_views.py:297 ema/views.py:248 +#: compensation/views/eco_account_views.py:298 ema/views.py:249 #: intervention/views.py:468 msgid "{} unrecorded" msgstr "{} entzeichnet" -#: compensation/views/eco_account_views.py:297 ema/views.py:248 +#: compensation/views/eco_account_views.py:298 ema/views.py:249 #: intervention/views.py:468 msgid "{} recorded" msgstr "{} verzeichnet" -#: compensation/views/eco_account_views.py:433 intervention/views.py:450 +#: compensation/views/eco_account_views.py:434 intervention/views.py:450 msgid "Deduction added" msgstr "Abbuchung hinzugefügt" @@ -887,15 +906,15 @@ msgstr "" msgid "Payment funded compensation" msgstr "Ersatzzahlungsmaßnahme" -#: ema/views.py:77 +#: ema/views.py:78 msgid "EMA {} added" msgstr "EMA {} hinzugefügt" -#: ema/views.py:201 +#: ema/views.py:202 msgid "EMA {} edited" msgstr "EMA {} bearbeitet" -#: ema/views.py:231 +#: ema/views.py:232 msgid "EMA removed" msgstr "EMA entfernt" @@ -921,13 +940,13 @@ msgstr "Bauvorhaben XY; Flur ABC" #: intervention/forms/forms.py:51 #: intervention/templates/intervention/detail/view.html:35 -#: intervention/templates/intervention/report/report.html:15 +#: intervention/templates/intervention/report/report.html:16 msgid "Process type" msgstr "Verfahrenstyp" #: intervention/forms/forms.py:68 #: intervention/templates/intervention/detail/view.html:39 -#: intervention/templates/intervention/report/report.html:19 +#: intervention/templates/intervention/report/report.html:20 msgid "Law" msgstr "Gesetz" @@ -937,13 +956,13 @@ msgstr "Mehrfachauswahl möglich" #: intervention/forms/forms.py:85 #: intervention/templates/intervention/detail/view.html:48 -#: intervention/templates/intervention/report/report.html:28 +#: intervention/templates/intervention/report/report.html:29 msgid "Registration office" msgstr "Zulassungsbehörde" #: intervention/forms/forms.py:117 #: intervention/templates/intervention/detail/view.html:52 -#: intervention/templates/intervention/report/report.html:32 +#: intervention/templates/intervention/report/report.html:33 msgid "Registration office file number" msgstr "Aktenzeichen Zulassungsbehörde" @@ -957,13 +976,13 @@ msgstr "Wer führt den Eingriff durch" #: intervention/forms/forms.py:154 #: intervention/templates/intervention/detail/view.html:96 -#: intervention/templates/intervention/report/report.html:82 +#: intervention/templates/intervention/report/report.html:83 msgid "Registration date" msgstr "Datum Zulassung bzw. Satzungsbeschluss" #: intervention/forms/forms.py:166 #: intervention/templates/intervention/detail/view.html:100 -#: intervention/templates/intervention/report/report.html:86 +#: intervention/templates/intervention/report/report.html:87 msgid "Binding on" msgstr "Datum Bestandskraft" @@ -1074,31 +1093,31 @@ msgstr "" "Das Ökokonto {} hat für eine Abbuchung von {} m² nicht ausreichend " "Restfläche. Es stehen noch {} m² zur Verfügung." -#: intervention/models.py:325 +#: intervention/models.py:324 msgid "Registration office file number missing" msgstr "Aktenzeichen Zulassungsbehörde fehlt" -#: intervention/models.py:328 +#: intervention/models.py:327 msgid "Conservation office file number missing" msgstr "Aktenzeichen Naturschutzbehörde fehlt" -#: intervention/models.py:331 +#: intervention/models.py:330 msgid "Responsible data missing" msgstr "Daten zu Verantwortlichen fehlen" -#: intervention/models.py:345 +#: intervention/models.py:344 msgid "Revocation exists" msgstr "Widerspruch liegt vor" -#: intervention/models.py:348 +#: intervention/models.py:347 msgid "Registration date missing" msgstr "Datum Zulassung bzw. Satzungsbeschluss fehlt" -#: intervention/models.py:351 +#: intervention/models.py:350 msgid "Binding on missing" msgstr "Datum Bestandskraft fehlt" -#: intervention/models.py:353 +#: intervention/models.py:352 msgid "Legal data missing" msgstr "Rechtliche Daten fehlen" @@ -1142,7 +1161,7 @@ msgid "Eco-account not recorded! Deduction invalid!" msgstr "Ökokonto nicht verzeichnet! Abbuchung ungültig!" #: intervention/templates/intervention/detail/includes/payments.html:8 -#: intervention/templates/intervention/report/report.html:72 +#: intervention/templates/intervention/report/report.html:73 msgid "Payments" msgstr "Ersatzzahlungen" @@ -1172,38 +1191,14 @@ msgstr "Widerspruch entfernen" msgid "Exists" msgstr "vorhanden" -#: intervention/templates/intervention/report/report.html:61 +#: intervention/templates/intervention/report/report.html:62 msgid "Deductions of eco-accounts" msgstr "Abbuchungen von Ökokonten" -#: intervention/templates/intervention/report/report.html:75 +#: intervention/templates/intervention/report/report.html:76 msgid "Exist" msgstr "Vorhanden" -#: intervention/templates/intervention/report/report.html:107 -msgid "Open in browser" -msgstr "Im Browser öffnen" - -#: intervention/templates/intervention/report/report.html:111 -msgid "View in LANIS" -msgstr "In LANIS öffnen" - -#: intervention/templates/intervention/report/unavailable.html:6 -msgid "Unrecorded data" -msgstr "Daten nicht veröffentlicht" - -#: intervention/templates/intervention/report/unavailable.html:9 -msgid "" -"\n" -" The data you want to see is not recorded and might still be work " -"in progress. Please come back another time.\n" -" " -msgstr "" -"\n" -" Die Daten, die Sie einsehen möchten, sind in Bearbeitung und daher aktuell nicht öffentlich einsehbar. " -"Schauen Sie zu einem späteren Zeitpunkt wieder vorbei. \n" -" " - #: intervention/views.py:77 msgid "Intervention {} added" msgstr "Eingriff {} hinzugefügt" @@ -1624,6 +1619,23 @@ msgstr "Einstellungen" msgid "Logout" msgstr "Abmelden" +#: templates/report/unavailable.html:6 +msgid "Unrecorded data" +msgstr "Daten nicht veröffentlicht" + +#: templates/report/unavailable.html:9 +msgid "" +"\n" +" The data you want to see is not recorded and might still be work " +"in progress. Please come back another time.\n" +" " +msgstr "" +"\n" +" Die Daten, die Sie einsehen möchten, sind in Bearbeitung und " +"daher aktuell nicht öffentlich einsehbar. Schauen Sie zu einem späteren " +"Zeitpunkt wieder vorbei. \n" +" " + #: user/forms.py:23 msgid "Notifications" msgstr "Benachrichtigungen"