Compare commits

..

No commits in common. "6ca5b329455dfe248b9dbedbf2e3601c01d40214" and "37a684c7ab025aa8b74088ccb85fab0ee601a428" have entirely different histories.

13 changed files with 197 additions and 302 deletions

View File

@ -31,6 +31,6 @@
{% include 'analysis/reports/includes/intervention/card_intervention.html' %}
{% include 'analysis/reports/includes/compensation/card_compensation.html' %}
{% include 'analysis/reports/includes/eco_account/card_eco_account.html' %}
{% include 'analysis/reports/includes/old_data/card_old_interventions.html' %}
{% include 'analysis/reports/includes/old_intervention/card_old_interventions.html' %}
</div>
{% endblock %}

View File

@ -2,6 +2,10 @@
<h3>{% trans 'Amount' %}</h3>
<strong>
{% blocktrans %}
Checked = Has been checked by the registration office according to LKompVzVo
{% endblocktrans %}
<br>
{% blocktrans %}
Recorded = Has been checked and published by the conservation office
{% endblocktrans %}
@ -10,14 +14,18 @@
<table class="table table-hover">
<thead>
<tr>
<th scope="col" class="w-25">{% fa5_icon 'bookmark' %} {% trans 'Recorded' %}</th>
<th scope="col">{% trans 'Total' %}</th>
<th scope="col">{% trans 'Before' %} LKompVzVo</th>
<th scope="col">{% trans 'After' %} LKompVzVo</th>
<th scope="col">{% fa5_icon 'bookmark' %} {% trans 'Recorded' %}</th>
<th scope="col" class="w-25">{% trans 'Total' %}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{report.eco_account_report.queryset_recorded_count|default_if_zero:"-"}}</td>
<td>{{report.eco_account_report.queryset_old_count|default_if_zero:"-"}}</td>
<td>{{report.eco_account_report.queryset_count|default_if_zero:"-"}}</td>
<td>{{report.eco_account_report.queryset_recorded_count|default_if_zero:"-"}}</td>
<td>{{report.eco_account_report.queryset_total_count|default_if_zero:"-"}}</td>
</tr>
</tbody>
</table>

View File

@ -1,40 +0,0 @@
{% load i18n fontawesome_5 ksp_filters %}
<h3>{% trans 'Amount' %}</h3>
<strong>
{% blocktrans %}
Checked = Has been checked by the registration office according to LKompVzVo
{% endblocktrans %}
<br>
{% blocktrans %}
Recorded = Has been checked and published by the conservation office
{% endblocktrans %}
</strong>
<div class="table-container">
<table class="table table-hover">
<thead>
<tr>
<th scope="col" class="w-25">{% fa5_icon 'star' %} {% trans 'Type' %}</th>
<th scope="col">{% fa5_icon 'bookmark' %} {% trans 'Recorded' %}</th>
<th scope="col">{% trans 'Total' %}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{% trans 'Intervention' %}</td>
<td>{{report.old_data_report.queryset_intervention_recorded_count|default_if_zero:"-"}}</td>
<td>{{report.old_data_report.queryset_intervention_count|default_if_zero:"-"}}</td>
</tr>
<tr>
<td>{% trans 'Compensation' %}</td>
<td>{{report.old_data_report.queryset_comps_recorded_count|default_if_zero:"-"}}</td>
<td>{{report.old_data_report.queryset_comps_count|default_if_zero:"-"}}</td>
</tr>
<tr>
<td>{% trans 'Eco-account' %}</td>
<td>{{report.old_data_report.queryset_acc_recorded_count|default_if_zero:"-"}}</td>
<td>{{report.old_data_report.queryset_acc_count|default_if_zero:"-"}}</td>
</tr>
</tbody>
</table>
</div>

View File

@ -0,0 +1,30 @@
{% load i18n fontawesome_5 ksp_filters %}
<h3>{% trans 'Amount' %}</h3>
<strong>
{% blocktrans %}
Checked = Has been checked by the registration office according to LKompVzVo
{% endblocktrans %}
<br>
{% blocktrans %}
Recorded = Has been checked and published by the conservation office
{% endblocktrans %}
</strong>
<div class="table-container">
<table class="table table-hover">
<thead>
<tr>
<th scope="col">{% fa5_icon 'star' %} {% trans 'Checked' %}</th>
<th scope="col">{% fa5_icon 'bookmark' %} {% trans 'Recorded' %}</th>
<th scope="col" class="w-25">{% trans 'Total' %}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{report.old_intervention_report.queryset_checked_count|default_if_zero:"-"}}</td>
<td>{{report.old_intervention_report.queryset_recorded_count|default_if_zero:"-"}}</td>
<td>{{report.old_intervention_report.queryset_count|default_if_zero:"-"}}</td>
</tr>
</tbody>
</table>
</div>

View File

@ -16,7 +16,7 @@
</div>
<div id="oldInterventionBody" class="collapse" aria-labelledby="oldIntervention">
<div class="card-body">
{% include 'analysis/reports/includes/old_data/amount.html' %}
{% include 'analysis/reports/includes/old_intervention/amount.html' %}
</div>
</div>
</div>

