Compare commits

..

No commits in common. "43075088de5f0ec206aafcf75145e611d9396429" and "a828a1bba26c731dcd5d6208a466f8fdf23f9348" have entirely different histories.

7 changed files with 146 additions and 276 deletions

View File

@ -9,14 +9,12 @@ import shutil
from django.contrib.auth.models import User
from django.contrib.gis.db import models
from django.core.exceptions import ValidationError
from django.core.validators import MinValueValidator
from django.db.models import Sum, QuerySet
from django.utils.translation import gettext_lazy as _
from codelist.models import KonovaCode
from codelist.settings import CODELIST_COMPENSATION_ACTION_ID, CODELIST_BIOTOPES_ID, \
CODELIST_COMPENSATION_COMBINATION_ID
from codelist.settings import CODELIST_COMPENSATION_ACTION_ID, CODELIST_BIOTOPES_ID
from intervention.models import Intervention, ResponsibilityData
from konova.models import BaseObject, BaseResource, Geometry, UuidModel, AbstractDocument, \
generate_document_file_upload_path
@ -139,18 +137,6 @@ class AbstractCompensation(BaseObject):
after_states = models.ManyToManyField(CompensationState, blank=True, related_name='+', help_text="Refers to 'Zielzustand Biotop'")
actions = models.ManyToManyField(CompensationAction, blank=True, help_text="Refers to 'Maßnahmen'")
fundings = models.ManyToManyField(
KonovaCode,
null=True,
blank=True,
limit_choices_to={
"code_lists__in": [CODELIST_COMPENSATION_COMBINATION_ID],
"is_selectable": True,
"is_archived": False,
},
help_text="List of funding project codes",
)
deadlines = models.ManyToManyField("konova.Deadline", blank=True, related_name="+")
geometry = models.ForeignKey(Geometry, null=True, blank=True, on_delete=models.SET_NULL)
@ -295,30 +281,9 @@ class EcoAccount(AbstractCompensation):
related_name="+"
)
deductable_surface = models.FloatField(
blank=True,
null=True,
help_text="Amount of deductable surface - can be lower than the total surface due to deduction limitations",
default=0,
)
def __str__(self):
return "{}".format(self.identifier)
def clean(self):
# Deductable surface can not be larger than added states after surface
after_state_sum = self.get_state_after_surface_sum()
if self.deductable_surface > after_state_sum:
raise ValidationError(_("Deductable surface can not be larger than existing surfaces in after states"))
# Deductable surface can not be lower than amount of already deducted surfaces
# User needs to contact deducting user in case of further problems
deducted_sum = self.get_deductions_surface()
if self.deductable_surface < deducted_sum:
raise ValidationError(
_("Deductable surface can not be smaller than the sum of already existing deductions. Please contact the responsible users for the deductions!")
)
def save(self, *args, **kwargs):
if self.identifier is None or len(self.identifier) == 0:
# Create new identifier
@ -328,34 +293,15 @@ class EcoAccount(AbstractCompensation):
self.identifier = new_id
super().save(*args, **kwargs)
@property
def deductions_surface_sum(self) -> float:
""" Shortcut for get_deductions_surface.
Can be used in templates
Returns:
sum_surface (float)
"""
return self.get_deductions_surface()
def get_deductions_surface(self) -> float:
""" Calculates the account's deductions surface sum
""" Calculates the account's deductions sum surface
Returns:
sum_surface (float)
"""
return self.deductions.all().aggregate(Sum("surface"))["surface__sum"] or 0
def get_state_after_surface_sum(self) -> float:
""" Calculates the account's after state surface sum
Returns:
sum_surface (float)
"""
return self.after_states.all().aggregate(Sum("surface"))["surface__sum"] or 0
def get_available_rest(self, as_percentage: bool = False) -> float:
def get_available_rest(self, as_percentage: bool = False):
""" Calculates available rest surface of the eco account
Args:
@ -364,16 +310,17 @@ class EcoAccount(AbstractCompensation):
Returns:
"""
ret_val = 0
deductions = self.deductions.filter(
intervention__deleted=None,
)
deductions_surfaces = deductions.aggregate(Sum("surface"))["surface__sum"] or 0
available_surfaces = self.deductable_surface or deductions_surfaces ## no division by zero
ret_val = available_surfaces - deductions_surfaces
after_states_surfaces = self.after_states.all().aggregate(Sum("surface"))["surface__sum"] or deductions_surfaces ## no division by zero
ret_val = after_states_surfaces - deductions_surfaces
if as_percentage:
if available_surfaces > 0:
ret_val = int((ret_val / available_surfaces) * 100)
if after_states_surfaces > 0:
ret_val = int((ret_val / after_states_surfaces) * 100)
else:
ret_val = 0
return ret_val

View File

@ -66,19 +66,6 @@
{% endif %}
</td>
</tr>
<tr>
<th scope="row">{% trans 'Funded by' %}</th>
<td class="align-middle">
{% for funding in obj.fundings.all %}
<div class="badge badge-pill rlp-r-outline">
{{ funding.short_name}}
</div>
<br>
{% empty %}
None
{% endfor %}
</td>
</tr>
<tr>
<th scope="row">{% trans 'Last modified' %}</th>
<td class="align-middle">

View File

@ -33,7 +33,6 @@
<tr>
<th scope="row">{% trans 'Available' %}</th>
<td class="align-middle">
{{obj.deductions_surface_sum|floatformat:2}} / {{obj.deductable_surface|floatformat:2}} m²
{% with available as value %}
{% include 'konova/custom_widgets/progressbar.html' %}
{% endwith %}
@ -65,19 +64,6 @@
<th scope="row">{% trans 'Intervention handler' %}</th>
<td class="align-middle">{{obj.responsible.handler|default_if_none:""}}</td>
</tr>
<tr>
<th scope="row">{% trans 'Funded by' %}</th>
<td class="align-middle">
{% for funding in obj.fundings.all %}
<div class="badge badge-pill rlp-r-outline">
{{ funding.short_name}}
</div>
<br>
{% empty %}
{% trans 'None' %}
{% endfor %}
</td>
</tr>
<tr>
<th scope="row">{% trans 'Last modified' %}</th>
<td class="align-middle">

View File

@ -18,7 +18,6 @@ from compensation.models import EcoAccountDeduction, EcoAccount
from intervention.models import Intervention, Revocation, RevocationDocument
from konova.forms import BaseForm, BaseModalForm
from konova.settings import DEFAULT_LAT, DEFAULT_LON, DEFAULT_ZOOM, ZB_GROUP, ETS_GROUP
from konova.utils.general import format_german_float
from konova.utils.messenger import Messenger
from konova.utils.user_checks import in_group
from organisation.models import Organisation
@ -546,11 +545,7 @@ class NewDeductionForm(BaseModalForm):
if not is_valid_surface:
self.add_error(
"surface",
_("The account {} has not enough surface for a deduction of {} m². There are only {} m² left").format(
acc.identifier,
format_german_float(form_surface),
format_german_float(rest_surface),
),
_("The account {} has not enough surface for a deduction of {} m². There are only {} m² left").format(acc.identifier, form_surface, rest_surface),
)
return is_valid_surface and super_result

View File

@ -1,21 +0,0 @@
"""
Author: Michel Peltriaux
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 17.09.21
"""
def format_german_float(num) -> str:
""" Writes a float into a string based on german float notation
10000.000 --> "10.000,00"
Args:
num (float): The number
Returns:
num (str): The number as german Gleitkommazahl
"""
return format(num, "0,.2f").replace(",", "X").replace(".", ",").replace("X", ".")

Binary file not shown.

View File

@ -10,13 +10,13 @@
#: intervention/forms.py:322 intervention/forms.py:334
#: intervention/forms.py:347 konova/forms.py:108 konova/forms.py:252
#: konova/forms.py:287 konova/forms.py:292 konova/forms.py:304
#: konova/forms.py:316 konova/forms.py:336 user/forms.py:38
#: konova/forms.py:316 konova/forms.py:329 user/forms.py:38
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-20 12:44+0200\n"
"POT-Creation-Date: 2021-08-26 14:59+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"
@ -56,7 +56,7 @@ msgstr "Zahlung wird an diesem Datum erwartet"
#: intervention/forms.py:346
#: intervention/templates/intervention/detail/includes/documents.html:31
#: intervention/templates/intervention/detail/includes/payments.html:34
#: intervention/templates/intervention/detail/includes/revocation.html:38
#: intervention/templates/intervention/detail/includes/revocation.html:35
#: konova/forms.py:315
msgid "Comment"
msgstr "Kommentar"
@ -97,11 +97,11 @@ msgstr "Biotoptyp wählen"
#: 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.py:479
#: intervention/forms.py:478
msgid "Surface"
msgstr "Fläche"
#: compensation/forms.py:155 intervention/forms.py:481
#: compensation/forms.py:155 intervention/forms.py:480
msgid "in m²"
msgstr ""
@ -169,20 +169,20 @@ msgstr "Maßnahmentyp wählen"
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:39
#: 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
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:34
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:39
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:39
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:37
#: ema/templates/ema/detail/includes/actions.html:37
#: ema/templates/ema/detail/includes/deadlines.html:37
#: ema/templates/ema/detail/includes/documents.html:34
#: ema/templates/ema/detail/includes/states-after.html:39
#: ema/templates/ema/detail/includes/states-before.html:39
#: intervention/templates/intervention/detail/includes/compensations.html:36
#: intervention/templates/intervention/detail/includes/deductions.html:37
#: intervention/templates/intervention/detail/includes/documents.html:34
#: intervention/templates/intervention/detail/includes/payments.html:37
#: intervention/templates/intervention/detail/includes/revocation.html:41
#: intervention/templates/intervention/detail/includes/deductions.html:37
#: templates/log.html:10
msgid "Action"
msgstr "Aktionen"
@ -196,7 +196,7 @@ msgid "Select the unit"
msgstr "Einheit wählen"
#: compensation/forms.py:334
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31
#: intervention/templates/intervention/detail/includes/deductions.html:31
msgid "Amount"
msgstr "Menge"
@ -217,47 +217,32 @@ msgstr "Geben Sie die Daten der neuen Maßnahme ein"
msgid "Added action"
msgstr "Maßnahme hinzugefügt"
#: compensation/models.py:78
#: compensation/models.py:67
msgid "cm"
msgstr ""
#: compensation/models.py:79
#: compensation/models.py:68
msgid "m"
msgstr ""
#: compensation/models.py:80
#: compensation/models.py:69
msgid "km"
msgstr ""
#: compensation/models.py:81
#: compensation/models.py:70
msgid "m²"
msgstr ""
#: compensation/models.py:82
#: compensation/models.py:71
msgid "ha"
msgstr ""
#: compensation/models.py:83
#: compensation/models.py:72
msgid "Pieces"
msgstr "Stück"
#: compensation/models.py:312
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:319
msgid ""
"Deductable surface can not be smaller than the sum of already existing "
"deductions. Please contact the responsible users for the deductions!"
msgstr ""
"Es wurde bereits mehr Fläche abgebucht, als Sie nun als abbuchbar einstellen "
"wollen. Kontaktieren Sie die für die Abbuchungen verantwortlichen Nutzer!"
#: compensation/tables.py:24 compensation/tables.py:164 ema/tables.py:28
#: intervention/forms.py:30 intervention/tables.py:23
#: intervention/forms.py:30 intervention/tables.py:24
#: intervention/templates/intervention/detail/includes/compensations.html:30
msgid "Identifier"
msgstr "Kennung"
@ -269,7 +254,7 @@ msgstr "Kennung"
#: compensation/templates/compensation/detail/eco_account/view.html:31
#: ema/tables.py:33 ema/templates/ema/detail/includes/documents.html:28
#: ema/templates/ema/detail/view.html:24 intervention/forms.py:37
#: intervention/tables.py:28
#: intervention/tables.py:29
#: intervention/templates/intervention/detail/includes/compensations.html:33
#: intervention/templates/intervention/detail/includes/documents.html:28
#: intervention/templates/intervention/detail/view.html:31 konova/forms.py:286
@ -278,28 +263,27 @@ msgstr "Bezeichnung"
#: compensation/tables.py:34
#: compensation/templates/compensation/detail/compensation/view.html:43
#: intervention/tables.py:33
#: intervention/tables.py:34
#: intervention/templates/intervention/detail/view.html:63 user/models.py:48
msgid "Checked"
msgstr "Geprüft"
#: compensation/tables.py:40 compensation/tables.py:179
#: compensation/templates/compensation/detail/compensation/view.html:57
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31
#: compensation/templates/compensation/detail/eco_account/view.html:44
#: compensation/templates/compensation/detail/eco_account/view.html:43
#: ema/tables.py:38 ema/templates/ema/detail/view.html:28
#: intervention/tables.py:39
#: intervention/tables.py:40
#: intervention/templates/intervention/detail/view.html:77 user/models.py:49
msgid "Recorded"
msgstr "Verzeichnet"
#: compensation/tables.py:46 compensation/tables.py:185 ema/tables.py:44
#: intervention/tables.py:51
#: intervention/tables.py:52
msgid "Editable"
msgstr "Freigegeben"
#: compensation/tables.py:52 compensation/tables.py:191 ema/tables.py:50
#: intervention/tables.py:57
#: intervention/tables.py:58
msgid "Last edit"
msgstr "Zuletzt bearbeitet"
@ -309,7 +293,7 @@ msgid "Compensations"
msgstr "Kompensationen"
#: compensation/tables.py:83 compensation/tables.py:222 ema/tables.py:82
#: intervention/tables.py:88
#: intervention/tables.py:89
msgid "Open {}"
msgstr "Öffne {}"
@ -319,35 +303,35 @@ msgstr "Öffne {}"
msgid "Compensation"
msgstr "Kompensation"
#: compensation/tables.py:104 intervention/tables.py:107
#: compensation/tables.py:104 intervention/tables.py:108
msgid "Not checked yet"
msgstr "Noch nicht geprüft"
#: compensation/tables.py:109 intervention/tables.py:112
#: compensation/tables.py:109 intervention/tables.py:113
msgid "Checked on {} by {}"
msgstr "Am {} von {} geprüft worden"
#: compensation/tables.py:128
#: compensation/templates/compensation/detail/compensation/view.html:60
#: compensation/templates/compensation/detail/eco_account/view.html:47
#: compensation/templates/compensation/detail/eco_account/view.html:46
#: ema/tables.py:101 ema/templates/ema/detail/view.html:31
#: intervention/models.py:360 intervention/tables.py:131
#: intervention/tables.py:132
#: intervention/templates/intervention/detail/view.html:80
msgid "Not recorded yet"
msgstr "Noch nicht verzeichnet"
#: compensation/tables.py:133 compensation/tables.py:260 ema/tables.py:106
#: intervention/models.py:365 intervention/tables.py:136
#: intervention/tables.py:137
msgid "Recorded on {} by {}"
msgstr "Am {} von {} verzeichnet worden"
#: compensation/tables.py:156 compensation/tables.py:283 ema/tables.py:129
#: intervention/tables.py:159
#: intervention/tables.py:160
msgid "Full access granted"
msgstr "Für Sie freigegeben - Datensatz kann bearbeitet werden"
#: compensation/tables.py:156 compensation/tables.py:283 ema/tables.py:129
#: intervention/tables.py:159
#: intervention/tables.py:160
msgid "Access not granted"
msgstr "Nicht freigegeben - Datensatz nur lesbar"
@ -363,7 +347,7 @@ msgstr "Ökokonten"
#: compensation/tables.py:222
#: compensation/templates/compensation/detail/eco_account/view.html:19
#: intervention/forms.py:463 intervention/forms.py:470
#: intervention/forms.py:462 intervention/forms.py:469
#: konova/templates/konova/home.html:88 templates/navbar.html:34
msgid "Eco-account"
msgstr "Ökokonto"
@ -476,7 +460,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:335
#: konova/forms.py:328
msgid "Add new document"
msgstr "Neues Dokument hinzufügen"
@ -552,7 +536,7 @@ msgstr "Geprüft am "
#: compensation/templates/compensation/detail/compensation/view.html:50
#: compensation/templates/compensation/detail/compensation/view.html:64
#: compensation/templates/compensation/detail/eco_account/view.html:51
#: compensation/templates/compensation/detail/eco_account/view.html:50
#: ema/templates/ema/detail/view.html:35
#: intervention/templates/intervention/detail/view.html:70
#: intervention/templates/intervention/detail/view.html:84
@ -560,21 +544,21 @@ msgid "by"
msgstr "von"
#: compensation/templates/compensation/detail/compensation/view.html:64
#: compensation/templates/compensation/detail/eco_account/view.html:51
#: compensation/templates/compensation/detail/eco_account/view.html:50
#: ema/templates/ema/detail/view.html:35
#: intervention/templates/intervention/detail/view.html:84
msgid "Recorded on "
msgstr "Verzeichnet am"
#: compensation/templates/compensation/detail/compensation/view.html:71
#: compensation/templates/compensation/detail/eco_account/view.html:83
#: compensation/templates/compensation/detail/eco_account/view.html:69
#: ema/templates/ema/detail/view.html:54
#: intervention/templates/intervention/detail/view.html:103
msgid "Last modified"
msgstr "Zuletzt bearbeitet"
#: compensation/templates/compensation/detail/compensation/view.html:79
#: compensation/templates/compensation/detail/eco_account/view.html:91
#: compensation/templates/compensation/detail/eco_account/view.html:77
#: ema/templates/ema/detail/view.html:69 intervention/forms.py:255
#: intervention/templates/intervention/detail/view.html:111
msgid "Shared with"
@ -606,28 +590,40 @@ msgstr "Neue Abbuchung hinzufügen"
msgid "Intervention Identifier"
msgstr "Eingriffskennung"
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:37
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34
#: intervention/templates/intervention/detail/includes/deductions.html:34
#: user/models.py:51
msgid "Created"
msgstr "Erstellt"
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:63
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:43
#: intervention/templates/intervention/detail/includes/deductions.html:43
msgid "Eco-account deleted! Deduction invalid!"
msgstr "Ökokonto gelöscht! Abbuchung ungültig!"
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:43
#: intervention/templates/intervention/detail/includes/deductions.html:43
msgid "Eco-account not recorded! Deduction invalid!"
msgstr "Ökokonto nicht verzeichnet! Abbuchung ungültig!"
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56
#: intervention/templates/intervention/detail/includes/deductions.html:56
msgid "Remove Deduction"
msgstr "Abbuchung entfernen"
#: compensation/templates/compensation/detail/eco_account/view.html:57
#: compensation/templates/compensation/detail/eco_account/view.html:61
#: compensation/templates/compensation/detail/eco_account/view.html:65
#: ema/templates/ema/detail/view.html:41 ema/templates/ema/detail/view.html:45
#: ema/templates/ema/detail/view.html:49
#: ema/templates/ema/detail/view.html:42
#: intervention/templates/intervention/detail/view.html:51
msgid "Conservation office"
msgstr "Naturschutzbehörde"
#: compensation/templates/compensation/detail/eco_account/view.html:60
#: compensation/templates/compensation/detail/eco_account/view.html:64
#: ema/templates/ema/detail/view.html:45 ema/templates/ema/detail/view.html:49
#: intervention/templates/intervention/detail/view.html:30
#: intervention/templates/intervention/detail/view.html:34
#: intervention/templates/intervention/detail/view.html:38
#: intervention/templates/intervention/detail/view.html:42
#: intervention/templates/intervention/detail/view.html:46
#: intervention/templates/intervention/detail/view.html:50
#: intervention/templates/intervention/detail/view.html:54
#: intervention/templates/intervention/detail/view.html:58
#: intervention/templates/intervention/detail/view.html:90
@ -635,87 +631,76 @@ msgstr "Abbuchung entfernen"
msgid "Missing"
msgstr "Fehlt"
#: compensation/templates/compensation/detail/eco_account/view.html:58
#: ema/templates/ema/detail/view.html:42
#: intervention/templates/intervention/detail/view.html:51
msgid "Conservation office"
msgstr "Naturschutzbehörde"
#: compensation/templates/compensation/detail/eco_account/view.html:62
#: compensation/templates/compensation/detail/eco_account/view.html:61
#: ema/templates/ema/detail/view.html:46
#: intervention/templates/intervention/detail/view.html:55
msgid "Conversation office file number"
msgstr "Aktenzeichen Naturschutzbehörde"
#: compensation/templates/compensation/detail/eco_account/view.html:66
#: compensation/templates/compensation/detail/eco_account/view.html:65
#: ema/templates/ema/detail/view.html:50 intervention/forms.py:54
#: intervention/templates/intervention/detail/view.html:59
msgid "Intervention handler"
msgstr "Eingriffsverursacher"
#: compensation/templates/compensation/detail/eco_account/view.html:70
msgid "Funded by"
msgstr "Gefördert mit"
#: compensation/views/compensation_views.py:123
#: compensation/views/eco_account_views.py:190 ema/views.py:128
#: intervention/views.py:391
#: compensation/views/compensation_views.py:122
#: compensation/views/eco_account_views.py:184 ema/views.py:127
#: intervention/views.py:336
msgid "Log"
msgstr "Log"
#: compensation/views/compensation_views.py:144
#: compensation/views/compensation_views.py:143
msgid "Compensation removed"
msgstr "Kompensation entfernt"
#: compensation/views/compensation_views.py:163
#: compensation/views/eco_account_views.py:289 ema/views.py:250
#: intervention/views.py:94
#: compensation/views/compensation_views.py:162
#: compensation/views/eco_account_views.py:283 ema/views.py:249
#: intervention/views.py:93
msgid "Document added"
msgstr "Dokument hinzugefügt"
#: compensation/views/compensation_views.py:219
#: compensation/views/eco_account_views.py:233 ema/views.py:194
#: compensation/views/compensation_views.py:181
#: compensation/views/eco_account_views.py:227 ema/views.py:193
msgid "State added"
msgstr "Zustand hinzugefügt"
#: compensation/views/compensation_views.py:238
#: compensation/views/eco_account_views.py:252 ema/views.py:213
#: compensation/views/compensation_views.py:200
#: compensation/views/eco_account_views.py:246 ema/views.py:212
msgid "Action added"
msgstr "Maßnahme hinzugefügt"
#: compensation/views/compensation_views.py:257
#: compensation/views/eco_account_views.py:271 ema/views.py:232
#: compensation/views/compensation_views.py:219
#: compensation/views/eco_account_views.py:265 ema/views.py:231
msgid "Deadline added"
msgstr "Frist/Termin hinzugefügt"
#: compensation/views/compensation_views.py:276
#: compensation/views/compensation_views.py:238
msgid "State removed"
msgstr "Zustand gelöscht"
#: compensation/views/compensation_views.py:295
#: compensation/views/compensation_views.py:257
msgid "Action removed"
msgstr "Maßnahme entfernt"
#: compensation/views/eco_account_views.py:140
#: compensation/views/eco_account_views.py:134
msgid "Eco-account removed"
msgstr "Ökokonto entfernt"
#: compensation/views/eco_account_views.py:167
#: compensation/views/eco_account_views.py:161
msgid "Deduction removed"
msgstr "Abbuchung entfernt"
#: compensation/views/eco_account_views.py:210 ema/views.py:171
#: intervention/views.py:431
#: compensation/views/eco_account_views.py:204 ema/views.py:170
#: intervention/views.py:376
msgid "{} unrecorded"
msgstr "{} entzeichnet"
#: compensation/views/eco_account_views.py:210 ema/views.py:171
#: intervention/views.py:431
#: compensation/views/eco_account_views.py:204 ema/views.py:170
#: intervention/views.py:376
msgid "{} recorded"
msgstr "{} verzeichnet"
#: compensation/views/eco_account_views.py:346 intervention/views.py:413
#: compensation/views/eco_account_views.py:303 intervention/views.py:358
msgid "Deduction added"
msgstr "Abbuchung hinzugefügt"
@ -747,7 +732,7 @@ msgstr ""
msgid "Payment funded compensation"
msgstr "Ersatzzahlungsmaßnahme"
#: ema/views.py:154
#: ema/views.py:153
msgid "EMA removed"
msgstr "EMA entfernt"
@ -854,7 +839,7 @@ msgid "Date of revocation"
msgstr "Datum des Widerspruchs"
#: intervention/forms.py:333
#: intervention/templates/intervention/detail/includes/revocation.html:35
#: intervention/templates/intervention/detail/includes/revocation.html:38
msgid "Document"
msgstr "Dokument"
@ -867,20 +852,20 @@ msgstr "Muss kleiner als 15 Mb sein"
msgid "Add revocation"
msgstr "Widerspruch hinzufügen"
#: intervention/forms.py:399
#: intervention/forms.py:400
msgid "Checked intervention data"
msgstr "Eingriffsdaten geprüft"
#: intervention/forms.py:405
#: intervention/forms.py:406
msgid "Checked compensations data and payments"
msgstr "Kompensationen und Zahlungen geprüft"
#: intervention/forms.py:413
#: intervention/forms.py:414
#: intervention/templates/intervention/detail/includes/controls.html:19
msgid "Run check"
msgstr "Prüfung vornehmen"
#: intervention/forms.py:414 konova/forms.py:389
#: intervention/forms.py:415 konova/forms.py:376
msgid ""
"I, {} {}, confirm that all necessary control steps have been performed by "
"myself."
@ -888,30 +873,30 @@ msgstr ""
"Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt "
"wurden:"
#: intervention/forms.py:465
#: intervention/forms.py:464
msgid "Only recorded accounts can be selected for deductions"
msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden."
#: intervention/forms.py:484 intervention/forms.py:491
#: intervention/tables.py:88
#: intervention/forms.py:483 intervention/forms.py:490
#: intervention/tables.py:89
#: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/home.html:11 templates/navbar.html:22
msgid "Intervention"
msgstr "Eingriff"
#: intervention/forms.py:486
#: intervention/forms.py:485
msgid "Only shared interventions can be selected"
msgstr "Nur freigegebene Eingriffe können gewählt werden"
#: intervention/forms.py:499
#: intervention/forms.py:498
msgid "New Deduction"
msgstr "Neue Abbuchung"
#: intervention/forms.py:500
#: intervention/forms.py:499
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.py:536
#: intervention/forms.py:535
msgid ""
"Eco-account {} is not recorded yet. You can only deduct from recorded "
"accounts."
@ -919,7 +904,7 @@ msgstr ""
"Ökokonto {} ist noch nicht verzeichnet. Abbuchungen können nur von "
"verzeichneten Ökokonten erfolgen."
#: intervention/forms.py:549
#: intervention/forms.py:548
msgid ""
"The account {} has not enough surface for a deduction of {} m². There are "
"only {} m² left"
@ -927,50 +912,49 @@ msgstr ""
"Das Ökokonto {} hat für eine Abbuchung von {} m² nicht ausreichend "
"Restfläche. Es stehen noch {} m² zur Verfügung."
#: intervention/models.py:306
#: intervention/models.py:200
msgid "Registration office file number missing"
msgstr "Aktenzeichen Zulassungsbehörde fehlt"
#: intervention/models.py:309
#: intervention/models.py:203
msgid "Conversation office file number missing"
msgstr "Aktenzeichen Naturschutzbehörde fehlt"
#: intervention/models.py:312
#: intervention/models.py:206
msgid "Responsible data missing"
msgstr "Daten zu Verantwortlichen fehlen"
#: intervention/models.py:326
#: intervention/models.py:220
msgid "Revocation exists"
msgstr "Widerspruch liegt vor"
#: intervention/models.py:329
#: intervention/models.py:223
msgid "Registration date missing"
msgstr "Datum Zulassung bzw. Satzungsbeschluss fehlt"
#: intervention/models.py:332
#: intervention/models.py:226
msgid "Binding on missing"
msgstr "Datum Bestandskraft fehlt"
#: intervention/models.py:334
#: intervention/models.py:228
msgid "Legal data missing"
msgstr "Rechtliche Daten fehlen"
#: intervention/tables.py:45
#: intervention/tables.py:46
#: intervention/templates/intervention/detail/includes/revocation.html:8
#: intervention/templates/intervention/detail/includes/revocation.html:55
#: intervention/templates/intervention/detail/view.html:99
msgid "Revocation"
msgstr "Widerspruch"
#: intervention/tables.py:66
#: intervention/tables.py:67
msgid "Interventions"
msgstr "Eingriffe"
#: intervention/tables.py:176
#: intervention/tables.py:177
msgid "No revocation"
msgstr "Kein Widerspruch"
#: intervention/tables.py:182
#: intervention/tables.py:183
msgid "Revocation from {}, added on {} by {}"
msgstr "Widerspruch vom {}, am {} von {} hinzugefügt"
@ -982,18 +966,6 @@ msgstr "Neue Kompensation hinzufügen"
msgid "Remove compensation"
msgstr "Kompensation entfernen"
#: intervention/templates/intervention/detail/includes/deductions.html:28
msgid "Account Identifier"
msgstr "Ökokonto Kennung"
#: intervention/templates/intervention/detail/includes/deductions.html:43
msgid "Eco-account deleted! Deduction invalid!"
msgstr "Ökokonto gelöscht! Abbuchung ungültig!"
#: intervention/templates/intervention/detail/includes/deductions.html:43
msgid "Eco-account not recorded! Deduction invalid!"
msgstr "Ökokonto nicht verzeichnet! Abbuchung ungültig!"
#: intervention/templates/intervention/detail/includes/payments.html:8
msgid "Payments"
msgstr "Ersatzzahlungen"
@ -1020,6 +992,10 @@ msgstr "Vom"
msgid "Remove revocation"
msgstr "Widerspruch entfernen"
#: intervention/templates/intervention/detail/includes/deductions.html:28
msgid "Account Identifier"
msgstr "Ökokonto Kennung"
#: intervention/templates/intervention/detail/view.html:35
msgid "Process type"
msgstr "Verfahrenstyp"
@ -1044,19 +1020,19 @@ msgstr "Datum Bestandskraft"
msgid "Exists"
msgstr "vorhanden"
#: intervention/views.py:66
#: intervention/views.py:65
msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt"
#: intervention/views.py:69 intervention/views.py:224
#: intervention/views.py:68 intervention/views.py:169
msgid "Invalid input"
msgstr "Eingabe fehlerhaft"
#: intervention/views.py:182
#: intervention/views.py:127
msgid "This intervention has a revocation from {}"
msgstr "Es existiert ein Widerspruch vom {}"
#: intervention/views.py:198
#: intervention/views.py:143
msgid ""
"Remember: This data has not been shared with you, yet. This means you can "
"only read but can not edit or perform any actions like running a check or "
@ -1066,43 +1042,43 @@ msgstr ""
"bedeutet, dass Sie nur lesenden Zugriff hierauf haben und weder bearbeiten, "
"noch Prüfungen durchführen oder verzeichnen können."
#: intervention/views.py:221
#: intervention/views.py:166
msgid "{} edited"
msgstr "{} bearbeitet"
#: intervention/views.py:250
#: intervention/views.py:195
msgid "{} removed"
msgstr "{} entfernt"
#: intervention/views.py:271
#: intervention/views.py:216
msgid "Revocation removed"
msgstr "Widerspruch entfernt"
#: intervention/views.py:297
#: intervention/views.py:242
msgid "{} has already been shared with you"
msgstr "{} wurde bereits für Sie freigegeben"
#: intervention/views.py:302
#: intervention/views.py:247
msgid "{} has been shared with you"
msgstr "{} ist nun für Sie freigegeben"
#: intervention/views.py:309
#: intervention/views.py:254
msgid "Share link invalid"
msgstr "Freigabelink ungültig"
#: intervention/views.py:330
#: intervention/views.py:275
msgid "Share settings updated"
msgstr "Freigabe Einstellungen aktualisiert"
#: intervention/views.py:349
#: intervention/views.py:294
msgid "Check performed"
msgstr "Prüfung durchgeführt"
#: intervention/views.py:369
#: intervention/views.py:314
msgid "Revocation added"
msgstr "Widerspruch hinzugefügt"
#: intervention/views.py:436
#: intervention/views.py:381
msgid "There are errors on this intervention:"
msgstr "Es liegen Fehler in diesem Eingriff vor:"
@ -1160,27 +1136,27 @@ msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
msgid "File"
msgstr "Datei"
#: konova/forms.py:366
#: konova/forms.py:353
msgid "Added document"
msgstr "Dokument hinzugefügt"
#: konova/forms.py:380
#: konova/forms.py:367
msgid "Confirm record"
msgstr "Verzeichnen bestätigen"
#: konova/forms.py:388
#: konova/forms.py:375
msgid "Record data"
msgstr "Daten verzeichnen"
#: konova/forms.py:395
#: konova/forms.py:380
msgid "Confirm unrecord"
msgstr "Entzeichnen bestätigen"
#: konova/forms.py:396
#: konova/forms.py:381
msgid "Unrecord data"
msgstr "Daten entzeichnen"
#: konova/forms.py:397
#: konova/forms.py:382
msgid "I, {} {}, confirm that this data must be unrecorded."
msgstr ""
"Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen."
@ -1209,19 +1185,19 @@ msgstr "Wenn meine freigegebenen Daten gelöscht wurden"
msgid "On registered data edited"
msgstr "Wenn meine freigegebenen Daten bearbeitet wurden"
#: konova/models.py:190
#: konova/models.py:189
msgid "Finished"
msgstr "Umgesetzt bis"
#: konova/models.py:191
#: konova/models.py:190
msgid "Maintain"
msgstr "Unterhaltung bis"
#: konova/models.py:192
#: konova/models.py:191
msgid "Control"
msgstr "Kontrolle am"
#: konova/models.py:193
#: konova/models.py:192
msgid "Other"
msgstr "Sonstige"
@ -1257,10 +1233,6 @@ msgstr "Anzeigen"
msgid "Deduct"
msgstr "Abbuchen"
#: konova/utils/documents.py:52
msgid "Document '{}' deleted"
msgstr "Dokument '{}' gelöscht"
#: konova/utils/message_templates.py:11
msgid "There was an error on this form."
msgstr "Es gab einen Fehler im Formular."
@ -1281,7 +1253,11 @@ msgstr "<a href=\"{}\">Schauen Sie rein</a>"
msgid "{} has been checked successfully by user {}! {}"
msgstr "{} wurde erfolgreich vom Nutzer {} geprüft! {}"
#: konova/views.py:115
#: konova/views.py:138
msgid "Document '{}' deleted"
msgstr "Dokument '{}' gelöscht"
#: konova/views.py:157
msgid "Deadline removed"
msgstr "Frist gelöscht"