13_EcoAccount_funding #22

Merged
mpeltriaux merged 3 commits from 13_EcoAccount_funding into master 2021-09-20 13:16:16 +02:00
7 changed files with 276 additions and 146 deletions

View File

@ -9,12 +9,14 @@ import shutil
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib.gis.db import models from django.contrib.gis.db import models
from django.core.exceptions import ValidationError
from django.core.validators import MinValueValidator from django.core.validators import MinValueValidator
from django.db.models import Sum, QuerySet from django.db.models import Sum, QuerySet
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from codelist.models import KonovaCode from codelist.models import KonovaCode
from codelist.settings import CODELIST_COMPENSATION_ACTION_ID, CODELIST_BIOTOPES_ID from codelist.settings import CODELIST_COMPENSATION_ACTION_ID, CODELIST_BIOTOPES_ID, \
CODELIST_COMPENSATION_COMBINATION_ID
from intervention.models import Intervention, ResponsibilityData from intervention.models import Intervention, ResponsibilityData
from konova.models import BaseObject, BaseResource, Geometry, UuidModel, AbstractDocument, \ from konova.models import BaseObject, BaseResource, Geometry, UuidModel, AbstractDocument, \
generate_document_file_upload_path generate_document_file_upload_path
@ -137,6 +139,18 @@ class AbstractCompensation(BaseObject):
after_states = models.ManyToManyField(CompensationState, blank=True, related_name='+', help_text="Refers to 'Zielzustand Biotop'") 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'") 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="+") deadlines = models.ManyToManyField("konova.Deadline", blank=True, related_name="+")
geometry = models.ForeignKey(Geometry, null=True, blank=True, on_delete=models.SET_NULL) geometry = models.ForeignKey(Geometry, null=True, blank=True, on_delete=models.SET_NULL)
@ -281,9 +295,30 @@ class EcoAccount(AbstractCompensation):
related_name="+" 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): def __str__(self):
return "{}".format(self.identifier) 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): def save(self, *args, **kwargs):
if self.identifier is None or len(self.identifier) == 0: if self.identifier is None or len(self.identifier) == 0:
# Create new identifier # Create new identifier
@ -293,15 +328,34 @@ class EcoAccount(AbstractCompensation):
self.identifier = new_id self.identifier = new_id
super().save(*args, **kwargs) 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: def get_deductions_surface(self) -> float:
""" Calculates the account's deductions sum surface """ Calculates the account's deductions surface sum
Returns: Returns:
sum_surface (float) sum_surface (float)
""" """
return self.deductions.all().aggregate(Sum("surface"))["surface__sum"] or 0 return self.deductions.all().aggregate(Sum("surface"))["surface__sum"] or 0
def get_available_rest(self, as_percentage: bool = False): 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:
""" Calculates available rest surface of the eco account """ Calculates available rest surface of the eco account
Args: Args:
@ -310,17 +364,16 @@ class EcoAccount(AbstractCompensation):
Returns: Returns:
""" """
ret_val = 0
deductions = self.deductions.filter( deductions = self.deductions.filter(
intervention__deleted=None, intervention__deleted=None,
) )
deductions_surfaces = deductions.aggregate(Sum("surface"))["surface__sum"] or 0 deductions_surfaces = deductions.aggregate(Sum("surface"))["surface__sum"] or 0
after_states_surfaces = self.after_states.all().aggregate(Sum("surface"))["surface__sum"] or deductions_surfaces ## no division by zero available_surfaces = self.deductable_surface or deductions_surfaces ## no division by zero
ret_val = after_states_surfaces - deductions_surfaces ret_val = available_surfaces - deductions_surfaces
if as_percentage: if as_percentage:
if after_states_surfaces > 0: if available_surfaces > 0:
ret_val = int((ret_val / after_states_surfaces) * 100) ret_val = int((ret_val / available_surfaces) * 100)
else: else:
ret_val = 0 ret_val = 0
return ret_val return ret_val

View File

@ -66,6 +66,19 @@
{% endif %} {% endif %}
</td> </td>
</tr> </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> <tr>
<th scope="row">{% trans 'Last modified' %}</th> <th scope="row">{% trans 'Last modified' %}</th>
<td class="align-middle"> <td class="align-middle">

View File

@ -33,6 +33,7 @@
<tr> <tr>
<th scope="row">{% trans 'Available' %}</th> <th scope="row">{% trans 'Available' %}</th>
<td class="align-middle"> <td class="align-middle">
{{obj.deductions_surface_sum|floatformat:2}} / {{obj.deductable_surface|floatformat:2}} m²
{% with available as value %} {% with available as value %}
{% include 'konova/custom_widgets/progressbar.html' %} {% include 'konova/custom_widgets/progressbar.html' %}
{% endwith %} {% endwith %}
@ -64,6 +65,19 @@
<th scope="row">{% trans 'Intervention handler' %}</th> <th scope="row">{% trans 'Intervention handler' %}</th>
<td class="align-middle">{{obj.responsible.handler|default_if_none:""}}</td> <td class="align-middle">{{obj.responsible.handler|default_if_none:""}}</td>
</tr> </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> <tr>
<th scope="row">{% trans 'Last modified' %}</th> <th scope="row">{% trans 'Last modified' %}</th>
<td class="align-middle"> <td class="align-middle">

View File

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

21
konova/utils/general.py Normal file
View File

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