Compare commits

...

2 Commits

Author SHA1 Message Date
mipel
5f85f49636 Recording data
* adds dynamic icon for recording and unrecording of data
* adds record view to intervention and eco accounts
* adds quality_check() method for Intervention and EcoAccount class which holds logic for data quality checking
* adds UserAction "unrecorded"
2021-08-10 17:19:42 +02:00
mipel
bd2413d63c EcoAccount detail view
* adds record control button
* adds html markup for invalid withdraws (unrecorded account)
* adds constraint to is_valid() method of NewWithdrawForm for checking whether the selected account for a withdraw is recorded or not
* adds/updates translations
2021-08-10 14:15:42 +02:00
17 changed files with 418 additions and 221 deletions

View File

@ -248,6 +248,10 @@ class EcoAccount(AbstractCompensation):
y, y,
) )
def quality_check(self) -> (bool, dict):
# ToDo
pass
class EcoAccountWithdraw(BaseResource): class EcoAccountWithdraw(BaseResource):
""" """

View File

@ -12,6 +12,17 @@
</button> </button>
</a> </a>
{% if has_access %} {% if has_access %}
{% if is_ets_member %}
{% if obj.recorded %}
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Unrecord' %}" data-form-url="{% url 'compensation:acc-record' obj.id %}">
{% fa5_icon 'bookmark' 'far' %}
</button>
{% else %}
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Record' %}" data-form-url="{% url 'compensation:acc-record' obj.id %}">
{% fa5_icon 'bookmark' %}
</button>
{% endif %}
{% endif %}
{% if is_default_member %} {% if is_default_member %}
<a href="{% url 'home' %}" class="mr-2"> <a href="{% url 'home' %}" class="mr-2">
<button class="btn btn-default" title="{% trans 'Edit' %}"> <button class="btn btn-default" title="{% trans 'Edit' %}">

View File

@ -40,9 +40,12 @@
</thead> </thead>
<tbody> <tbody>
{% for withdraw in obj.withdraws.all %} {% for withdraw in obj.withdraws.all %}
<tr> <tr {% if withdraw.account.deleted %}class="align-middle alert-danger" title="{% trans 'Eco-account deleted! Withdraw invalid!' %}" {% elif not withdraw.account.recorded %}class="align-middle alert-danger" title="{% trans 'Eco-account not recorded! Withdraw invalid!' %}" {% endif %}>
<td class="align-middle"> <td class="align-middle">
<a href="{% url 'intervention:open' withdraw.intervention.id %}"> <a href="{% url 'intervention:open' withdraw.intervention.id %}">
{% if withdraw.account.deleted or not withdraw.account.recorded %}
{% fa5_icon 'exclamation-triangle' %}
{% endif %}
{{ withdraw.intervention.identifier }} {{ withdraw.intervention.identifier }}
</a> </a>
</td> </td>

View File