View File

@ -47,30 +47,28 @@ class TempExcelFile:
Returns:
"""
sheets = self._workbook.worksheets
for sheet in sheets:
ws = sheet
# Always activate sheet protection
ws.protection.sheet = True
ws.protection.enable()
_rows = ws.iter_rows(start_row)
for row in _rows:
for cell in row:
val = cell.value
if val in self._template_map:
attr = self._template_map[val]
# If keyword '_iter' can be found inside the placeholder value it's an iterable and we
# need to process it differently
if isinstance(attr, dict):
# Read the iterable object and related attributes from the dict
_iter_obj = attr.get("iterable", None)
_attrs = attr.get("attrs", [])
self._add_cells_from_iterable(ws, cell, _iter_obj, _attrs)
# Since the sheet length did change now, we need to rerun this function starting with the new
# row counter
self._replace_template_placeholders(start_row=cell.row + len(_iter_obj))
else:
cell.value = attr
ws = self._workbook.active
# Always activate sheet protection
ws.protection.sheet = True
ws.protection.enable()
_rows = ws.iter_rows(start_row)
for row in _rows:
for cell in row:
val = cell.value
if val in self._template_map:
attr = self._template_map[val]
# If keyword '_iter' can be found inside the placeholder value it's an iterable and we
# need to process it differently
if isinstance(attr, dict):
# Read the iterable object and related attributes from the dict
_iter_obj = attr.get("iterable", None)
_attrs = attr.get("attrs", [])
self._add_cells_from_iterable(ws, cell, _iter_obj, _attrs)
# Since the sheet length did change now, we need to rerun this function starting with the new
# row counter
self._replace_template_placeholders(start_row=cell.row + len(_iter_obj))
else:
cell.value = attr
self._workbook.save(self._file.name)
self._file.seek(0)
self.stream = self._file.read()

View File

@ -379,10 +379,14 @@ class TimespanReport:
self.queryset_registration_office_other_recorded_count = self.queryset_registration_office_other_recorded.count()
class EcoAccountReport:
queryset_total = EcoAccount.objects.none()
queryset = EcoAccount.objects.none()
queryset_recorded = EcoAccount.objects.none()
queryset_old = EcoAccount.objects.none()
queryset_total_count = -1
queryset_count = -1
queryset_recorded_count = -1
queryset_old_count = -1
queryset_deductions = EcoAccountDeduction.objects.none()
queryset_deductions_recorded = EcoAccountDeduction.objects.none()
@ -397,15 +401,23 @@ class TimespanReport:
def __init__(self, id: str, date_from: str, date_to: str):
# First fetch all eco account for this office
self.queryset = EcoAccount.objects.filter(
self.queryset_total = EcoAccount.objects.filter(
responsible__conservation_office__id=id,
deleted=None,
created__timestamp__gte=date_from,
created__timestamp__lte=date_to,
)
self.queryset_recorded = self.queryset.filter(
self.queryset_recorded = self.queryset_total.filter(
recorded__isnull=False
)
# Then fetch the old ones (pre-LKompVzVo)
self.queryset_old = self.queryset_total.filter(
recorded__timestamp__lte=LKOMPVZVO_PUBLISH_DATE,
)
# Then fetch the default queryset with the new ones (post-LKompVzVo)
self.queryset = self.queryset_total.filter(
recorded__timestamp__gte=LKOMPVZVO_PUBLISH_DATE,
)
# Fetch all related deductions
self.queryset_deductions = EcoAccountDeduction.objects.filter(
account__id__in=self.queryset.values_list("id")
@ -415,29 +427,15 @@ class TimespanReport:
intervention__recorded__isnull=False
)
self.queryset_total_count = self.queryset_total.count()
self.queryset_count = self.queryset.count()
self.queryset_recorded_count = self.queryset_recorded.count()
self.queryset_old_count = self.queryset_old.count()
self.queryset_recorded = self.queryset_recorded.count()
self.queryset_deductions_count = self.queryset_deductions.count()
self.queryset_deductions_recorded_count = self.queryset_deductions_recorded.count()
self.queryset_has_deductions_count = self.queryset_has_deductions.count()
self._create_report()
self._define_excel_map()
def _define_excel_map(self):
""" Define the excel map, which holds values for each placeholder used in the template
Returns:
"""
self.excel_map = {
"acc_total": self.queryset_count,
"acc_recorded": self.queryset_recorded_count,
"acc_deduc_recorded": self.queryset_deductions_recorded_count,
"acc_deduc_surface_recorded": self.recorded_deductions_sq_m,
"acc_deduc_total": self.queryset_deductions_count,
"acc_deduc_surface_total": self.deductions_sq_m,
}
def _create_report(self):
""" Creates all report information
@ -455,76 +453,32 @@ class TimespanReport:
sum=Sum("surface")
)["sum"] or 0
class OldDataReport:
"""
Evaluates 'old data' (registered (zugelassen) before 16.06.2018)
"""
queryset_intervention = Intervention.objects.none()
queryset_intervention_recorded = Intervention.objects.none()
queryset_intervention_count = -1
queryset_intervention_recorded_count = -1
class OldInterventionReport:
queryset = Compensation.objects.none()
queryset_checked = Compensation.objects.none()
queryset_recorded = Compensation.objects.none()
queryset_comps = Compensation.objects.none()
queryset_comps_recorded = Compensation.objects.none()
queryset_comps_count = -1
queryset_comps_recorded_count = -1
queryset_acc = EcoAccount.objects.none()
queryset_acc_recorded = EcoAccount.objects.none()
queryset_acc_count = -1
queryset_acc_recorded_count = -1
queryset_count = -1
queryset_checked_count = -1
queryset_recorded_count = -1
def __init__(self, id: str, date_from: str, date_to: str):
self.queryset_intervention = Intervention.objects.filter(
self.queryset = Intervention.objects.filter(
legal__registration_date__lte=LKOMPVZVO_PUBLISH_DATE,
responsible__conservation_office__id=id,
deleted=None,
created__timestamp__gte=date_from,
created__timestamp__lte=date_to,
)
self.queryset_intervention_recorded = self.queryset_intervention.filter(
self.queryset_checked = self.queryset.filter(
checked__isnull=False
)
self.queryset_recorded = self.queryset.filter(
recorded__isnull=False
)
self.queryset_intervention_count = self.queryset_intervention.count()
self.queryset_intervention_recorded_count = self.queryset_intervention_recorded.count()
self.queryset_comps = Compensation.objects.filter(
intervention__in=self.queryset_intervention
)
self.queryset_comps_recorded = Compensation.objects.filter(
intervention__in=self.queryset_intervention_recorded,
)
self.queryset_comps_count = self.queryset_comps.count()
self.queryset_comps_recorded_count = self.queryset_comps_recorded.count()
self.queryset_acc = EcoAccount.objects.filter(
legal__registration_date__lte=LKOMPVZVO_PUBLISH_DATE,
responsible__conservation_office__id=id,
deleted=None,
created__timestamp__gte=date_from,
created__timestamp__lte=date_to,
)
self.queryset_acc_recorded = self.queryset_acc.filter(
recorded__isnull=False,
)
self.queryset_acc_count = self.queryset_acc.count()
self.queryset_acc_recorded_count = self.queryset_acc_recorded.count()
self._define_excel_map()
def _define_excel_map(self):
""" Define the excel map, which holds values for each placeholder used in the template
Returns:
"""
self.excel_map = {
"old_i_recorded": self.queryset_intervention_recorded_count,
"old_i_total": self.queryset_intervention_count,
"old_c_recorded": self.queryset_comps_recorded_count,
"old_c_total": self.queryset_comps_count,
"old_ea_recorded": self.queryset_acc_recorded_count,
"old_ea_total": self.queryset_acc_count,
}
self.queryset_count = self.queryset.count()
self.queryset_checked = self.queryset_checked.count()
self.queryset_recorded = self.queryset_recorded.count()
def __init__(self, office_id: str, date_from: str, date_to: str):
self.office_id = office_id
@ -534,7 +488,7 @@ class TimespanReport:
self.intervention_report = self.InterventionReport(self.office_id, date_from, date_to)
self.compensation_report = self.CompensationReport(self.office_id, date_from, date_to)
self.eco_account_report = self.EcoAccountReport(self.office_id, date_from, date_to)
self.old_data_report = self.OldDataReport(self.office_id, date_from, date_to)
self.old_intervention_report = self.OldInterventionReport(self.office_id, date_from, date_to)
# Build excel map
self.excel_map = {
@ -543,5 +497,3 @@ class TimespanReport:
}
self.excel_map.update(self.intervention_report.excel_map)
self.excel_map.update(self.compensation_report.excel_map)
self.excel_map.update(self.eco_account_report.excel_map)
self.excel_map.update(self.old_data_report.excel_map)

View File

@ -16,7 +16,7 @@ from codelist.models import KonovaCode
from codelist.settings import CODELIST_COMPENSATION_FUNDING_ID, CODELIST_CONSERVATION_OFFICE_ID
from compensation.models import Compensation, EcoAccount
from intervention.inputs import GenerateInput
from intervention.models import Intervention, ResponsibilityData, LegalData
from intervention.models import Intervention, ResponsibilityData
from konova.forms import BaseForm, SimpleGeomForm
from user.models import UserActionLogEntry, UserAction
@ -298,25 +298,11 @@ class NewEcoAccountForm(AbstractCompensationForm, CompensationResponsibleFormMix
}
)
)
registration_date = forms.DateField(
label=_("Agreement date"),
label_suffix="",
help_text=_("When did the parties agree on this?"),
required=False,
widget=forms.DateInput(
attrs={
"type": "date",
"class": "form-control",
},
format="%d.%m.%Y"
)
)
field_order = [
"identifier",
"title",
"conservation_office",
"registration_date",
"surface",
"conservation_file_number",
"handler",
@ -343,7 +329,6 @@ class NewEcoAccountForm(AbstractCompensationForm, CompensationResponsibleFormMix
identifier = self.cleaned_data.get("identifier", None)
title = self.cleaned_data.get("title", None)
fundings = self.cleaned_data.get("fundings", None)
registration_date = self.cleaned_data.get("registration_date", None)
handler = self.cleaned_data.get("handler", None)
surface = self.cleaned_data.get("surface", None)
conservation_office = self.cleaned_data.get("conservation_office", None)
@ -364,10 +349,6 @@ class NewEcoAccountForm(AbstractCompensationForm, CompensationResponsibleFormMix
conservation_office=conservation_office,
)
legal = LegalData.objects.create(
registration_date=registration_date
)
# Finally create main object
acc = EcoAccount.objects.create(
identifier=identifier,
@ -377,7 +358,6 @@ class NewEcoAccountForm(AbstractCompensationForm, CompensationResponsibleFormMix
created=action,
geometry=geometry,
comment=comment,
legal=legal
)
acc.fundings.set(fundings)
acc.users.add(user)
@ -400,15 +380,11 @@ class EditEcoAccountForm(NewEcoAccountForm):
self.cancel_redirect = reverse("compensation:acc-detail", args=(self.instance.id,))
# Initialize form data
reg_date = self.instance.legal.registration_date
if reg_date is not None:
reg_date = reg_date.isoformat()
form_data = {
"identifier": self.instance.identifier,
"title": self.instance.title,
"surface": self.instance.deductable_surface,
"handler": self.instance.responsible.handler,
"registration_date": reg_date,
"conservation_office": self.instance.responsible.conservation_office,
"conservation_file_number": self.instance.responsible.conservation_file_number,
"fundings": self.instance.fundings.all(),
@ -426,7 +402,6 @@ class EditEcoAccountForm(NewEcoAccountForm):
identifier = self.cleaned_data.get("identifier", None)
title = self.cleaned_data.get("title", None)
fundings = self.cleaned_data.get("fundings", None)
registration_date = self.cleaned_data.get("registration_date", None)
handler = self.cleaned_data.get("handler", None)
surface = self.cleaned_data.get("surface", None)
conservation_office = self.cleaned_data.get("conservation_office", None)
@ -447,10 +422,6 @@ class EditEcoAccountForm(NewEcoAccountForm):
self.instance.responsible.conservation_file_number = conservation_file_number
self.instance.responsible.save()
# Update legal data
self.instance.legal.registration_date = registration_date
self.instance.legal.save()
# Update main oject data
self.instance.identifier = identifier
self.instance.title = title

View File

@ -19,7 +19,7 @@ from codelist.settings import CODELIST_COMPENSATION_ACTION_ID, CODELIST_BIOTOPES
CODELIST_COMPENSATION_FUNDING_ID
from compensation.managers import CompensationStateManager, EcoAccountDeductionManager, CompensationActionManager, \
EcoAccountManager, CompensationManager
from intervention.models import Intervention, ResponsibilityData, LegalData
from intervention.models import Intervention, ResponsibilityData
from konova.models import BaseObject, BaseResource, Geometry, UuidModel, AbstractDocument, \
generate_document_file_upload_path
from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE
@ -309,14 +309,6 @@ class EcoAccount(AbstractCompensation):
default=0,
)
legal = models.OneToOneField(
LegalData,
on_delete=models.SET_NULL,
null=True,
blank=True,
help_text="Holds data on legal dates or law"
)
objects = EcoAccountManager()
def __str__(self):

View File

@ -61,10 +61,6 @@
<th scope="row">{% trans 'Conservation office file number' %}</th>
<td class="align-middle">{{obj.responsible.conservation_file_number|default_if_none:""}}</td>
</tr>
<tr {% if not obj.legal.registration_date %}class="alert alert-danger" title="{% trans 'Missing' %}" {% endif %}>
<th scope="row">{% trans 'Agreement date' %}</th>
<td class="align-middle">{{obj.legal.registration_date|default_if_none:""}}</td>
</tr>
<tr {% if not obj.responsible.handler %}class="alert alert-danger" title="{% trans 'Missing' %}" {% endif %}>
<th scope="row">{% trans 'Action handler' %}</th>
<td class="align-middle">{{obj.responsible.handler|default_if_none:""}}</td>

Binary file not shown.

View File

@ -11,15 +11,15 @@
#: intervention/forms/forms.py:53 intervention/forms/forms.py:155
#: intervention/forms/forms.py:167 intervention/forms/modalForms.py:107
#: intervention/forms/modalForms.py:120 intervention/forms/modalForms.py:133
#: konova/forms.py:142 konova/forms.py:247 konova/forms.py:313
#: konova/forms.py:340 konova/forms.py:350 konova/forms.py:363
#: konova/forms.py:375 konova/forms.py:396 user/forms.py:38
#: konova/forms.py:142 konova/forms.py:246 konova/forms.py:312
#: konova/forms.py:339 konova/forms.py:349 konova/forms.py:362
#: konova/forms.py:374 konova/forms.py:395 user/forms.py:38
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-22 13:14+0200\n"
"POT-Creation-Date: 2021-10-20 13:37+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -37,7 +37,7 @@ msgstr "Vom"
msgid "To"
msgstr "Bis"
#: analysis/forms.py:47 compensation/forms/forms.py:94
#: analysis/forms.py:47 compensation/forms/forms.py:93
#: compensation/templates/compensation/detail/eco_account/view.html:58
#: compensation/templates/compensation/report/eco_account/report.html:16
#: ema/templates/ema/detail/view.html:42
@ -47,12 +47,12 @@ msgstr "Bis"
msgid "Conservation office"
msgstr "Eintragungsstelle"
#: analysis/forms.py:49 compensation/forms/forms.py:96
#: analysis/forms.py:49 compensation/forms/forms.py:95
msgid "Select the responsible office"
msgstr "Verantwortliche Stelle"
#: analysis/forms.py:58 compensation/forms/forms.py:68
#: compensation/forms/forms.py:105 compensation/forms/forms.py:156
#: analysis/forms.py:58 compensation/forms/forms.py:67
#: compensation/forms/forms.py:104 compensation/forms/forms.py:155
#: intervention/forms/forms.py:63 intervention/forms/forms.py:80
#: intervention/forms/forms.py:96 intervention/forms/forms.py:112
msgid "Click for selection"
@ -66,10 +66,6 @@ msgstr "Bericht generieren"
msgid "Select a timespan and the desired conservation office"
msgstr "Wählen Sie die Zeitspanne und die gewünschte Eintragungsstelle"
#: analysis/forms.py:69 konova/forms.py:194
msgid "Continue"
msgstr "Weiter"
#: analysis/templates/analysis/reports/detail.html:7
msgid "Evaluation report"
msgstr "Auswertungsbericht"
@ -78,14 +74,10 @@ msgstr "Auswertungsbericht"
msgid "to"
msgstr "bis"
#: analysis/templates/analysis/reports/detail.html:14
msgid "Download"
msgstr ""
#: analysis/templates/analysis/reports/includes/compensation/amount.html:3
#: 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
#: analysis/templates/analysis/reports/includes/old_intervention/amount.html:3
#: compensation/forms/modalForms.py:351
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34
#: intervention/templates/intervention/detail/includes/deductions.html:31
@ -93,8 +85,9 @@ msgid "Amount"
msgstr "Menge"
#: analysis/templates/analysis/reports/includes/compensation/amount.html:5
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:5
#: analysis/templates/analysis/reports/includes/intervention/amount.html:5
#: analysis/templates/analysis/reports/includes/old_data/amount.html:5
#: analysis/templates/analysis/reports/includes/old_intervention/amount.html:5
msgid ""
"\n"
" Checked = Has been checked by the registration office according to "
@ -106,9 +99,9 @@ msgstr ""
" "
#: analysis/templates/analysis/reports/includes/compensation/amount.html:9
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:5
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:9
#: analysis/templates/analysis/reports/includes/intervention/amount.html:9
#: analysis/templates/analysis/reports/includes/old_data/amount.html:9
#: analysis/templates/analysis/reports/includes/old_intervention/amount.html:9
msgid ""
"\n"
" Recorded = Has been checked and published by the conservation office\n"
@ -127,6 +120,7 @@ msgstr "Zuständigkeitsbereich"
#: analysis/templates/analysis/reports/includes/intervention/amount.html:17
#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:8
#: analysis/templates/analysis/reports/includes/intervention/laws.html:17
#: analysis/templates/analysis/reports/includes/old_intervention/amount.html:17
#: compensation/tables.py:35
#: compensation/templates/compensation/detail/compensation/view.html:43
#: intervention/tables.py:33
@ -135,13 +129,13 @@ msgid "Checked"
msgstr "Geprüft"
#: analysis/templates/analysis/reports/includes/compensation/amount.html:19
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:13
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:19
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:8
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:9
#: analysis/templates/analysis/reports/includes/intervention/amount.html:18
#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:9
#: analysis/templates/analysis/reports/includes/intervention/laws.html:20
#: analysis/templates/analysis/reports/includes/old_data/amount.html:18
#: analysis/templates/analysis/reports/includes/old_intervention/amount.html:18
#: compensation/tables.py:41 compensation/tables.py:181
#: compensation/templates/compensation/detail/compensation/view.html:57
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31
@ -158,14 +152,14 @@ msgstr "Einzelflächen"
#: analysis/templates/analysis/reports/includes/compensation/amount.html:21
#: analysis/templates/analysis/reports/includes/compensation/amount.html:47
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:14
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:20
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:10
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:11
#: analysis/templates/analysis/reports/includes/intervention/amount.html:19
#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:10
#: analysis/templates/analysis/reports/includes/intervention/laws.html:23
#: analysis/templates/analysis/reports/includes/intervention/laws.html:43
#: analysis/templates/analysis/reports/includes/old_data/amount.html:19
#: analysis/templates/analysis/reports/includes/old_intervention/amount.html:19
#: konova/templates/konova/home.html:23 konova/templates/konova/home.html:61
#: konova/templates/konova/home.html:100
msgid "Total"
@ -190,6 +184,15 @@ msgstr "Andere Zulassungsbehörden"
msgid "Compensations"
msgstr "Kompensationen"
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:17
#: analysis/templates/analysis/reports/includes/old_intervention/card_old_interventions.html:13
msgid "Before"
msgstr "Vor"
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:18
msgid "After"
msgstr "Nach"
#: analysis/templates/analysis/reports/includes/eco_account/card_eco_account.html:11
msgid "Eco-Accounts"
msgstr "Ökokonten"
@ -226,7 +229,6 @@ msgid "Compensation type"
msgstr "Kompensationsart"
#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:15
#: analysis/templates/analysis/reports/includes/old_data/amount.html:29
#: compensation/tables.py:84
#: compensation/templates/compensation/detail/compensation/view.html:19
#: konova/templates/konova/home.html:49 templates/navbars/navbar.html:28
@ -263,53 +265,26 @@ msgstr ""
msgid "Law"
msgstr "Gesetz"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:17
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:28
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:28
#: ema/templates/ema/detail/includes/deadlines.html:28
msgid "Type"
msgstr "Typ"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:24
#: intervention/forms/modalForms.py:285 intervention/forms/modalForms.py:292
#: intervention/tables.py:88
#: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/home.html:11 templates/navbars/navbar.html:22
msgid "Intervention"
msgstr "Eingriff"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:34
#: compensation/tables.py:224
#: compensation/templates/compensation/detail/eco_account/view.html:19
#: intervention/forms/modalForms.py:258 intervention/forms/modalForms.py:265
#: konova/templates/konova/home.html:88 templates/navbars/navbar.html:34
msgid "Eco-account"
msgstr "Ökokonto"
#: analysis/templates/analysis/reports/includes/old_data/card_old_interventions.html:11
#: analysis/templates/analysis/reports/includes/old_intervention/card_old_interventions.html:11
msgid "Old interventions"
msgstr "Altfälle"
#: analysis/templates/analysis/reports/includes/old_data/card_old_interventions.html:13
msgid "Before"
msgstr "Vor"
#: compensation/filters.py:70
msgid "Show only unrecorded"
msgstr "Nur unverzeichnete anzeigen"
#: compensation/forms/forms.py:32 compensation/tables.py:25
#: compensation/forms/forms.py:31 compensation/tables.py:25
#: compensation/tables.py:166 ema/tables.py:28 intervention/forms/forms.py:27
#: 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:30
#: compensation/forms/forms.py:34 intervention/forms/forms.py:30
msgid "Generated automatically"
msgstr "Automatisch generiert"
#: compensation/forms/forms.py:44 compensation/tables.py:30
#: compensation/forms/forms.py:43 compensation/tables.py:30
#: compensation/tables.py:171
#: compensation/templates/compensation/detail/compensation/includes/documents.html:28
#: compensation/templates/compensation/detail/compensation/view.html:31
@ -325,27 +300,27 @@ msgstr "Automatisch generiert"
#: intervention/templates/intervention/detail/includes/documents.html:28
#: intervention/templates/intervention/detail/view.html:31
#: intervention/templates/intervention/report/report.html:12
#: konova/forms.py:339
#: konova/forms.py:338
msgid "Title"
msgstr "Bezeichnung"
#: compensation/forms/forms.py:46 intervention/forms/forms.py:41
#: compensation/forms/forms.py:45 intervention/forms/forms.py:41
msgid "An explanatory name"
msgstr "Aussagekräftiger Titel"
#: compensation/forms/forms.py:50 ema/forms.py:47 ema/forms.py:105
#: compensation/forms/forms.py:49 ema/forms.py:47 ema/forms.py:105
msgid "Compensation XY; Location ABC"
msgstr "Kompensation XY; Flur ABC"
#: compensation/forms/forms.py:56
#: compensation/forms/forms.py:55
msgid "Fundings"
msgstr "Förderungen"
#: compensation/forms/forms.py:59
#: compensation/forms/forms.py:58
msgid "Select fundings for this compensation"
msgstr "Wählen Sie ggf. Fördermittelprojekte"
#: compensation/forms/forms.py:74 compensation/forms/modalForms.py:61
#: compensation/forms/forms.py:73 compensation/forms/modalForms.py:61
#: compensation/forms/modalForms.py:272 compensation/forms/modalForms.py:367
#: compensation/templates/compensation/detail/compensation/includes/actions.html:34
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34
@ -360,15 +335,15 @@ msgstr "Wählen Sie ggf. Fördermittelprojekte"
#: intervention/templates/intervention/detail/includes/documents.html:31
#: intervention/templates/intervention/detail/includes/payments.html:34
#: intervention/templates/intervention/detail/includes/revocation.html:38
#: konova/forms.py:374 konova/templates/konova/comment_card.html:16
#: konova/forms.py:373 konova/templates/konova/comment_card.html:16
msgid "Comment"
msgstr "Kommentar"
#: compensation/forms/forms.py:76 intervention/forms/forms.py:181
#: compensation/forms/forms.py:75 intervention/forms/forms.py:181
msgid "Additional comment"
msgstr "Zusätzlicher Kommentar"
#: compensation/forms/forms.py:110
#: compensation/forms/forms.py:109
#: compensation/templates/compensation/detail/eco_account/view.html:62
#: compensation/templates/compensation/report/eco_account/report.html:20
#: ema/templates/ema/detail/view.html:46
@ -378,65 +353,57 @@ msgstr "Zusätzlicher Kommentar"
msgid "Conservation office file number"
msgstr "Aktenzeichen Eintragungsstelle"
#: compensation/forms/forms.py:116 intervention/forms/forms.py:135
#: compensation/forms/forms.py:115 intervention/forms/forms.py:135
msgid "ETS-123/ABC.456"
msgstr ""
#: compensation/forms/forms.py:122
#: compensation/forms/forms.py:121
msgid "Eco-account handler"
msgstr "Maßnahmenträger"
#: compensation/forms/forms.py:126
#: compensation/forms/forms.py:125
msgid "Who handles the eco-account"
msgstr "Wer für die Herrichtung des Ökokontos verantwortlich ist"
#: compensation/forms/forms.py:129 intervention/forms/forms.py:148
#: compensation/forms/forms.py:128 intervention/forms/forms.py:148
msgid "Company Mustermann"
msgstr "Firma Mustermann"
#: compensation/forms/forms.py:147
#: 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"
#: compensation/forms/forms.py:149
#: compensation/forms/forms.py:148
msgid "Select the intervention for which this compensation compensates"
msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist"
#: compensation/forms/forms.py:174
#: compensation/forms/forms.py:173
msgid "New compensation"
msgstr "Neue Kompensation"
#: compensation/forms/forms.py:232
#: compensation/forms/forms.py:231
msgid "Edit compensation"
msgstr "Bearbeite Kompensation"
#: compensation/forms/forms.py:291
#: compensation/forms/forms.py:290
msgid "Available Surface"
msgstr "Verfügbare Fläche"
#: compensation/forms/forms.py:294
#: compensation/forms/forms.py:293
msgid "The amount that can be used for deductions"
msgstr "Die für Abbuchungen zur Verfügung stehende Menge"
#: compensation/forms/forms.py:303
msgid "Agreement date"
msgstr "Vereinbarungsdatum"
#: compensation/forms/forms.py:304
msgid "When did the parties agree on this?"
msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?"
#: compensation/forms/forms.py:329
#: compensation/forms/forms.py:315
msgid "New Eco-Account"
msgstr "Neues Ökokonto"
#: compensation/forms/forms.py:338
#: compensation/forms/forms.py:324
msgid "Eco-Account XY; Location ABC"
msgstr "Ökokonto XY; Flur ABC"
#: compensation/forms/forms.py:397
#: compensation/forms/forms.py:377
msgid "Edit Eco-Account"
msgstr "Ökokonto bearbeiten"
@ -455,7 +422,7 @@ msgstr "Zahlung wird an diesem Datum erwartet"
#: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:274
#: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:134
#: konova/forms.py:376
#: konova/forms.py:375
msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
@ -495,7 +462,7 @@ msgstr "Geben Sie die Daten des neuen Zustandes ein"
msgid "Added state"
msgstr "Zustand hinzugefügt"
#: compensation/forms/modalForms.py:190 konova/forms.py:196
#: compensation/forms/modalForms.py:190 konova/forms.py:195
msgid "Object removed"
msgstr "Objekt entfernt"
@ -613,14 +580,14 @@ msgstr ""
msgid "Pieces"
msgstr "Stück"
#: compensation/models.py:329
#: compensation/models.py:321
msgid ""
"Deductable surface can not be larger than existing surfaces in after states"
msgstr ""
"Die abbuchbare Fläche darf die Gesamtfläche der Zielzustände nicht "
"überschreiten"
#: compensation/models.py:336
#: compensation/models.py:328
msgid ""
"Deductable surface can not be smaller than the sum of already existing "
"deductions. Please contact the responsible users for the deductions!"
@ -686,6 +653,13 @@ msgstr "Verfügbar"
msgid "Eco Accounts"
msgstr "Ökokonten"
#: compensation/tables.py:224
#: compensation/templates/compensation/detail/eco_account/view.html:19
#: intervention/forms/modalForms.py:258 intervention/forms/modalForms.py:265
#: konova/templates/konova/home.html:88 templates/navbars/navbar.html:34
msgid "Eco-account"
msgstr "Ökokonto"
#: compensation/tables.py:257
msgid "Not recorded yet. Can not be used for deductions, yet."
msgstr ""
@ -771,6 +745,12 @@ msgstr "Termine und Fristen"
msgid "Add new deadline"
msgstr "Frist/Termin hinzufügen"
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:28
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:28
#: ema/templates/ema/detail/includes/deadlines.html:28
msgid "Type"
msgstr "Typ"
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:53
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:51
#: ema/templates/ema/detail/includes/deadlines.html:51
@ -788,7 +768,7 @@ msgstr "Dokumente"
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:14
#: ema/templates/ema/detail/includes/documents.html:14
#: intervention/templates/intervention/detail/includes/documents.html:14
#: konova/forms.py:395
#: konova/forms.py:394
msgid "Add new document"
msgstr "Neues Dokument hinzufügen"
@ -1240,7 +1220,7 @@ msgstr "Datum des Widerspruchs"
msgid "Document"
msgstr "Dokument"
#: intervention/forms/modalForms.py:122 konova/forms.py:364
#: intervention/forms/modalForms.py:122 konova/forms.py:363
msgid "Must be smaller than 15 Mb"
msgstr "Muss kleiner als 15 Mb sein"
@ -1262,7 +1242,7 @@ msgstr "Kompensationen und Zahlungen geprüft"
msgid "Run check"
msgstr "Prüfung vornehmen"
#: intervention/forms/modalForms.py:201 konova/forms.py:449
#: intervention/forms/modalForms.py:201 konova/forms.py:448
msgid ""
"I, {} {}, confirm that all necessary control steps have been performed by "
"myself."
@ -1274,6 +1254,13 @@ msgstr ""
msgid "Only recorded accounts can be selected for deductions"
msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden."
#: intervention/forms/modalForms.py:285 intervention/forms/modalForms.py:292
#: intervention/tables.py:88
#: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/home.html:11 templates/navbars/navbar.html:22
msgid "Intervention"
msgstr "Eingriff"
#: intervention/forms/modalForms.py:287
msgid "Only shared interventions can be selected"
msgstr "Nur freigegebene Eingriffe können gewählt werden"
@ -1487,11 +1474,11 @@ msgstr "Speichern"
msgid "Not editable"
msgstr "Nicht editierbar"
#: konova/forms.py:141 konova/forms.py:312
#: konova/forms.py:141 konova/forms.py:311
msgid "Confirm"
msgstr "Bestätige"
#: konova/forms.py:153 konova/forms.py:321
#: konova/forms.py:153 konova/forms.py:320
msgid "Remove"
msgstr "Löschen"
@ -1499,48 +1486,48 @@ msgstr "Löschen"
msgid "You are about to remove {} {}"
msgstr "Sie sind dabei {} {} zu löschen"
#: konova/forms.py:246 templates/form/collapsable/form.html:45
#: konova/forms.py:245 templates/form/collapsable/form.html:45
msgid "Geometry"
msgstr "Geometrie"
#: konova/forms.py:322
#: konova/forms.py:321
msgid "Are you sure?"
msgstr "Sind Sie sicher?"
#: konova/forms.py:349
#: konova/forms.py:348
msgid "Created on"
msgstr "Erstellt"
#: konova/forms.py:351
#: konova/forms.py:350
msgid "When has this file been created? Important for photos."
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
#: konova/forms.py:362
#: konova/forms.py:361
#: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231
msgid "File"
msgstr "Datei"
#: konova/forms.py:426
#: konova/forms.py:425
msgid "Added document"
msgstr "Dokument hinzugefügt"
#: konova/forms.py:440
#: konova/forms.py:439
msgid "Confirm record"
msgstr "Verzeichnen bestätigen"
#: konova/forms.py:448
#: konova/forms.py:447
msgid "Record data"
msgstr "Daten verzeichnen"
#: konova/forms.py:455
#: konova/forms.py:454
msgid "Confirm unrecord"
msgstr "Entzeichnen bestätigen"
#: konova/forms.py:456
#: konova/forms.py:455
msgid "Unrecord data"
msgstr "Daten entzeichnen"
#: konova/forms.py:457
#: konova/forms.py:456
msgid "I, {} {}, confirm that this data must be unrecorded."
msgstr ""
"Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen."
@ -1790,6 +1777,10 @@ msgstr "Nutzer"
msgid "No geometry added, yet."
msgstr "Keine Geometrie vorhanden"
#: templates/modal/modal_form.html:25
msgid "Continue"
msgstr "Weiter"
#: templates/navbars/navbar.html:4
msgid "Kompensationsverzeichnis Service Portal"
msgstr ""
@ -3115,9 +3106,6 @@ msgstr ""
msgid "A fontawesome icon field"
msgstr ""
#~ msgid "After"
#~ msgstr "Nach"
#~ msgid "Total interventions"
#~ msgstr "Insgesamt"