@ -24,6 +24,7 @@ urlaptterns_eco_acc = [
path('acc/new/', eco_account_views.new_view, name='acc-new'), path('acc/new/', eco_account_views.new_view, name='acc-new'),
path('acc/<id>', eco_account_views.open_view, name='acc-open'), path('acc/<id>', eco_account_views.open_view, name='acc-open'),
path('acc/<id>/log', eco_account_views.log_view, name='acc-log'), path('acc/<id>/log', eco_account_views.log_view, name='acc-log'),
path('acc/<id>/record', eco_account_views.record_view, name='acc-record'),
path('acc/<id>/edit', eco_account_views.edit_view, name='acc-edit'), path('acc/<id>/edit', eco_account_views.edit_view, name='acc-edit'),
path('acc/<id>/remove', eco_account_views.remove_view, name='acc-remove'), path('acc/<id>/remove', eco_account_views.remove_view, name='acc-remove'),
path('acc/<id>/state/new', eco_account_views.state_new_view, name='acc-new-state'), path('acc/<id>/state/new', eco_account_views.state_new_view, name='acc-new-state'),

View File

@ -18,8 +18,8 @@ from compensation.models import EcoAccount
from compensation.tables import EcoAccountTable from compensation.tables import EcoAccountTable
from intervention.forms import NewWithdrawForm from intervention.forms import NewWithdrawForm
from konova.contexts import BaseContext from konova.contexts import BaseContext
from konova.decorators import any_group_check, default_group_required from konova.decorators import any_group_check, default_group_required, conservation_office_group_required
from konova.forms import RemoveModalForm, SimpleGeomForm, NewDocumentForm from konova.forms import RemoveModalForm, SimpleGeomForm, NewDocumentForm, RecordForm
from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -188,6 +188,28 @@ def log_view(request: HttpRequest, id: str):
return render(request, template, context) return render(request, template, context)
@login_required
@conservation_office_group_required
def record_view(request: HttpRequest, id:str):
""" Renders a modal form for recording an eco account
Args:
request (HttpRequest): The incoming request
id (str): The account's id
Returns:
"""
acc = get_object_or_404(EcoAccount, id=id)
form = RecordForm(request.POST or None, instance=acc, user=request.user)
msg_succ = _("{} unrecorded") if acc.recorded else _("{} recorded")
msg_succ = msg_succ.format(acc.identifier)
return form.process_request(
request,
msg_succ
)
@login_required @login_required
def state_new_view(request: HttpRequest, id: str): def state_new_view(request: HttpRequest, id: str):
""" Renders a form for adding new states for an eco account """ Renders a form for adding new states for an eco account

View File

@ -408,9 +408,13 @@ class RunCheckForm(BaseModalForm):
def is_valid(self): def is_valid(self):
super_result = super().is_valid() super_result = super().is_valid()
# Perform check # Perform check
result, msgs = self.instance.check_validity() msgs = self.instance.quality_check()
self.errors.update(msgs) for msg in msgs:
return result & super_result self.add_error(
"checked_intervention",
msg
)
return super_result and (len(msgs) == 0)
def save(self): def save(self):
with transaction.atomic(): with transaction.atomic():
@ -439,7 +443,7 @@ class NewWithdrawForm(BaseModalForm):
label=_("Eco-account"), label=_("Eco-account"),
label_suffix="", label_suffix="",
help_text=_("Only recorded accounts can be selected for withdraws"), help_text=_("Only recorded accounts can be selected for withdraws"),
queryset=EcoAccount.objects.filter(deleted=None, recorded__isnull=False), queryset=EcoAccount.objects.filter(deleted=None),
widget=autocomplete.ModelSelect2( widget=autocomplete.ModelSelect2(
url="accounts-autocomplete", url="accounts-autocomplete",
attrs={ attrs={
@ -506,6 +510,14 @@ class NewWithdrawForm(BaseModalForm):
else: else:
acc = self.instance acc = self.instance
if not acc.recorded:
self.add_error(
"account",
_("Eco-account {} is not recorded yet. You can only withdraw from recorded accounts.").format(acc.identifier)
)
return False
# Calculate valid surface
sum_surface = acc.get_surface() sum_surface = acc.get_surface()
sum_surface_withdraws = acc.get_surface_withdraws() sum_surface_withdraws = acc.get_surface_withdraws()
rest_surface = sum_surface - sum_surface_withdraws rest_surface = sum_surface - sum_surface_withdraws

View File

@ -194,39 +194,62 @@ class Intervention(BaseObject):
self.identifier = new_id self.identifier = new_id
super().save(*args, **kwargs) super().save(*args, **kwargs)
def check_validity(self) -> (bool, dict): def quality_check(self) -> list:
""" Validity check """ Quality check
Returns:
ret_msgs (list): True if quality acceptable, False otherwise
"""
ret_msgs = []
self._check_quality_responsible_data(ret_msgs)
self._check_quality_legal_data(ret_msgs)
# ToDo: Extend for more!
return ret_msgs
def _check_quality_responsible_data(self, ret_msgs: list):
""" Checks data quality of related ResponsibilityData
Args:
ret_msgs (dict): Holds error messages
Returns: Returns:
""" """
ret_msgs = {} try:
missing_str = _("Missing") # Check for file numbers
not_missing_str = _("Exists") if not self.responsible.registration_file_number or len(self.responsible.registration_file_number) == 0:
ret_msgs.append(_("Registration office file number missing"))
# Check responsible data if not self.responsible.conservation_file_number or len(self.responsible.conservation_file_number) == 0:
if self.responsible: ret_msgs.append(_("Conversation office file number missing"))
if self.responsible.registration_file_number is None or len(self.responsible.registration_file_number) == 0: except AttributeError:
ret_msgs["Registration office file number"] = missing_str # responsible data not found
if self.responsible.conservation_file_number is None or len(self.responsible.conservation_file_number) == 0: ret_msgs.append(_("Responsible data missing"))
ret_msgs["Conversation office file number"] = missing_str
else:
ret_msgs["responsible"] = missing_str
# Check revocation def _check_quality_legal_data(self, ret_msgs: list):
if self.legal.revocation: """ Checks data quality of related LegalData
ret_msgs["Revocation"] = not_missing_str
Args:
ret_msgs (dict): Holds error messages
Returns:
"""
try:
# Check for a revocation
if self.legal.revocation:
ret_msgs.append(_("Revocation exists"))
if self.legal:
if self.legal.registration_date is None: if self.legal.registration_date is None:
ret_msgs["Registration date"] = missing_str ret_msgs.append(_("Registration date missing"))
if self.legal.binding_date is None:
ret_msgs["Binding on"] = missing_str
else:
ret_msgs["legal"] = missing_str
ret_result = len(ret_msgs) == 0 if self.legal.binding_date is None:
return ret_result, ret_msgs ret_msgs.append(_("Binding on missing"))
except AttributeError:
ret_msgs.append(_("Legal data missing"))
def get_LANIS_link(self) -> str: def get_LANIS_link(self) -> str:
""" Generates a link for LANIS depending on the geometry """ Generates a link for LANIS depending on the geometry
@ -248,4 +271,4 @@ class Intervention(BaseObject):
zoom_lvl, zoom_lvl,
x, x,
y, y,
) )

View File

@ -12,33 +12,37 @@
</button> </button>
</a> </a>
{% if has_access %} {% if has_access %}
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Share' %}" data-form-url="{% url 'intervention:share-create' intervention.id %}"> <button class="btn btn-default btn-modal mr-2" title="{% trans 'Share' %}" data-form-url="{% url 'intervention:share-create' intervention.id %}">
{% fa5_icon 'share-alt' %} {% fa5_icon 'share-alt' %}
</button>
{% if is_zb_member %}
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Run check' %}" data-form-url="{% url 'intervention:run-check' intervention.id %}">
{% fa5_icon 'star' %}
</button>
{% endif %}
{% if is_ets_member %}
<a href="{% url 'home' %}" class="mr-2">
<button class="btn btn-default" title="{% trans 'Record' %}">
{% fa5_icon 'bookmark' %}
</button> </button>
</a> {% if is_zb_member %}
{% endif %} <button class="btn btn-default btn-modal mr-2" title="{% trans 'Run check' %}" data-form-url="{% url 'intervention:run-check' intervention.id %}">
{% if is_default_member %} {% fa5_icon 'star' %}
<a href="{% url 'home' %}" class="mr-2"> </button>
<button class="btn btn-default" title="{% trans 'Edit' %}"> {% endif %}
{% fa5_icon 'edit' %} {% if is_ets_member %}
{% if intervention.recorded %}
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Unrecord' %}" data-form-url="{% url 'intervention:record' intervention.id %}">
{% fa5_icon 'bookmark' 'far' %}
</button>
{% else %}
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Record' %}" data-form-url="{% url 'intervention:record' intervention.id %}">
{% fa5_icon 'bookmark' %}
</button>
{% endif %}
{% endif %}
{% if is_default_member %}
<a href="{% url 'home' %}" class="mr-2">
<button class="btn btn-default" title="{% trans 'Edit' %}">
{% fa5_icon 'edit' %}
</button>
</a>
<button class="btn btn-default btn-modal mr-2" data-form-url="{% url 'intervention:log' intervention.id %}" title="{% trans 'Show log' %}">
{% fa5_icon 'history' %}
</button>
<button class="btn btn-default btn-modal" data-form-url="{% url 'intervention:remove' intervention.id %}" title="{% trans 'Delete' %}">
{% fa5_icon 'trash' %}
</button> </button>
</a>
<button class="btn btn-default btn-modal mr-2" data-form-url="{% url 'intervention:log' intervention.id %}" title="{% trans 'Show log' %}">
{% fa5_icon 'history' %}
</button>
<button class="btn btn-default btn-modal" data-form-url="{% url 'intervention:remove' intervention.id %}" title="{% trans 'Delete' %}">
{% fa5_icon 'trash' %}
</button>
{% endif %} {% endif %}
{% endif %} {% endif %}
</div> </div>

View File

@ -40,10 +40,10 @@
</thead> </thead>
<tbody> <tbody>
{% for withdraw in intervention.withdraws.all %} {% for withdraw in intervention.withdraws.all %}
<tr {% if withdraw.account.deleted %}class="align-middle alert-danger" title="{% trans 'Eco-account deleted! Withdraw invalid!' %}" {% endif %}> <tr {% if withdraw.account.deleted %}class="align-middle alert-danger" title="{% trans 'Eco-account deleted! Withdraw invalid!' %}" {% elif not withdraw.account.recorded %}class="align-middle alert-danger" title="{% trans 'Eco-account not recorded! Withdraw invalid!' %}" {% endif %}>
<td class="align-middle"> <td class="align-middle">
<a href="{% url 'compensation:acc-open' withdraw.account.id %}"> <a href="{% url 'compensation:acc-open' withdraw.account.id %}">
{% if withdraw.account.deleted %} {% if withdraw.account.deleted or not withdraw.account.recorded %}
{% fa5_icon 'exclamation-triangle' %} {% fa5_icon 'exclamation-triangle' %}
{% endif %} {% endif %}
{{ withdraw.account.identifier }} {{ withdraw.account.identifier }}

View File

@ -8,7 +8,8 @@ Created on: 30.11.20
from django.urls import path from django.urls import path
from intervention.views import index_view, new_view, open_view, edit_view, remove_view, new_document_view, share_view, \ from intervention.views import index_view, new_view, open_view, edit_view, remove_view, new_document_view, share_view, \
create_share_view, remove_revocation_view, new_revocation_view, run_check_view, log_view, new_withdraw_view create_share_view, remove_revocation_view, new_revocation_view, run_check_view, log_view, new_withdraw_view, \
record_view
app_name = "intervention" app_name = "intervention"
urlpatterns = [ urlpatterns = [
@ -22,6 +23,7 @@ urlpatterns = [
path('<id>/share/<token>', share_view, name='share'), path('<id>/share/<token>', share_view, name='share'),
path('<id>/share', create_share_view, name='share-create'), path('<id>/share', create_share_view, name='share-create'),
path('<id>/check', run_check_view, name='run-check'), path('<id>/check', run_check_view, name='run-check'),
path('<id>/record', record_view, name='record'),
# Withdraws # Withdraws
path('<id>/withdraw/new', new_withdraw_view, name='acc-new-withdraw'), path('<id>/withdraw/new', new_withdraw_view, name='acc-new-withdraw'),

View File

@ -10,9 +10,9 @@ from intervention.models import Intervention, Revocation
from intervention.tables import InterventionTable from intervention.tables import InterventionTable
from konova.contexts import BaseContext from konova.contexts import BaseContext
from konova.decorators import * from konova.decorators import *
from konova.forms import SimpleGeomForm, NewDocumentForm, RemoveModalForm from konova.forms import SimpleGeomForm, NewDocumentForm, RemoveModalForm, RecordForm
from konova.sub_settings.django_settings import DEFAULT_DATE_FORMAT from konova.sub_settings.django_settings import DEFAULT_DATE_FORMAT
from konova.utils.message_templates import FORM_INVALID from konova.utils.message_templates import FORM_INVALID, INTERVENTION_INVALID
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -304,34 +304,11 @@ def run_check_view(request: HttpRequest, id: str):
""" """
intervention = get_object_or_404(Intervention, id=id) intervention = get_object_or_404(Intervention, id=id)
form = RunCheckForm(request.POST or None, instance=intervention, user=request.user) form = RunCheckForm(request.POST or None, instance=intervention, user=request.user)
if request.method == "POST": return form.process_request(
if form.is_valid(): request,
form.save() msg_success=_("Check performed"),
messages.info( msg_error=INTERVENTION_INVALID
request, )
_("Check performed")
)
else:
messages.error(
request,
_("There has been errors on this intervention:"),
extra_tags="danger"
)
for error_name, error_val in form.errors.items():
messages.error(
request,
_("{}: {}").format(_(error_name), _(error_val)),
extra_tags="danger"
)
return redirect(request.META.get("HTTP_REFERER", "home"))
elif request.method == "GET":
context = {
"form": form,
}
context = BaseContext(request, context).context
return render(request, form.template, context)
else:
raise NotImplementedError
@login_required @login_required
@ -413,3 +390,26 @@ def new_withdraw_view(request: HttpRequest, id: str):
request, request,
msg_success=_("Withdraw added") msg_success=_("Withdraw added")
) )
@login_required
@conservation_office_group_required
def record_view(request: HttpRequest, id: str):
""" Renders a modal form for recording an intervention
Args:
request (HttpRequest): The incoming request
id (str): The intervention's id
Returns:
"""
intervention = get_object_or_404(Intervention, id=id)
form = RecordForm(request.POST or None, instance=intervention, user=request.user)
msg_succ = _("{} unrecorded") if intervention.recorded else _("{} recorded")
msg_succ = msg_succ.format(intervention.identifier)
return form.process_request(
request,
msg_succ,
msg_error=_("There are errors on this intervention:")
)

View File

@ -20,6 +20,8 @@ from django.shortcuts import redirect, render
from django.utils import timezone from django.utils import timezone
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from compensation.models import EcoAccount
from intervention.models import Intervention
from konova.contexts import BaseContext from konova.contexts import BaseContext
from konova.models import Document, BaseObject from konova.models import Document, BaseObject
from konova.utils.message_templates import FORM_INVALID from konova.utils.message_templates import FORM_INVALID
@ -328,3 +330,71 @@ class NewDocumentForm(BaseModalForm):
self.instance.log.add(edited_action) self.instance.log.add(edited_action)
return doc return doc
class RecordForm(BaseModalForm):
""" Modal form for recording data
"""
confirm = forms.BooleanField(
label=_("Confirm record"),
label_suffix="",
widget=forms.CheckboxInput(),
required=True,
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form_title = _("Record data")
self.form_caption = _("I, {} {}, confirm that all necessary control steps have been performed by myself.").format(self.user.first_name, self.user.last_name)
if self.instance.recorded:
# unrecord!
self.fields["confirm"].label = _("Confirm unrecord")
self.form_title = _("Unrecord data")
self.form_caption = _("I, {} {}, confirm that this data must be unrecorded.").format(self.user.first_name, self.user.last_name)
implemented_cls_logic = {
Intervention,
EcoAccount
}
instance_name = self.instance.__class__
if instance_name not in implemented_cls_logic:
raise NotImplementedError
def is_valid(self):
""" Checks for instance's validity and data quality
Returns:
"""
super_val = super().is_valid()
msgs = self.instance.quality_check()
for msg in msgs:
self.add_error(
"confirm",
msg
)
return super_val and (len(msgs) == 0)
def save(self):
with transaction.atomic():
if self.cleaned_data["confirm"]:
if self.instance.recorded:
# unrecord!
unrecord_action = UserActionLogEntry.objects.create(
user=self.user,
action=UserAction.UNRECORDED
)
# Do not delete the old .recorded attribute, since it shall stay in the .log list!
self.instance.recorded = None
self.instance.log.add(unrecord_action)
else:
record_action = UserActionLogEntry.objects.create(
user=self.user,
action=UserAction.RECORDED
)
self.instance.recorded = record_action
self.instance.log.add(record_action)
self.instance.save()
return self.instance

View File

@ -8,7 +8,6 @@ Created on: 15.12.20
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP
from user.enums import UserNotificationEnum
TEST_ORGANISATION_DATA = [ TEST_ORGANISATION_DATA = [
{ {

View File

@ -9,3 +9,4 @@ from django.utils.translation import gettext_lazy as _
FORM_INVALID = _("There was an error on this form.") FORM_INVALID = _("There was an error on this form.")
INTERVENTION_INVALID = _("There are errors in this intervention.")

Binary file not shown.

View File

@ -4,7 +4,7 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#: compensation/filters.py:71 compensation/forms.py:42 compensation/forms.py:47 #: compensation/filters.py:71 compensation/forms.py:42 compensation/forms.py:47
#: compensation/forms.py:60 compensation/forms.py:203 compensation/forms.py:271 #: compensation/forms.py:60 compensation/forms.py:207 compensation/forms.py:275
#: intervention/filters.py:26 intervention/filters.py:40 #: intervention/filters.py:26 intervention/filters.py:40
#: intervention/filters.py:47 intervention/filters.py:48 #: intervention/filters.py:47 intervention/filters.py:48
#: intervention/forms.py:319 intervention/forms.py:331 #: intervention/forms.py:319 intervention/forms.py:331
@ -16,7 +16,7 @@ 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-10 12:35+0200\n" "POT-Creation-Date: 2021-08-10 14:39+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"
@ -30,7 +30,7 @@ msgstr ""
msgid "Show only unrecorded" msgid "Show only unrecorded"
msgstr "Nur unverzeichnete anzeigen" msgstr "Nur unverzeichnete anzeigen"
#: compensation/forms.py:41 compensation/forms.py:260 #: compensation/forms.py:41 compensation/forms.py:264
#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:31 #: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:31
#: intervention/templates/intervention/detail/includes/withdraws.html:31 #: intervention/templates/intervention/detail/includes/withdraws.html:31
msgid "Amount" msgid "Amount"
@ -106,26 +106,26 @@ msgstr "Zustand hinzugefügt"
msgid "Object removed" msgid "Object removed"
msgstr "Objekt entfernt" msgstr "Objekt entfernt"
#: compensation/forms.py:175 #: compensation/forms.py:179
msgid "Deadline Type" msgid "Deadline Type"
msgstr "Fristart" msgstr "Fristart"
#: compensation/forms.py:178 #: compensation/forms.py:182
msgid "Select the deadline type" msgid "Select the deadline type"
msgstr "Fristart wählen" msgstr "Fristart wählen"
#: compensation/forms.py:187 #: compensation/forms.py:191
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:31 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:31
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:31 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:31
#: intervention/forms.py:318 #: intervention/forms.py:318
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
#: compensation/forms.py:190 #: compensation/forms.py:194
msgid "Select date" msgid "Select date"
msgstr "Datum wählen" msgstr "Datum wählen"
#: compensation/forms.py:202 compensation/forms.py:270 #: compensation/forms.py:206 compensation/forms.py:274
#: compensation/templates/compensation/detail/compensation/includes/actions.html:34 #: compensation/templates/compensation/detail/compensation/includes/actions.html:34
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34
#: compensation/templates/compensation/detail/compensation/includes/documents.html:31 #: compensation/templates/compensation/detail/compensation/includes/documents.html:31
@ -139,76 +139,76 @@ msgstr "Datum wählen"
msgid "Comment" msgid "Comment"
msgstr "Kommentar" msgstr "Kommentar"
#: compensation/forms.py:204 compensation/forms.py:272 #: compensation/forms.py:208 compensation/forms.py:276
#: intervention/forms.py:344 konova/forms.py:290 #: intervention/forms.py:344 konova/forms.py:290
msgid "Additional comment, maximum {} letters" msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
#: compensation/forms.py:215 #: compensation/forms.py:219
msgid "New deadline" msgid "New deadline"
msgstr "Neue Frist" msgstr "Neue Frist"
#: compensation/forms.py:216 #: compensation/forms.py:220
msgid "Insert data for the new deadline" msgid "Insert data for the new deadline"
msgstr "Geben Sie die Daten der neuen Frist ein" msgstr "Geben Sie die Daten der neuen Frist ein"
#: compensation/forms.py:233 #: compensation/forms.py:237
msgid "Added deadline" msgid "Added deadline"
msgstr "Frist/Termin hinzugefügt" msgstr "Frist/Termin hinzugefügt"
#: compensation/forms.py:242 #: compensation/forms.py:246
msgid "Action Type" msgid "Action Type"
msgstr "Maßnahmentyp" msgstr "Maßnahmentyp"
#: compensation/forms.py:245 #: compensation/forms.py:249
msgid "Select the action type" msgid "Select the action type"
msgstr "Maßnahmentyp wählen" msgstr "Maßnahmentyp wählen"
#: compensation/forms.py:248 #: compensation/forms.py:252
msgid "Unit" msgid "Unit"
msgstr "Einheit" msgstr "Einheit"
#: compensation/forms.py:251 #: compensation/forms.py:255
msgid "Select the unit" msgid "Select the unit"
msgstr "Einheit wählen" msgstr "Einheit wählen"
#: compensation/forms.py:263 #: compensation/forms.py:267
msgid "Insert the amount" msgid "Insert the amount"
msgstr "Menge eingeben" msgstr "Menge eingeben"
#: compensation/forms.py:283 #: compensation/forms.py:287
msgid "New action" msgid "New action"
msgstr "Neue Maßnahme" msgstr "Neue Maßnahme"
#: compensation/forms.py:284 #: compensation/forms.py:288
msgid "Insert data for the new action" msgid "Insert data for the new action"
msgstr "Geben Sie die Daten der neuen Maßnahme ein" msgstr "Geben Sie die Daten der neuen Maßnahme ein"
#: compensation/forms.py:302 #: compensation/forms.py:306
msgid "Added action" msgid "Added action"
msgstr "Maßnahme hinzugefügt" msgstr "Maßnahme hinzugefügt"
#: compensation/models.py:58 #: compensation/models.py:59
msgid "cm" msgid "cm"
msgstr "" msgstr ""
#: compensation/models.py:59 #: compensation/models.py:60
msgid "m" msgid "m"
msgstr "" msgstr ""
#: compensation/models.py:60 #: compensation/models.py:61
msgid "km" msgid "km"
msgstr "" msgstr ""
#: compensation/models.py:61 #: compensation/models.py:62
msgid "m²" msgid "m²"
msgstr "" msgstr ""
#: compensation/models.py:62 #: compensation/models.py:63
msgid "ha" msgid "ha"
msgstr "" msgstr ""
#: compensation/models.py:63 #: compensation/models.py:64
msgid "Pieces" msgid "Pieces"
msgstr "Stück" msgstr "Stück"
@ -222,26 +222,26 @@ msgstr "Kennung"
#: compensation/templates/compensation/detail/compensation/includes/documents.html:28 #: compensation/templates/compensation/detail/compensation/includes/documents.html:28
#: compensation/templates/compensation/detail/compensation/view.html:24 #: compensation/templates/compensation/detail/compensation/view.html:24
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:28 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:28
#: compensation/templates/compensation/detail/eco_account/view.html:24 #: compensation/templates/compensation/detail/eco_account/view.html:31
#: intervention/forms.py:36 intervention/tables.py:28 #: intervention/forms.py:36 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:24 konova/forms.py:259 #: intervention/templates/intervention/detail/view.html:31 konova/forms.py:259
msgid "Title" msgid "Title"
msgstr "Bezeichnung" msgstr "Bezeichnung"
#: compensation/tables.py:36 #: compensation/tables.py:36
#: compensation/templates/compensation/detail/compensation/view.html:36 #: compensation/templates/compensation/detail/compensation/view.html:36
#: intervention/tables.py:33 #: intervention/tables.py:33
#: intervention/templates/intervention/detail/view.html:56 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:42 compensation/tables.py:181 #: compensation/tables.py:42 compensation/tables.py:181
#: compensation/templates/compensation/detail/compensation/view.html:50 #: compensation/templates/compensation/detail/compensation/view.html:50
#: compensation/templates/compensation/detail/eco_account/view.html:36 #: compensation/templates/compensation/detail/eco_account/view.html:43
#: intervention/tables.py:39 #: intervention/tables.py:39
#: intervention/templates/intervention/detail/view.html:70 user/models.py:49 #: intervention/templates/intervention/detail/view.html:77 user/models.py:49
msgid "Recorded" msgid "Recorded"
msgstr "Verzeichnet" msgstr "Verzeichnet"
@ -281,9 +281,9 @@ msgstr "Am {} von {} geprüft worden"
#: compensation/tables.py:130 #: compensation/tables.py:130
#: compensation/templates/compensation/detail/compensation/view.html:53 #: compensation/templates/compensation/detail/compensation/view.html:53
#: compensation/templates/compensation/detail/eco_account/view.html:39 #: compensation/templates/compensation/detail/eco_account/view.html:46
#: intervention/tables.py:135 #: intervention/tables.py:135
#: intervention/templates/intervention/detail/view.html:73 #: intervention/templates/intervention/detail/view.html:80
msgid "Not recorded yet" msgid "Not recorded yet"
msgstr "Noch nicht verzeichnet" msgstr "Noch nicht verzeichnet"
@ -303,7 +303,7 @@ msgid "Access not granted"
msgstr "Nicht freigegeben - Datensatz nur lesbar" msgstr "Nicht freigegeben - Datensatz nur lesbar"
#: compensation/tables.py:176 #: compensation/tables.py:176
#: compensation/templates/compensation/detail/eco_account/view.html:28 #: compensation/templates/compensation/detail/eco_account/view.html:35
#: konova/templates/konova/custom_widgets/progressbar.html:3 #: konova/templates/konova/custom_widgets/progressbar.html:3
msgid "Available" msgid "Available"
msgstr "Verfügbar" msgstr "Verfügbar"
@ -313,7 +313,7 @@ msgid "Eco Accounts"
msgstr "Ökokonten" msgstr "Ökokonten"
#: compensation/tables.py:224 #: compensation/tables.py:224
#: compensation/templates/compensation/detail/eco_account/view.html:12 #: compensation/templates/compensation/detail/eco_account/view.html:19
#: intervention/forms.py:439 intervention/forms.py:446 #: intervention/forms.py:439 intervention/forms.py:446
#: 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"
@ -384,19 +384,19 @@ msgid "Public report"
msgstr "Öffentlicher Bericht" msgstr "Öffentlicher Bericht"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:17 #: compensation/templates/compensation/detail/compensation/includes/controls.html:17
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:17 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:28
#: intervention/templates/intervention/detail/includes/controls.html:32 #: intervention/templates/intervention/detail/includes/controls.html:32
msgid "Edit" msgid "Edit"
msgstr "Bearbeiten" msgstr "Bearbeiten"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:21 #: compensation/templates/compensation/detail/compensation/includes/controls.html:21
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:21 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:32
#: intervention/templates/intervention/detail/includes/controls.html:36 #: intervention/templates/intervention/detail/includes/controls.html:36
msgid "Show log" msgid "Show log"
msgstr "Log anzeigen" msgstr "Log anzeigen"
#: compensation/templates/compensation/detail/compensation/includes/controls.html:24 #: compensation/templates/compensation/detail/compensation/includes/controls.html:24
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:24 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:35
#: intervention/templates/intervention/detail/includes/controls.html:39 #: intervention/templates/intervention/detail/includes/controls.html:39
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391 #: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
msgid "Delete" msgid "Delete"
@ -491,42 +491,45 @@ msgid "compensates intervention"
msgstr "kompensiert Eingriff" msgstr "kompensiert Eingriff"
#: compensation/templates/compensation/detail/compensation/view.html:43 #: compensation/templates/compensation/detail/compensation/view.html:43
#: intervention/templates/intervention/detail/view.html:63 #: intervention/templates/intervention/detail/view.html:70
msgid "Checked on " msgid "Checked on "
msgstr "Geprüft am " msgstr "Geprüft am "
#: compensation/templates/compensation/detail/compensation/view.html:43 #: compensation/templates/compensation/detail/compensation/view.html:43
#: 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/view.html:50
#: intervention/templates/intervention/detail/view.html:63 #: intervention/templates/intervention/detail/view.html:70
#: intervention/templates/intervention/detail/view.html:77 #: intervention/templates/intervention/detail/view.html:84
msgid "by" msgid "by"
msgstr "von" msgstr "von"
#: 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/view.html:50
#: intervention/templates/intervention/detail/view.html:77 #: 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: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:57
#: intervention/templates/intervention/detail/view.html:96 #: 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:72 #: compensation/templates/compensation/detail/compensation/view.html:72
#: compensation/templates/compensation/detail/eco_account/view.html:58 #: compensation/templates/compensation/detail/eco_account/view.html:65
#: intervention/forms.py:252 #: intervention/forms.py:252
#: intervention/templates/intervention/detail/view.html:104 #: intervention/templates/intervention/detail/view.html:111
msgid "Shared with" msgid "Shared with"
msgstr "Freigegeben für" msgstr "Freigegeben für"
#: compensation/templates/compensation/detail/compensation/view.html:84 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:17
#: compensation/templates/compensation/detail/eco_account/view.html:70 msgid "Unrecord"
#: intervention/templates/intervention/detail/view.html:116 msgstr "Entzeichnen"
msgid "No geometry added, yet."
msgstr "Keine Geometrie vorhanden" #: compensation/templates/compensation/detail/eco_account/includes/controls.html:21
#: intervention/templates/intervention/detail/includes/controls.html:25
msgid "Record"
msgstr "Verzeichnen"
#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:8 #: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:8
#: intervention/templates/intervention/detail/includes/withdraws.html:8 #: intervention/templates/intervention/detail/includes/withdraws.html:8
@ -544,61 +547,79 @@ msgstr "Eingriffskennung"
#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:34 #: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:34
#: intervention/templates/intervention/detail/includes/withdraws.html:34 #: intervention/templates/intervention/detail/includes/withdraws.html:34
#: user/models.py:50 #: user/models.py:51
msgid "Created" msgid "Created"
msgstr "Erstellt" msgstr "Erstellt"
#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:53 #: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:43
#: intervention/templates/intervention/detail/includes/withdraws.html:43
msgid "Eco-account deleted! Withdraw invalid!"
msgstr "Ökokonto gelöscht! Abbuchung ungültig!"
#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:43
#: intervention/templates/intervention/detail/includes/withdraws.html:43
msgid "Eco-account not recorded! Withdraw invalid!"
msgstr "Ökokonto nicht verzeichnet! Abbuchung ungültig!"
#: compensation/templates/compensation/detail/eco_account/includes/withdraws.html:56
#: intervention/templates/intervention/detail/includes/withdraws.html:56 #: intervention/templates/intervention/detail/includes/withdraws.html:56
msgid "Remove Withdraw" msgid "Remove Withdraw"
msgstr "Abbuchung entfernen" msgstr "Abbuchung entfernen"
#: compensation/views/compensation_views.py:121 #: compensation/views/compensation_views.py:122
#: compensation/views/eco_account_views.py:184 intervention/views.py:391 #: compensation/views/eco_account_views.py:185 intervention/views.py:392
msgid "Log" msgid "Log"
msgstr "Log" msgstr "Log"
#: compensation/views/compensation_views.py:142 #: compensation/views/compensation_views.py:143
msgid "Compensation removed" msgid "Compensation removed"
msgstr "Kompensation entfernt" msgstr "Kompensation entfernt"
#: compensation/views/compensation_views.py:161 #: compensation/views/compensation_views.py:162
#: compensation/views/eco_account_views.py:261 intervention/views.py:96 #: compensation/views/eco_account_views.py:275 intervention/views.py:96
msgid "Document added" msgid "Document added"
msgstr "Dokument hinzugefügt" msgstr "Dokument hinzugefügt"
#: compensation/views/compensation_views.py:180 #: compensation/views/compensation_views.py:181
#: compensation/views/eco_account_views.py:205 #: compensation/views/eco_account_views.py:219
msgid "State added" msgid "State added"
msgstr "Zustand hinzugefügt" msgstr "Zustand hinzugefügt"
#: compensation/views/compensation_views.py:199 #: compensation/views/compensation_views.py:200
#: compensation/views/eco_account_views.py:224 #: compensation/views/eco_account_views.py:238
msgid "Action added" msgid "Action added"
msgstr "Maßnahme hinzugefügt" msgstr "Maßnahme hinzugefügt"
#: compensation/views/compensation_views.py:218 #: compensation/views/compensation_views.py:219
#: compensation/views/eco_account_views.py:243 #: compensation/views/eco_account_views.py:257
msgid "Deadline added" msgid "Deadline added"
msgstr "Frist hinzugefügt" msgstr "Frist hinzugefügt"
#: compensation/views/compensation_views.py:237 #: compensation/views/compensation_views.py:238
msgid "State removed" msgid "State removed"
msgstr "Zustand gelöscht" msgstr "Zustand gelöscht"
#: compensation/views/compensation_views.py:256 #: compensation/views/compensation_views.py:257
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:135
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:162
msgid "Withdraw removed" msgid "Withdraw removed"
msgstr "Abbuchung entfernt" msgstr "Abbuchung entfernt"
#: compensation/views/eco_account_views.py:281 intervention/views.py:413 #: compensation/views/eco_account_views.py:196
msgid "{} unrecorded"
msgstr "{} entzeichnet"
#: compensation/views/eco_account_views.py:196
msgid "{} recorded"
msgstr "{} verzeichnet"
#: compensation/views/eco_account_views.py:295 intervention/views.py:414
msgid "Withdraw added" msgid "Withdraw added"
msgstr "Abbuchung hinzugefügt" msgstr "Abbuchung hinzugefügt"
@ -635,7 +656,7 @@ msgid "Which intervention type is this"
msgstr "Welcher Eingriffstyp" msgstr "Welcher Eingriffstyp"
#: intervention/forms.py:47 #: intervention/forms.py:47
#: intervention/templates/intervention/detail/view.html:32 #: intervention/templates/intervention/detail/view.html:39
msgid "Law" msgid "Law"
msgstr "Gesetz" msgstr "Gesetz"
@ -644,7 +665,7 @@ msgid "Based on which law"
msgstr "Basiert auf welchem Recht" msgstr "Basiert auf welchem Recht"
#: intervention/forms.py:53 #: intervention/forms.py:53
#: intervention/templates/intervention/detail/view.html:52 #: intervention/templates/intervention/detail/view.html:59
msgid "Intervention handler" msgid "Intervention handler"
msgstr "Eingriffsverursacher" msgstr "Eingriffsverursacher"
@ -744,7 +765,7 @@ msgstr "Kompensationen und Zahlungen geprüft"
msgid "Run check" msgid "Run check"
msgstr "Prüfung vornehmen" msgstr "Prüfung vornehmen"
#: intervention/forms.py:406 #: intervention/forms.py:406 konova/forms.py:347
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."
@ -758,7 +779,7 @@ msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden."
#: intervention/forms.py:460 intervention/forms.py:467 #: intervention/forms.py:460 intervention/forms.py:467
#: intervention/tables.py:92 intervention/tables.py:172 #: intervention/tables.py:92 intervention/tables.py:172
#: intervention/templates/intervention/detail/view.html:12 #: 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"
@ -775,7 +796,13 @@ msgstr "Neue Abbuchung"
msgid "Enter the information for a new withdraw from a chosen eco-account" msgid "Enter the information for a new withdraw 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:517 #: intervention/forms.py:512
msgid ""
"Eco-account {} is not recorded yet. You can only withdraw from recorded "
"accounts."
msgstr ""
#: intervention/forms.py:525
msgid "" msgid ""
"The account {} has not enough surface for a withdraw of {} m². There are " "The account {} has not enough surface for a withdraw of {} m². There are "
"only {} m² left" "only {} m² left"
@ -783,21 +810,21 @@ 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:203
#: intervention/templates/intervention/detail/view.html:23
#: intervention/templates/intervention/detail/view.html:27
#: intervention/templates/intervention/detail/view.html:31
#: intervention/templates/intervention/detail/view.html:39
#: intervention/templates/intervention/detail/view.html:51
#: intervention/templates/intervention/detail/view.html:83
#: intervention/templates/intervention/detail/view.html:87
#: intervention/templates/intervention/detail/view.html:91
msgid "Missing"
msgstr "Fehlt"
#: intervention/models.py:204 #: intervention/models.py:204
msgid "Exists" #: intervention/templates/intervention/detail/view.html:30
msgstr "Existiert" #: intervention/templates/intervention/detail/view.html:34
#: intervention/templates/intervention/detail/view.html:38
#: intervention/templates/intervention/detail/view.html:46
#: intervention/templates/intervention/detail/view.html:58
#: intervention/templates/intervention/detail/view.html:90
#: intervention/templates/intervention/detail/view.html:94
#: intervention/templates/intervention/detail/view.html:98
msgid "missing"
msgstr "fehlt"
#: intervention/models.py:205
msgid "exists"
msgstr "vorhanden"
#: intervention/tables.py:70 #: intervention/tables.py:70
msgid "Interventions" msgid "Interventions"
@ -819,10 +846,6 @@ msgstr "Neue Kompensation hinzufügen"
msgid "Remove compensation" msgid "Remove compensation"
msgstr "Kompensation entfernen" msgstr "Kompensation entfernen"
#: intervention/templates/intervention/detail/includes/controls.html:25
msgid "Record"
msgstr "Verzeichnen"
#: intervention/templates/intervention/detail/includes/payments.html:8 #: intervention/templates/intervention/detail/includes/payments.html:8
msgid "Payments" msgid "Payments"
msgstr "Ersatzzahlungen" msgstr "Ersatzzahlungen"
@ -845,7 +868,7 @@ msgid "Remove payment"
msgstr "Zahlung entfernen" msgstr "Zahlung entfernen"
#: intervention/templates/intervention/detail/includes/revocation.html:8 #: intervention/templates/intervention/detail/includes/revocation.html:8
#: intervention/templates/intervention/detail/view.html:92 #: intervention/templates/intervention/detail/view.html:99
msgid "Revocation" msgid "Revocation"
msgstr "Widerspruch" msgstr "Widerspruch"
@ -862,35 +885,31 @@ msgstr "Widerspruch entfernen"
msgid "Account Identifier" msgid "Account Identifier"
msgstr "Ökokonto Kennung" msgstr "Ökokonto Kennung"
#: intervention/templates/intervention/detail/includes/withdraws.html:43 #: intervention/templates/intervention/detail/view.html:35
msgid "Eco-account deleted! Withdraw invalid!"
msgstr "Ökokonto gelöscht! Abbuchung ungültig!"
#: intervention/templates/intervention/detail/view.html:28
msgid "Process type" msgid "Process type"
msgstr "Verfahrenstyp" msgstr "Verfahrenstyp"
#: intervention/templates/intervention/detail/view.html:36 #: intervention/templates/intervention/detail/view.html:43
msgid "Registration office" msgid "Registration office"
msgstr "Zulassungsbehörde" msgstr "Zulassungsbehörde"
#: intervention/templates/intervention/detail/view.html:40 #: intervention/templates/intervention/detail/view.html:47
msgid "Registration office file number" msgid "Registration office file number"
msgstr "Aktenzeichen Zulassungsbehörde" msgstr "Aktenzeichen Zulassungsbehörde"
#: intervention/templates/intervention/detail/view.html:44 #: intervention/templates/intervention/detail/view.html:51
msgid "Conservation office" msgid "Conservation office"
msgstr "Naturschutzbehörde" msgstr "Naturschutzbehörde"
#: intervention/templates/intervention/detail/view.html:48 #: 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"
#: intervention/templates/intervention/detail/view.html:84 #: intervention/templates/intervention/detail/view.html:91
msgid "Registration date" msgid "Registration date"
msgstr "Datum Zulassung bzw. Satzungsbeschluss" msgstr "Datum Zulassung bzw. Satzungsbeschluss"
#: intervention/templates/intervention/detail/view.html:88 #: intervention/templates/intervention/detail/view.html:95
msgid "Binding on" msgid "Binding on"
msgstr "Datum Bestandskraft" msgstr "Datum Bestandskraft"
@ -898,7 +917,7 @@ msgstr "Datum Bestandskraft"
msgid "Intervention {} added" msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt" msgstr "Eingriff {} hinzugefügt"
#: intervention/views.py:71 intervention/views.py:171 #: intervention/views.py:71 intervention/views.py:172
msgid "Invalid input" msgid "Invalid input"
msgstr "Eingabe fehlerhaft" msgstr "Eingabe fehlerhaft"
@ -906,7 +925,7 @@ msgstr "Eingabe fehlerhaft"
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:145 #: intervention/views.py:146
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 "
@ -916,47 +935,47 @@ 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:168 #: intervention/views.py:169
msgid "{} edited" msgid "{} edited"
msgstr "{} bearbeitet" msgstr "{} bearbeitet"
#: intervention/views.py:197 #: intervention/views.py:198
msgid "{} removed" msgid "{} removed"
msgstr "{} entfernt" msgstr "{} entfernt"
#: intervention/views.py:218 #: intervention/views.py:219
msgid "Revocation removed" msgid "Revocation removed"
msgstr "Widerspruch entfernt" msgstr "Widerspruch entfernt"
#: intervention/views.py:244 #: intervention/views.py:245
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:249 #: intervention/views.py:250
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:256 #: intervention/views.py:257
msgid "Share link invalid" msgid "Share link invalid"
msgstr "Freigabelink ungültig" msgstr "Freigabelink ungültig"
#: intervention/views.py:280 #: intervention/views.py:281
msgid "Share settings updated" msgid "Share settings updated"
msgstr "Freigabe Einstellungen aktualisiert" msgstr "Freigabe Einstellungen aktualisiert"
#: intervention/views.py:311 #: intervention/views.py:312
msgid "Check performed" msgid "Check performed"
msgstr "Prüfung durchgeführt" msgstr "Prüfung durchgeführt"
#: intervention/views.py:316 #: intervention/views.py:317
msgid "There has been errors on this intervention:" msgid "There has been errors on this intervention:"
msgstr "Es liegen Fehler in diesem Eingriff vor:" msgstr "Es liegen Fehler in diesem Eingriff vor:"
#: intervention/views.py:322 #: intervention/views.py:323
msgid "{}: {}" msgid "{}: {}"
msgstr "" msgstr ""
#: intervention/views.py:354 #: intervention/views.py:355
msgid "Revocation added" msgid "Revocation added"
msgstr "Widerspruch hinzugefügt" msgstr "Widerspruch hinzugefügt"
@ -1018,27 +1037,47 @@ msgstr "Datei"
msgid "Added document" msgid "Added document"
msgstr "Dokument hinzugefügt" msgstr "Dokument hinzugefügt"
#: konova/management/commands/setup_data.py:42 #: konova/forms.py:338
msgid "Confirm record"
msgstr "Verzeichnen bestätigen"
#: konova/forms.py:346
msgid "Record data"
msgstr "Daten verzeichnen"
#: konova/forms.py:351
msgid "Confirm unrecord"
msgstr "Entzeichnen bestätigen"
#: konova/forms.py:352
msgid "Unrecord data"
msgstr "Daten entzeichnen"
#: konova/forms.py:353
msgid "I, {} {}, confirm that this data must be unrecorded."
msgstr "Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen."
#: konova/management/commands/setup_data.py:41
msgid "On new related data" msgid "On new related data"
msgstr "Wenn neue Daten für mich angelegt werden" msgstr "Wenn neue Daten für mich angelegt werden"
#: konova/management/commands/setup_data.py:43 #: konova/management/commands/setup_data.py:42
msgid "On disabled share link" msgid "On disabled share link"
msgstr "Wenn ein Freigabelink deaktiviert wird" msgstr "Wenn ein Freigabelink deaktiviert wird"
#: konova/management/commands/setup_data.py:44 #: konova/management/commands/setup_data.py:43
msgid "On shared access removed" msgid "On shared access removed"
msgstr "Wenn mir eine Freigabe zu Daten entzogen wird" msgstr "Wenn mir eine Freigabe zu Daten entzogen wird"
#: konova/management/commands/setup_data.py:45 #: konova/management/commands/setup_data.py:44
msgid "On shared data recorded" msgid "On shared data recorded"
msgstr "Wenn meine freigegebenen Daten verzeichnet wurden" msgstr "Wenn meine freigegebenen Daten verzeichnet wurden"
#: konova/management/commands/setup_data.py:46 #: konova/management/commands/setup_data.py:45
msgid "On shared data deleted" msgid "On shared data deleted"
msgstr "Wenn meine freigegebenen Daten gelöscht wurden" msgstr "Wenn meine freigegebenen Daten gelöscht wurden"
#: konova/management/commands/setup_data.py:47 #: konova/management/commands/setup_data.py:46
msgid "On registered data edited" msgid "On registered data edited"
msgstr "Wenn meine freigegebenen Daten bearbeitet wurden" msgstr "Wenn meine freigegebenen Daten bearbeitet wurden"
@ -1194,6 +1233,10 @@ msgstr ""
msgid "User" msgid "User"
msgstr "Nutzer" msgstr "Nutzer"
#: templates/map/geom_form.html:9
msgid "No geometry added, yet."
msgstr "Keine Geometrie vorhanden"
#: templates/modal/modal_form.html:25 #: templates/modal/modal_form.html:25
msgid "Continue" msgid "Continue"
msgstr "Weiter" msgstr "Weiter"
@ -1266,11 +1309,15 @@ msgstr ""
msgid "User contact data" msgid "User contact data"
msgstr "Kontaktdaten" msgstr "Kontaktdaten"
#: user/models.py:51 #: user/models.py:50
msgid "Unrecorded"
msgstr "Entzeichnet"
#: user/models.py:52
msgid "Edited" msgid "Edited"
msgstr "Bearbeitet" msgstr "Bearbeitet"
#: user/models.py:52 #: user/models.py:53
msgid "Deleted" msgid "Deleted"
msgstr "Gelöscht" msgstr "Gelöscht"
@ -2542,9 +2589,6 @@ msgstr ""
#~ msgid "Delete eco account" #~ msgid "Delete eco account"
#~ msgstr "Ökokonto löschen" #~ msgstr "Ökokonto löschen"
#~ msgid "Confirm check on data"
#~ msgstr "Datenprüfung bestätigen"
#~ msgid "Add new EMA" #~ msgid "Add new EMA"
#~ msgstr "Neue EMA hinzufügen" #~ msgstr "Neue EMA hinzufügen"

View File

@ -47,6 +47,7 @@ class UserAction(models.TextChoices):
""" """
CHECKED = "checked", _("Checked") CHECKED = "checked", _("Checked")
RECORDED = "recorded", _("Recorded") RECORDED = "recorded", _("Recorded")
UNRECORDED = "unrecorded", _("Unrecorded")
CREATED = "created", _("Created") CREATED = "created", _("Created")
EDITED = "edited", _("Edited") EDITED = "edited", _("Edited")
DELETED = "deleted", _("Deleted") DELETED = "deleted", _("Deleted")