86_User_suggestions_and_feedback #106

Merged
mpeltriaux merged 12 commits from 86_User_suggestions_and_feedback into master 2022-02-04 14:47:24 +01:00
17 changed files with 289 additions and 266 deletions
Showing only changes of commit b17b0b5144 - Show all commits

View File

@ -21,7 +21,7 @@ from konova.contexts import BaseContext
from konova.forms import BaseModalForm, NewDocumentForm from konova.forms import BaseModalForm, NewDocumentForm
from konova.models import DeadlineType from konova.models import DeadlineType
from konova.utils.message_templates import FORM_INVALID, ADDED_COMPENSATION_STATE, ADDED_DEADLINE, \ from konova.utils.message_templates import FORM_INVALID, ADDED_COMPENSATION_STATE, ADDED_DEADLINE, \
ADDED_COMPENSATION_ACTION ADDED_COMPENSATION_ACTION, PAYMENT_ADDED
class NewPaymentForm(BaseModalForm): class NewPaymentForm(BaseModalForm):
@ -100,7 +100,7 @@ class NewPaymentForm(BaseModalForm):
def save(self): def save(self):
pay = self.instance.add_payment(self) pay = self.instance.add_payment(self)
self.instance.mark_as_edited(self.user, self.request) self.instance.mark_as_edited(self.user, self.request, edit_comment=PAYMENT_ADDED)
return pay return pay

View File

@ -326,7 +326,7 @@ class Compensation(AbstractCompensation, CEFMixin, CoherenceMixin):
Returns: Returns:
""" """
self.intervention.mark_as_edited(user, request, edit_comment, reset_recorded) return self.intervention.mark_as_edited(user, request, edit_comment, reset_recorded)
def is_ready_for_publish(self) -> bool: def is_ready_for_publish(self) -> bool:
""" Not inherited by RecordableObjectMixin """ Not inherited by RecordableObjectMixin

View File

@ -9,10 +9,10 @@ import shutil
from django.urls import reverse from django.urls import reverse
from user.models import User from konova.utils.message_templates import DEDUCTION_REMOVED
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.core.validators import MinValueValidator from django.core.validators import MinValueValidator
from django.db import models, transaction from django.db import models
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 _
@ -22,7 +22,6 @@ from compensation.utils.quality import EcoAccountQualityChecker
from konova.models import ShareableObjectMixin, RecordableObjectMixin, AbstractDocument, BaseResource, \ from konova.models import ShareableObjectMixin, RecordableObjectMixin, AbstractDocument, BaseResource, \
generate_document_file_upload_path generate_document_file_upload_path
from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE
from user.models import UserActionLogEntry
class EcoAccount(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin): class EcoAccount(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin):
@ -167,34 +166,6 @@ class EcoAccount(AbstractCompensation, ShareableObjectMixin, RecordableObjectMix
) )
return docs return docs
def add_deduction(self, form):
""" Adds a new deduction to the intervention
Args:
form (NewDeductionModalForm): The form holding the data
Returns:
"""
form_data = form.cleaned_data
user = form.user
with transaction.atomic():
# Create log entry
user_action_create = UserActionLogEntry.get_created_action(user)
user_action_edit = UserActionLogEntry.get_edited_action(user)
self.log.add(user_action_edit)
self.modified = user_action_edit
self.save()
deduction = EcoAccountDeduction.objects.create(
intervention=form_data["intervention"],
account=self,
surface=form_data["surface"],
created=user_action_create,
)
return deduction
def is_ready_for_publish(self) -> bool: def is_ready_for_publish(self) -> bool:
""" Checks whether the data passes all constraints for being publishable """ Checks whether the data passes all constraints for being publishable
@ -295,3 +266,9 @@ class EcoAccountDeduction(BaseResource):
def __str__(self): def __str__(self):
return "{} of {}".format(self.surface, self.account) return "{} of {}".format(self.surface, self.account)
def delete(self, user=None, *args, **kwargs):
if user is not None:
self.intervention.mark_as_edited(user, edit_comment=DEDUCTION_REMOVED)
self.account.mark_as_edited(user, edit_comment=DEDUCTION_REMOVED, reset_recorded=False)
super().delete(*args, **kwargs)

View File

@ -10,6 +10,8 @@ from django.db import models
from intervention.models import Intervention from intervention.models import Intervention
from konova.models import BaseResource from konova.models import BaseResource
from konova.utils.message_templates import PAYMENT_REMOVED
from user.models import UserActionLogEntry
class Payment(BaseResource): class Payment(BaseResource):
@ -35,3 +37,8 @@ class Payment(BaseResource):
ordering = [ ordering = [
"-amount", "-amount",
] ]
def delete(self, user=None, *args, **kwargs):
if user is not None:
self.intervention.mark_as_edited(user, edit_comment=PAYMENT_REMOVED)
super().delete(*args, **kwargs)

View File

@ -30,7 +30,7 @@ from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER
from konova.utils.documents import get_document, remove_document from konova.utils.documents import get_document, remove_document
from konova.utils.generators import generate_qr_code from konova.utils.generators import generate_qr_code
from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID, DATA_UNSHARED, DATA_UNSHARED_EXPLANATION, \ from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID, DATA_UNSHARED, DATA_UNSHARED_EXPLANATION, \
CANCEL_ACC_RECORDED_OR_DEDUCTED CANCEL_ACC_RECORDED_OR_DEDUCTED, DEDUCTION_REMOVED, DEDUCTION_ADDED
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -288,7 +288,7 @@ def deduction_remove_view(request: HttpRequest, id: str, deduction_id: str):
form = RemoveModalForm(request.POST or None, instance=eco_deduction, request=request) form = RemoveModalForm(request.POST or None, instance=eco_deduction, request=request)
return form.process_request( return form.process_request(
request=request, request=request,
msg_success=_("Deduction removed"), msg_success=DEDUCTION_REMOVED,
redirect_url=reverse("compensation:acc:detail", args=(id,)) + "#related_data" redirect_url=reverse("compensation:acc:detail", args=(id,)) + "#related_data"
) )
@ -564,7 +564,7 @@ def new_deduction_view(request: HttpRequest, id: str):
form = NewDeductionModalForm(request.POST or None, instance=acc, request=request) form = NewDeductionModalForm(request.POST or None, instance=acc, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=_("Deduction added"), msg_success=DEDUCTION_ADDED,
redirect_url=reverse("compensation:acc:detail", args=(id,)) + "#related_data" redirect_url=reverse("compensation:acc:detail", args=(id,)) + "#related_data"
) )

View File

@ -16,6 +16,7 @@ from compensation.models import Payment
from intervention.models import Intervention from intervention.models import Intervention
from konova.decorators import default_group_required from konova.decorators import default_group_required
from konova.forms import RemoveModalForm from konova.forms import RemoveModalForm
from konova.utils.message_templates import PAYMENT_ADDED, PAYMENT_REMOVED
@login_required @login_required
@ -34,7 +35,7 @@ def new_payment_view(request: HttpRequest, intervention_id: str):
form = NewPaymentForm(request.POST or None, instance=intervention, request=request) form = NewPaymentForm(request.POST or None, instance=intervention, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=_("Payment added"), msg_success=PAYMENT_ADDED,
redirect_url=reverse("intervention:detail", args=(intervention_id,)) + "#related_data" redirect_url=reverse("intervention:detail", args=(intervention_id,)) + "#related_data"
) )
@ -55,7 +56,7 @@ def payment_remove_view(request: HttpRequest, id: str):
form = RemoveModalForm(request.POST or None, instance=payment, request=request) form = RemoveModalForm(request.POST or None, instance=payment, request=request)
return form.process_request( return form.process_request(
request=request, request=request,
msg_success=_("Payment removed"), msg_success=PAYMENT_REMOVED,
redirect_url=reverse("intervention:detail", args=(payment.intervention_id,)) + "#related_data" redirect_url=reverse("intervention:detail", args=(payment.intervention_id,)) + "#related_data"
) )

View File

@ -7,6 +7,8 @@ Created on: 02.12.20
""" """
from dal import autocomplete from dal import autocomplete
from django import forms from django import forms
from konova.utils.message_templates import EDITED_GENERAL_DATA
from user.models import User from user.models import User
from django.db import transaction from django.db import transaction
from django.urls import reverse, reverse_lazy from django.urls import reverse, reverse_lazy
@ -333,7 +335,7 @@ class EditInterventionForm(NewInterventionForm):
self.instance.responsible.conservation_file_number = conservation_file_number self.instance.responsible.conservation_file_number = conservation_file_number
self.instance.responsible.save() self.instance.responsible.save()
user_action = UserActionLogEntry.get_edited_action(user) user_action = self.instance.mark_as_edited(user, edit_comment=EDITED_GENERAL_DATA)
geometry = geom_form.save(user_action) geometry = geom_form.save(user_action)
self.instance.geometry = geometry self.instance.geometry = geometry
@ -347,8 +349,5 @@ class EditInterventionForm(NewInterventionForm):
self.instance.modified = user_action self.instance.modified = user_action
self.instance.save() self.instance.save()
# Uncheck and unrecord intervention due to changed data
self.instance.mark_as_edited(user)
return self.instance return self.instance

View File

@ -6,13 +6,14 @@ Created on: 27.09.21
""" """
from dal import autocomplete from dal import autocomplete
from user.models import User
from konova.utils.message_templates import DEDUCTION_ADDED
from user.models import User, UserActionLogEntry
from django.db import transaction from django.db import transaction
from django import forms from django import forms
from django.urls import reverse
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from compensation.models import EcoAccount from compensation.models import EcoAccount, EcoAccountDeduction
from intervention.inputs import TextToClipboardInput from intervention.inputs import TextToClipboardInput
from intervention.models import Intervention, InterventionDocument from intervention.models import Intervention, InterventionDocument
from konova.forms import BaseModalForm, NewDocumentForm from konova.forms import BaseModalForm, NewDocumentForm
@ -366,9 +367,26 @@ class NewDeductionModalForm(BaseModalForm):
) )
return is_valid_surface and super_result return is_valid_surface and super_result
def __create_deduction(self):
""" Creates the deduction
Returns:
"""
with transaction.atomic():
user_action_create = UserActionLogEntry.get_created_action(self.user)
deduction = EcoAccountDeduction.objects.create(
intervention=self.cleaned_data["intervention"],
account=self.cleaned_data["account"],
surface=self.cleaned_data["surface"],
created=user_action_create,
)
return deduction
def save(self): def save(self):
deduction = self.instance.add_deduction(self) deduction = self.__create_deduction()
self.instance.mark_as_edited(self.user, self.request, reset_recorded=False) self.cleaned_data["intervention"].mark_as_edited(self.user, edit_comment=DEDUCTION_ADDED)
self.cleaned_data["account"].mark_as_edited(self.user, edit_comment=DEDUCTION_ADDED, reset_recorded=False)
return deduction return deduction

View File

@ -26,7 +26,7 @@ from konova.models import generate_document_file_upload_path, AbstractDocument,
ShareableObjectMixin, \ ShareableObjectMixin, \
RecordableObjectMixin, CheckableObjectMixin, GeoReferencedMixin RecordableObjectMixin, CheckableObjectMixin, GeoReferencedMixin
from konova.settings import LANIS_LINK_TEMPLATE, LANIS_ZOOM_LUT, DEFAULT_SRID_RLP from konova.settings import LANIS_LINK_TEMPLATE, LANIS_ZOOM_LUT, DEFAULT_SRID_RLP
from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION, DEDUCTION_ADDED
from user.models import UserActionLogEntry from user.models import UserActionLogEntry
@ -229,28 +229,6 @@ class Intervention(BaseObject, ShareableObjectMixin, RecordableObjectMixin, Chec
) )
return revocation return revocation
def add_deduction(self, form):
""" Adds a new deduction to the intervention
Args:
form (NewDeductionModalForm): The form holding the data
Returns:
"""
form_data = form.cleaned_data
user = form.user
with transaction.atomic():
user_action_create = UserActionLogEntry.get_created_action(user)
deduction = EcoAccountDeduction.objects.create(
intervention=self,
account=form_data["account"],
surface=form_data["surface"],
created=user_action_create,
)
return deduction
def mark_as_edited(self, performing_user: User, request: HttpRequest = None, edit_comment: str = None, reset_recorded: bool = True): def mark_as_edited(self, performing_user: User, request: HttpRequest = None, edit_comment: str = None, reset_recorded: bool = True):
""" In case the object or a related object changed, internal processes need to be started, such as """ In case the object or a related object changed, internal processes need to be started, such as
unrecord and uncheck unrecord and uncheck
@ -264,9 +242,10 @@ class Intervention(BaseObject, ShareableObjectMixin, RecordableObjectMixin, Chec
Returns: Returns:
""" """
super().mark_as_edited(performing_user, request, edit_comment, reset_recorded) action = super().mark_as_edited(performing_user, request, edit_comment, reset_recorded)
if self.checked: if self.checked:
self.set_unchecked() self.set_unchecked()
return action
def set_status_messages(self, request: HttpRequest): def set_status_messages(self, request: HttpRequest):
""" Setter for different information that need to be rendered """ Setter for different information that need to be rendered

View File

@ -57,7 +57,7 @@
<td class="align-middle">{{ deduction.created.timestamp|default_if_none:""|naturalday}}</td> <td class="align-middle">{{ deduction.created.timestamp|default_if_none:""|naturalday}}</td>
<td> <td>
{% if is_default_member and has_access %} {% if is_default_member and has_access %}
<button data-form-url="{% url 'compensation:acc:remove-deduction' deduction.account.id deduction.id %}" class="btn btn-default btn-modal float-right" title="{% trans 'Remove Deduction' %}"> <button data-form-url="{% url 'intervention:remove-deduction' obj.id deduction.id %}" class="btn btn-default btn-modal float-right" title="{% trans 'Remove Deduction' %}">
{% fa5_icon 'trash' %} {% fa5_icon 'trash' %}
</button> </button>
{% endif %} {% endif %}

View File

@ -9,7 +9,8 @@ from django.urls import path
from intervention.views import index_view, new_view, detail_view, edit_view, remove_view, new_document_view, share_view, \ from intervention.views import index_view, new_view, detail_view, edit_view, remove_view, new_document_view, share_view, \
create_share_view, remove_revocation_view, new_revocation_view, check_view, log_view, new_deduction_view, \ create_share_view, remove_revocation_view, new_revocation_view, check_view, log_view, new_deduction_view, \
record_view, remove_document_view, get_document_view, get_revocation_view, new_id_view, report_view record_view, remove_document_view, get_document_view, get_revocation_view, new_id_view, report_view, \
remove_deduction_view
app_name = "intervention" app_name = "intervention"
urlpatterns = [ urlpatterns = [
@ -33,6 +34,7 @@ urlpatterns = [
# Deductions # Deductions
path('<id>/deduction/new', new_deduction_view, name='new-deduction'), path('<id>/deduction/new', new_deduction_view, name='new-deduction'),
path('<id>/remove/<deduction_id>', remove_deduction_view, name='remove-deduction'),
# Revocation routes # Revocation routes
path('<id>/revocation/new', new_revocation_view, name='new-revocation'), path('<id>/revocation/new', new_revocation_view, name='new-revocation'),

View File

@ -1,6 +1,7 @@
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.core.exceptions import ObjectDoesNotExist
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.http import HttpRequest, JsonResponse from django.http import HttpRequest, JsonResponse, Http404
from django.shortcuts import render from django.shortcuts import render
from intervention.forms.forms import NewInterventionForm, EditInterventionForm from intervention.forms.forms import NewInterventionForm, EditInterventionForm
@ -15,7 +16,7 @@ from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER
from konova.utils.documents import remove_document, get_document from konova.utils.documents import remove_document, get_document
from konova.utils.generators import generate_qr_code from konova.utils.generators import generate_qr_code
from konova.utils.message_templates import INTERVENTION_INVALID, FORM_INVALID, IDENTIFIER_REPLACED, \ from konova.utils.message_templates import INTERVENTION_INVALID, FORM_INVALID, IDENTIFIER_REPLACED, \
CHECKED_RECORDED_RESET CHECKED_RECORDED_RESET, DEDUCTION_REMOVED, DEDUCTION_ADDED
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -506,11 +507,39 @@ def new_deduction_view(request: HttpRequest, id: str):
form = NewDeductionModalForm(request.POST or None, instance=intervention, request=request) form = NewDeductionModalForm(request.POST or None, instance=intervention, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=_("Deduction added"), msg_success=DEDUCTION_ADDED,
redirect_url=reverse("intervention:detail", args=(id,)) + "#related_data", redirect_url=reverse("intervention:detail", args=(id,)) + "#related_data",
) )
@login_required
@default_group_required
@shared_access_required(Intervention, "id")
def remove_deduction_view(request: HttpRequest, id: str, deduction_id: str):
""" Renders a modal view for removing deductions
Args:
request (HttpRequest): The incoming request
id (str): The intervention's id
deduction_id (str): The deduction's id
Returns:
"""
intervention = get_object_or_404(Intervention, id=id)
try:
eco_deduction = intervention.deductions.get(id=deduction_id)
except ObjectDoesNotExist:
raise Http404("Unknown deduction")
form = RemoveModalForm(request.POST or None, instance=eco_deduction, request=request)
return form.process_request(
request=request,
msg_success=DEDUCTION_REMOVED,
redirect_url=reverse("intervention:detail", args=(id,)) + "#related_data"
)
@login_required @login_required
@conservation_office_group_required @conservation_office_group_required
@shared_access_required(Intervention, "id") @shared_access_required(Intervention, "id")

View File

@ -327,7 +327,7 @@ class RemoveModalForm(BaseModalForm):
self.instance.mark_as_deleted(self.user) self.instance.mark_as_deleted(self.user)
else: else:
# If the class does not provide restorable delete functionality, we must delete the entry finally # If the class does not provide restorable delete functionality, we must delete the entry finally
self.instance.delete() self.instance.delete(self.user)
class NewDocumentForm(BaseModalForm): class NewDocumentForm(BaseModalForm):

View File

@ -275,9 +275,9 @@ class RecordableObjectMixin(models.Model):
Returns: Returns:
""" """
action = UserActionLogEntry.get_edited_action(performing_user, edit_comment) edit_action = UserActionLogEntry.get_edited_action(performing_user, edit_comment)
self.modified = action self.modified = edit_action
self.log.add(action) self.log.add(edit_action)
self.save() self.save()
if self.recorded and reset_recorded: if self.recorded and reset_recorded:
@ -288,6 +288,7 @@ class RecordableObjectMixin(models.Model):
request, request,
CHECKED_RECORDED_RESET CHECKED_RECORDED_RESET
) )
return edit_action
@abstractmethod @abstractmethod
def is_ready_for_publish(self) -> bool: def is_ready_for_publish(self) -> bool:

View File

@ -21,6 +21,14 @@ CHECKED_RECORDED_RESET = _("Status of Checked and Recorded reseted")
# ECO ACCOUNT # ECO ACCOUNT
CANCEL_ACC_RECORDED_OR_DEDUCTED = _("Action canceled. Eco account is recorded or deductions exist. Only conservation office member can perform this action.") CANCEL_ACC_RECORDED_OR_DEDUCTED = _("Action canceled. Eco account is recorded or deductions exist. Only conservation office member can perform this action.")
# DEDUCTIONS
DEDUCTION_ADDED = _("Deduction added")
DEDUCTION_REMOVED = _("Deduction removed")
# PAYMENTS
PAYMENT_ADDED = _("Payment added")
PAYMENT_REMOVED = _("Payment removed")
# Edited # Edited
EDITED_GENERAL_DATA = _("Edited general data") EDITED_GENERAL_DATA = _("Edited general data")
ADDED_COMPENSATION_STATE = _("Added compensation state") ADDED_COMPENSATION_STATE = _("Added compensation state")

Binary file not shown.

View File

@ -5,10 +5,10 @@
# #
#: compensation/filters.py:122 compensation/forms/modalForms.py:35 #: compensation/filters.py:122 compensation/forms/modalForms.py:35
#: compensation/forms/modalForms.py:46 compensation/forms/modalForms.py:62 #: compensation/forms/modalForms.py:46 compensation/forms/modalForms.py:62
#: compensation/forms/modalForms.py:256 compensation/forms/modalForms.py:351 #: compensation/forms/modalForms.py:256 compensation/forms/modalForms.py:350
#: intervention/forms/forms.py:52 intervention/forms/forms.py:154 #: intervention/forms/forms.py:52 intervention/forms/forms.py:154
#: intervention/forms/forms.py:166 intervention/forms/modalForms.py:125 #: intervention/forms/forms.py:166 intervention/forms/modalForms.py:123
#: intervention/forms/modalForms.py:138 intervention/forms/modalForms.py:151 #: intervention/forms/modalForms.py:136 intervention/forms/modalForms.py:149
#: konova/filters/mixins.py:53 konova/filters/mixins.py:54 #: konova/filters/mixins.py:53 konova/filters/mixins.py:54
#: konova/filters/mixins.py:81 konova/filters/mixins.py:82 #: konova/filters/mixins.py:81 konova/filters/mixins.py:82
#: konova/filters/mixins.py:94 konova/filters/mixins.py:95 #: konova/filters/mixins.py:94 konova/filters/mixins.py:95
@ -26,7 +26,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: 2022-01-31 12:41+0100\n" "POT-Creation-Date: 2022-02-02 14:35+0100\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"
@ -140,7 +140,7 @@ msgstr "Zuständigkeitsbereich"
#: compensation/templates/compensation/detail/compensation/view.html:63 #: compensation/templates/compensation/detail/compensation/view.html:63
#: intervention/tables.py:33 #: intervention/tables.py:33
#: intervention/templates/intervention/detail/view.html:68 #: intervention/templates/intervention/detail/view.html:68
#: user/models/user_action.py:18 #: user/models/user_action.py:20
msgid "Checked" msgid "Checked"
msgstr "Geprüft" msgstr "Geprüft"
@ -159,7 +159,7 @@ msgstr "Geprüft"
#: ema/tables.py:38 ema/templates/ema/detail/view.html:35 #: ema/tables.py:38 ema/templates/ema/detail/view.html:35
#: intervention/tables.py:39 #: intervention/tables.py:39
#: intervention/templates/intervention/detail/view.html:82 #: intervention/templates/intervention/detail/view.html:82
#: user/models/user_action.py:19 #: user/models/user_action.py:21
msgid "Recorded" msgid "Recorded"
msgstr "Verzeichnet" msgstr "Verzeichnet"
@ -214,13 +214,13 @@ msgstr "Abbuchungen"
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:9 #: analysis/templates/analysis/reports/includes/eco_account/deductions.html:9
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:11 #: analysis/templates/analysis/reports/includes/eco_account/deductions.html:11
#: compensation/forms/modalForms.py:151 #: compensation/forms/modalForms.py:151
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:39 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:36
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:39 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:36
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:39 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:36
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:39 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:36
#: ema/templates/ema/detail/includes/states-after.html:39 #: ema/templates/ema/detail/includes/states-after.html:36
#: ema/templates/ema/detail/includes/states-before.html:39 #: ema/templates/ema/detail/includes/states-before.html:36
#: intervention/forms/modalForms.py:295 #: intervention/forms/modalForms.py:293
msgid "Surface" msgid "Surface"
msgstr "Fläche" msgstr "Fläche"
@ -284,7 +284,7 @@ msgid "Type"
msgstr "Typ" msgstr "Typ"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:24 #: analysis/templates/analysis/reports/includes/old_data/amount.html:24
#: intervention/forms/modalForms.py:306 intervention/forms/modalForms.py:313 #: intervention/forms/modalForms.py:304 intervention/forms/modalForms.py:311
#: intervention/tables.py:89 #: intervention/tables.py:89
#: intervention/templates/intervention/detail/view.html:19 #: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/includes/quickstart/interventions.html:4 #: konova/templates/konova/includes/quickstart/interventions.html:4
@ -295,7 +295,7 @@ msgstr "Eingriff"
#: analysis/templates/analysis/reports/includes/old_data/amount.html:34 #: analysis/templates/analysis/reports/includes/old_data/amount.html:34
#: compensation/tables.py:226 #: compensation/tables.py:226
#: compensation/templates/compensation/detail/eco_account/view.html:19 #: compensation/templates/compensation/detail/eco_account/view.html:19
#: intervention/forms/modalForms.py:279 intervention/forms/modalForms.py:286 #: intervention/forms/modalForms.py:277 intervention/forms/modalForms.py:284
#: konova/templates/konova/includes/quickstart/ecoaccounts.html:4 #: konova/templates/konova/includes/quickstart/ecoaccounts.html:4
#: templates/navbars/navbar.html:34 #: templates/navbars/navbar.html:34
msgid "Eco-account" msgid "Eco-account"
@ -354,8 +354,8 @@ msgid "Compensation XY; Location ABC"
msgstr "Kompensation XY; Flur ABC" msgstr "Kompensation XY; Flur ABC"
#: compensation/forms/forms.py:57 compensation/forms/modalForms.py:61 #: compensation/forms/forms.py:57 compensation/forms/modalForms.py:61
#: compensation/forms/modalForms.py:255 compensation/forms/modalForms.py:350 #: compensation/forms/modalForms.py:255 compensation/forms/modalForms.py:349
#: compensation/templates/compensation/detail/compensation/includes/actions.html:37 #: compensation/templates/compensation/detail/compensation/includes/actions.html:35
#: 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
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:34 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:34
@ -364,7 +364,7 @@ msgstr "Kompensation XY; Flur ABC"
#: ema/templates/ema/detail/includes/actions.html:34 #: ema/templates/ema/detail/includes/actions.html:34
#: ema/templates/ema/detail/includes/deadlines.html:34 #: ema/templates/ema/detail/includes/deadlines.html:34
#: ema/templates/ema/detail/includes/documents.html:31 #: ema/templates/ema/detail/includes/documents.html:31
#: intervention/forms/forms.py:178 intervention/forms/modalForms.py:150 #: intervention/forms/forms.py:178 intervention/forms/modalForms.py:148
#: 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:38 #: intervention/templates/intervention/detail/includes/revocation.html:38
@ -372,7 +372,8 @@ msgstr "Kompensation XY; Flur ABC"
msgid "Comment" msgid "Comment"
msgstr "Kommentar" msgstr "Kommentar"
#: compensation/forms/forms.py:59 intervention/forms/forms.py:180 #: compensation/forms/forms.py:59 compensation/forms/modalForms.py:351
#: intervention/forms/forms.py:180
msgid "Additional comment" msgid "Additional comment"
msgstr "Zusätzlicher Kommentar" msgstr "Zusätzlicher Kommentar"
@ -431,7 +432,7 @@ msgstr "kompensiert Eingriff"
msgid "Select the intervention for which this compensation compensates" msgid "Select the intervention for which this compensation compensates"
msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist" msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist"
#: compensation/forms/forms.py:184 compensation/views/compensation.py:91 #: compensation/forms/forms.py:184 compensation/views/compensation.py:92
msgid "New compensation" msgid "New compensation"
msgstr "Neue Kompensation" msgstr "Neue Kompensation"
@ -457,7 +458,7 @@ msgstr "Vereinbarungsdatum"
msgid "When did the parties agree on this?" msgid "When did the parties agree on this?"
msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?" msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?"
#: compensation/forms/forms.py:340 compensation/views/eco_account.py:101 #: compensation/forms/forms.py:340 compensation/views/eco_account.py:102
msgid "New Eco-Account" msgid "New Eco-Account"
msgstr "Neues Ökokonto" msgstr "Neues Ökokonto"
@ -483,8 +484,7 @@ msgid "Due on which date"
msgstr "Zahlung wird an diesem Datum erwartet" msgstr "Zahlung wird an diesem Datum erwartet"
#: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:257 #: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:257
#: compensation/forms/modalForms.py:352 intervention/forms/modalForms.py:152 #: intervention/forms/modalForms.py:150 konova/forms.py:375
#: konova/forms.py:375
msgid "Additional comment, maximum {} letters" msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
@ -505,12 +505,6 @@ msgid "Select the biotope type"
msgstr "Biotoptyp wählen" msgstr "Biotoptyp wählen"
#: compensation/forms/modalForms.py:132 compensation/forms/modalForms.py:144 #: compensation/forms/modalForms.py:132 compensation/forms/modalForms.py:144
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:36
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:36
#: compensation/templates/compensation/detail/eco_account/includes/states-after.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-before.html:36
msgid "Biotope additional type" msgid "Biotope additional type"
msgstr "Zusatzbezeichnung" msgstr "Zusatzbezeichnung"
@ -518,7 +512,7 @@ msgstr "Zusatzbezeichnung"
msgid "Select an additional biotope type" msgid "Select an additional biotope type"
msgstr "Zusatzbezeichnung wählen" msgstr "Zusatzbezeichnung wählen"
#: compensation/forms/modalForms.py:154 intervention/forms/modalForms.py:297 #: compensation/forms/modalForms.py:154 intervention/forms/modalForms.py:295
msgid "in m²" msgid "in m²"
msgstr "" msgstr ""
@ -546,7 +540,7 @@ msgstr "Fristart wählen"
#: 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
#: ema/templates/ema/detail/includes/deadlines.html:31 #: ema/templates/ema/detail/includes/deadlines.html:31
#: intervention/forms/modalForms.py:124 #: intervention/forms/modalForms.py:122
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
@ -571,27 +565,27 @@ msgid "Select the action type"
msgstr "Maßnahmentyp wählen" msgstr "Maßnahmentyp wählen"
#: compensation/forms/modalForms.py:300 #: compensation/forms/modalForms.py:300
#: compensation/templates/compensation/detail/compensation/includes/actions.html:41 #: compensation/templates/compensation/detail/compensation/includes/actions.html:40
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:38 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:39
#: compensation/templates/compensation/detail/compensation/includes/documents.html:35 #: compensation/templates/compensation/detail/compensation/includes/documents.html:36
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:43 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:41
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:43 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:41
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:38 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:39
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:37 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:38
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:40 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:41
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:34 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:35
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:43 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:41
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:43 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:41
#: ema/templates/ema/detail/includes/actions.html:37 #: ema/templates/ema/detail/includes/actions.html:38
#: ema/templates/ema/detail/includes/deadlines.html:37 #: ema/templates/ema/detail/includes/deadlines.html:38
#: ema/templates/ema/detail/includes/documents.html:34 #: ema/templates/ema/detail/includes/documents.html:35
#: ema/templates/ema/detail/includes/states-after.html:42 #: ema/templates/ema/detail/includes/states-after.html:40
#: ema/templates/ema/detail/includes/states-before.html:42 #: ema/templates/ema/detail/includes/states-before.html:40
#: intervention/templates/intervention/detail/includes/compensations.html:37 #: intervention/templates/intervention/detail/includes/compensations.html:38
#: intervention/templates/intervention/detail/includes/deductions.html:38 #: intervention/templates/intervention/detail/includes/deductions.html:39
#: intervention/templates/intervention/detail/includes/documents.html:35 #: intervention/templates/intervention/detail/includes/documents.html:36
#: intervention/templates/intervention/detail/includes/payments.html:38 #: intervention/templates/intervention/detail/includes/payments.html:39
#: intervention/templates/intervention/detail/includes/revocation.html:42 #: intervention/templates/intervention/detail/includes/revocation.html:43
#: templates/log.html:10 #: templates/log.html:10
msgid "Action" msgid "Action"
msgstr "Aktionen" msgstr "Aktionen"
@ -616,11 +610,11 @@ msgstr "Einheit wählen"
msgid "Insert the amount" msgid "Insert the amount"
msgstr "Menge eingeben" msgstr "Menge eingeben"
#: compensation/forms/modalForms.py:363 #: compensation/forms/modalForms.py:362
msgid "New action" msgid "New action"
msgstr "Neue Maßnahme" msgstr "Neue Maßnahme"
#: compensation/forms/modalForms.py:364 #: compensation/forms/modalForms.py:363
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"
@ -652,14 +646,14 @@ msgstr "Stück"
msgid "Added deadline" msgid "Added deadline"
msgstr "Frist/Termin hinzugefügt" msgstr "Frist/Termin hinzugefügt"
#: compensation/models/eco_account.py:55 #: compensation/models/eco_account.py:57
msgid "" msgid ""
"Deductable surface can not be larger than existing surfaces in after states" "Deductable surface can not be larger than existing surfaces in after states"
msgstr "" msgstr ""
"Die abbuchbare Fläche darf die Gesamtfläche der Zielzustände nicht " "Die abbuchbare Fläche darf die Gesamtfläche der Zielzustände nicht "
"überschreiten" "überschreiten"
#: compensation/models/eco_account.py:62 #: compensation/models/eco_account.py:64
msgid "" msgid ""
"Deductable surface can not be smaller than the sum of already existing " "Deductable surface can not be smaller than the sum of already existing "
"deductions. Please contact the responsible users for the deductions!" "deductions. Please contact the responsible users for the deductions!"
@ -692,7 +686,7 @@ msgstr "Am {} von {} geprüft worden"
#: compensation/tables.py:130 #: compensation/tables.py:130
#: compensation/templates/compensation/detail/compensation/view.html:80 #: compensation/templates/compensation/detail/compensation/view.html:80
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:58
#: compensation/templates/compensation/detail/eco_account/view.html:47 #: compensation/templates/compensation/detail/eco_account/view.html:47
#: ema/tables.py:102 ema/templates/ema/detail/view.html:38 #: ema/tables.py:102 ema/templates/ema/detail/view.html:38
#: intervention/tables.py:132 #: intervention/tables.py:132
@ -730,39 +724,35 @@ msgid "Not recorded yet. Can not be used for deductions, yet."
msgstr "" msgstr ""
"Noch nicht verzeichnet. Kann noch nicht für Abbuchungen genutzt werden." "Noch nicht verzeichnet. Kann noch nicht für Abbuchungen genutzt werden."
#: compensation/templates/compensation/detail/compensation/includes/actions.html:8 #: compensation/templates/compensation/detail/compensation/includes/actions.html:9
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:8 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:8
#: ema/templates/ema/detail/includes/actions.html:8 #: ema/templates/ema/detail/includes/actions.html:8
msgctxt "Compensation" msgctxt "Compensation"
msgid "Actions" msgid "Actions"
msgstr "Maßnahmen" msgstr "Maßnahmen"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:14 #: compensation/templates/compensation/detail/compensation/includes/actions.html:15
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:14 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:14
#: ema/templates/ema/detail/includes/actions.html:14 #: ema/templates/ema/detail/includes/actions.html:14
msgid "Add new action" msgid "Add new action"
msgstr "Neue Maßnahme hinzufügen" msgstr "Neue Maßnahme hinzufügen"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:28 #: compensation/templates/compensation/detail/compensation/includes/actions.html:29
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:28 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:28
#: ema/templates/ema/detail/includes/actions.html:28 #: ema/templates/ema/detail/includes/actions.html:28
msgid "Action type" msgid "Action type"
msgstr "Maßnahmentyp" msgstr "Maßnahmentyp"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:31 #: compensation/templates/compensation/detail/compensation/includes/actions.html:32
msgid "Action type details"
msgstr "Zusatzmerkmale"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:34
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:31 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:31
#: ema/templates/ema/detail/includes/actions.html:31 #: ema/templates/ema/detail/includes/actions.html:31
msgctxt "Compensation" msgctxt "Compensation"
msgid "Amount" msgid "Amount"
msgstr "Menge" msgstr "Menge"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:61 #: compensation/templates/compensation/detail/compensation/includes/actions.html:66
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:53 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:65
#: ema/templates/ema/detail/includes/actions.html:51 #: ema/templates/ema/detail/includes/actions.html:63
msgid "Remove action" msgid "Remove action"
msgstr "Maßnahme entfernen" msgstr "Maßnahme entfernen"
@ -814,9 +804,9 @@ msgstr "Termine und Fristen"
msgid "Add new deadline" msgid "Add new deadline"
msgstr "Frist/Termin hinzufügen" msgstr "Frist/Termin hinzufügen"
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:53 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:59
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:51 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:57
#: ema/templates/ema/detail/includes/deadlines.html:51 #: ema/templates/ema/detail/includes/deadlines.html:57
msgid "Remove deadline" msgid "Remove deadline"
msgstr "Frist löschen" msgstr "Frist löschen"
@ -835,10 +825,10 @@ msgstr "Dokumente"
msgid "Add new document" msgid "Add new document"
msgstr "Neues Dokument hinzufügen" msgstr "Neues Dokument hinzufügen"
#: compensation/templates/compensation/detail/compensation/includes/documents.html:51 #: compensation/templates/compensation/detail/compensation/includes/documents.html:57
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:49 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:55
#: ema/templates/ema/detail/includes/documents.html:49 #: ema/templates/ema/detail/includes/documents.html:55
#: intervention/templates/intervention/detail/includes/documents.html:51 #: intervention/templates/intervention/detail/includes/documents.html:57
msgid "Remove document" msgid "Remove document"
msgstr "Dokument löschen" msgstr "Dokument löschen"
@ -855,9 +845,9 @@ msgstr "Zielzustand"
msgid "Add new state after" msgid "Add new state after"
msgstr "Neuen Zielzustand hinzufügen" msgstr "Neuen Zielzustand hinzufügen"
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:26 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:25
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:26 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:25
#: ema/templates/ema/detail/includes/states-after.html:26 #: ema/templates/ema/detail/includes/states-after.html:25
msgid "Missing surfaces according to states before: " msgid "Missing surfaces according to states before: "
msgstr "Fehlende Flächenmengen laut Ausgangszustand: " msgstr "Fehlende Flächenmengen laut Ausgangszustand: "
@ -870,12 +860,12 @@ msgstr "Fehlende Flächenmengen laut Ausgangszustand: "
msgid "Biotope type" msgid "Biotope type"
msgstr "Biotoptyp" msgstr "Biotoptyp"
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:64 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:62
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:64 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:62
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:64 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:62
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:64 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:62
#: ema/templates/ema/detail/includes/states-after.html:62 #: ema/templates/ema/detail/includes/states-after.html:60
#: ema/templates/ema/detail/includes/states-before.html:62 #: ema/templates/ema/detail/includes/states-before.html:60
msgid "Remove state" msgid "Remove state"
msgstr "Zustand entfernen" msgstr "Zustand entfernen"
@ -892,9 +882,9 @@ msgstr "Ausgangszustand"
msgid "Add new state before" msgid "Add new state before"
msgstr "Neuen Ausgangszustand hinzufügen" msgstr "Neuen Ausgangszustand hinzufügen"
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:26 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:25
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:26 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:25
#: ema/templates/ema/detail/includes/states-before.html:26 #: ema/templates/ema/detail/includes/states-before.html:25
msgid "Missing surfaces according to states after: " msgid "Missing surfaces according to states after: "
msgstr "Fehlende Flächenmengen laut Zielzustand: " msgstr "Fehlende Flächenmengen laut Zielzustand: "
@ -925,7 +915,7 @@ msgstr "Geprüft am "
#: compensation/templates/compensation/detail/compensation/view.html:70 #: compensation/templates/compensation/detail/compensation/view.html:70
#: compensation/templates/compensation/detail/compensation/view.html:84 #: compensation/templates/compensation/detail/compensation/view.html:84
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:54 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56
#: compensation/templates/compensation/detail/eco_account/view.html:51 #: compensation/templates/compensation/detail/eco_account/view.html:51
#: ema/templates/ema/detail/view.html:42 #: ema/templates/ema/detail/view.html:42
#: intervention/templates/intervention/detail/view.html:75 #: intervention/templates/intervention/detail/view.html:75
@ -993,16 +983,16 @@ msgstr "Eingriffskennung"
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:37 #: 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/user_action.py:21 #: user/models/user_action.py:23
msgid "Created" msgid "Created"
msgstr "Erstellt" msgstr "Erstellt"
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:54 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56
msgid "Recorded on" msgid "Recorded on"
msgstr "Verzeichnet am" msgstr "Verzeichnet am"
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:63 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:65
#: intervention/templates/intervention/detail/includes/deductions.html:58 #: intervention/templates/intervention/detail/includes/deductions.html:60
msgid "Remove Deduction" msgid "Remove Deduction"
msgstr "Abbuchung entfernen" msgstr "Abbuchung entfernen"
@ -1086,130 +1076,135 @@ msgstr ""
msgid "Responsible data" msgid "Responsible data"
msgstr "Daten zu den verantwortlichen Stellen" msgstr "Daten zu den verantwortlichen Stellen"
#: compensation/views/compensation.py:47 #: compensation/views/compensation.py:48
msgid "Compensations - Overview" msgid "Compensations - Overview"
msgstr "Kompensationen - Übersicht" msgstr "Kompensationen - Übersicht"
#: compensation/views/compensation.py:81 #: compensation/views/compensation.py:82
msgid "Compensation {} added" msgid "Compensation {} added"
msgstr "Kompensation {} hinzugefügt" msgstr "Kompensation {} hinzugefügt"
#: compensation/views/compensation.py:146 #: compensation/views/compensation.py:147
msgid "Compensation {} edited" msgid "Compensation {} edited"
msgstr "Kompensation {} bearbeitet" msgstr "Kompensation {} bearbeitet"
#: compensation/views/compensation.py:156 compensation/views/eco_account.py:159 #: compensation/views/compensation.py:157 compensation/views/eco_account.py:160
#: ema/views.py:226 intervention/views.py:309 #: ema/views.py:227 intervention/views.py:310
msgid "Edit {}" msgid "Edit {}"
msgstr "Bearbeite {}" msgstr "Bearbeite {}"
#: compensation/views/compensation.py:235 compensation/views/eco_account.py:314 #: compensation/views/compensation.py:236 compensation/views/eco_account.py:316
#: ema/views.py:187 intervention/views.py:482 #: ema/views.py:188 intervention/views.py:486
msgid "Log" msgid "Log"
msgstr "Log" msgstr "Log"
#: compensation/views/compensation.py:258 #: compensation/views/compensation.py:259
msgid "Compensation removed" msgid "Compensation removed"
msgstr "Kompensation entfernt" msgstr "Kompensation entfernt"
#: compensation/views/compensation.py:279 compensation/views/eco_account.py:466 #: compensation/views/compensation.py:280 compensation/views/eco_account.py:496
#: ema/views.py:355 intervention/views.py:132 #: ema/views.py:359 intervention/views.py:132
msgid "Document added" msgid "Document added"
msgstr "Dokument hinzugefügt" msgstr "Dokument hinzugefügt"
#: compensation/views/compensation.py:348 compensation/views/eco_account.py:360 #: compensation/views/compensation.py:350 compensation/views/eco_account.py:362
#: ema/views.py:293 #: ema/views.py:294
msgid "State added" msgid "State added"
msgstr "Zustand hinzugefügt" msgstr "Zustand hinzugefügt"
#: compensation/views/compensation.py:369 compensation/views/eco_account.py:381 #: compensation/views/compensation.py:372 compensation/views/eco_account.py:384
#: ema/views.py:314 #: ema/views.py:316
msgid "Action added" msgid "Action added"
msgstr "Maßnahme hinzugefügt" msgstr "Maßnahme hinzugefügt"
#: compensation/views/compensation.py:390 compensation/views/eco_account.py:446 #: compensation/views/compensation.py:394 compensation/views/eco_account.py:475
#: ema/views.py:335 #: ema/views.py:338
msgid "Deadline added" msgid "Deadline added"
msgstr "Frist/Termin hinzugefügt" msgstr "Frist/Termin hinzugefügt"
#: compensation/views/compensation.py:412 compensation/views/eco_account.py:403 #: compensation/views/compensation.py:417 compensation/views/eco_account.py:453
#: ema/views.py:425 #: ema/views.py:595
msgid "Deadline removed"
msgstr "Frist gelöscht"
#: compensation/views/compensation.py:440 compensation/views/eco_account.py:407
#: ema/views.py:430
msgid "State removed" msgid "State removed"
msgstr "Zustand gelöscht" msgstr "Zustand gelöscht"
#: compensation/views/compensation.py:434 compensation/views/eco_account.py:425 #: compensation/views/compensation.py:463 compensation/views/eco_account.py:430
#: ema/views.py:447 #: ema/views.py:453
msgid "Action removed" msgid "Action removed"
msgstr "Maßnahme entfernt" msgstr "Maßnahme entfernt"
#: compensation/views/compensation.py:452 compensation/views/eco_account.py:554 #: compensation/views/compensation.py:482 compensation/views/eco_account.py:586
#: ema/views.py:465 intervention/views.py:546 #: ema/views.py:472 intervention/views.py:551
msgid "Report {}" msgid "Report {}"
msgstr "Bericht {}" msgstr "Bericht {}"
#: compensation/views/eco_account.py:58 #: compensation/views/eco_account.py:59
msgid "Eco-account - Overview" msgid "Eco-account - Overview"
msgstr "Ökokonten - Übersicht" msgstr "Ökokonten - Übersicht"
#: compensation/views/eco_account.py:91 #: compensation/views/eco_account.py:92
msgid "Eco-Account {} added" msgid "Eco-Account {} added"
msgstr "Ökokonto {} hinzugefügt" msgstr "Ökokonto {} hinzugefügt"
#: compensation/views/eco_account.py:149 #: compensation/views/eco_account.py:150
msgid "Eco-Account {} edited" msgid "Eco-Account {} edited"
msgstr "Ökokonto {} bearbeitet" msgstr "Ökokonto {} bearbeitet"
#: compensation/views/eco_account.py:262 #: compensation/views/eco_account.py:263
msgid "Eco-account removed" msgid "Eco-account removed"
msgstr "Ökokonto entfernt" msgstr "Ökokonto entfernt"
#: compensation/views/eco_account.py:290 #: compensation/views/eco_account.py:291
msgid "Deduction removed" msgid "Deduction removed"
msgstr "Abbuchung entfernt" msgstr "Abbuchung entfernt"
#: compensation/views/eco_account.py:335 ema/views.py:268 #: compensation/views/eco_account.py:337 ema/views.py:269
#: intervention/views.py:524 #: intervention/views.py:529
msgid "{} unrecorded" msgid "{} unrecorded"
msgstr "{} entzeichnet" msgstr "{} entzeichnet"
#: compensation/views/eco_account.py:335 ema/views.py:268 #: compensation/views/eco_account.py:337 ema/views.py:269
#: intervention/views.py:524 #: intervention/views.py:529
msgid "{} recorded" msgid "{} recorded"
msgstr "{} verzeichnet" msgstr "{} verzeichnet"
#: compensation/views/eco_account.py:536 intervention/views.py:505 #: compensation/views/eco_account.py:567 intervention/views.py:509
msgid "Deduction added" msgid "Deduction added"
msgstr "Abbuchung hinzugefügt" msgstr "Abbuchung hinzugefügt"
#: compensation/views/eco_account.py:627 ema/views.py:531 #: compensation/views/eco_account.py:659 ema/views.py:538
#: intervention/views.py:380 #: intervention/views.py:383
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"
#: compensation/views/eco_account.py:632 ema/views.py:536 #: compensation/views/eco_account.py:664 ema/views.py:543
#: intervention/views.py:385 #: intervention/views.py:388
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"
#: compensation/views/eco_account.py:639 ema/views.py:543 #: compensation/views/eco_account.py:671 ema/views.py:550
#: intervention/views.py:392 #: intervention/views.py:395
msgid "Share link invalid" msgid "Share link invalid"
msgstr "Freigabelink ungültig" msgstr "Freigabelink ungültig"
#: compensation/views/eco_account.py:662 ema/views.py:566 #: compensation/views/eco_account.py:694 ema/views.py:573
#: intervention/views.py:415 #: intervention/views.py:418
msgid "Share settings updated" msgid "Share settings updated"
msgstr "Freigabe Einstellungen aktualisiert" msgstr "Freigabe Einstellungen aktualisiert"
#: compensation/views/payment.py:36 #: compensation/views/payment.py:37
msgid "Payment added" msgid "Payment added"
msgstr "Zahlung hinzugefügt" msgstr "Zahlung hinzugefügt"
#: compensation/views/payment.py:56 #: compensation/views/payment.py:58
msgid "Payment removed" msgid "Payment removed"
msgstr "Zahlung gelöscht" msgstr "Zahlung gelöscht"
#: ema/forms.py:40 ema/views.py:91 #: ema/forms.py:40 ema/views.py:92
msgid "New EMA" msgid "New EMA"
msgstr "Neue EMA hinzufügen" msgstr "Neue EMA hinzufügen"
@ -1237,19 +1232,19 @@ msgstr ""
msgid "Payment funded compensation" msgid "Payment funded compensation"
msgstr "Ersatzzahlungsmaßnahme" msgstr "Ersatzzahlungsmaßnahme"
#: ema/views.py:48 #: ema/views.py:49
msgid "EMAs - Overview" msgid "EMAs - Overview"
msgstr "EMAs - Übersicht" msgstr "EMAs - Übersicht"
#: ema/views.py:81 #: ema/views.py:82
msgid "EMA {} added" msgid "EMA {} added"
msgstr "EMA {} hinzugefügt" msgstr "EMA {} hinzugefügt"
#: ema/views.py:216 #: ema/views.py:217
msgid "EMA {} edited" msgid "EMA {} edited"
msgstr "EMA {} bearbeitet" msgstr "EMA {} bearbeitet"
#: ema/views.py:249 #: ema/views.py:250
msgid "EMA removed" msgid "EMA removed"
msgstr "EMA entfernt" msgstr "EMA entfernt"
@ -1318,6 +1313,10 @@ msgstr "Neuer Eingriff"
msgid "Edit intervention" msgid "Edit intervention"
msgstr "Eingriff bearbeiten" msgstr "Eingriff bearbeiten"
#: intervention/forms/forms.py:338
msgid "General data edited"
msgstr "Allgemeine Daten bearbeitet"
#: intervention/forms/modalForms.py:25 #: intervention/forms/modalForms.py:25
msgid "Share link" msgid "Share link"
msgstr "Freigabelink" msgstr "Freigabelink"
@ -1346,38 +1345,38 @@ msgstr "Wählen Sie die Nutzer ab, die keinen Zugriff mehr haben sollen"
msgid "Share settings for {}" msgid "Share settings for {}"
msgstr "Freigabe Einstellungen für {}" msgstr "Freigabe Einstellungen für {}"
#: intervention/forms/modalForms.py:126 #: intervention/forms/modalForms.py:124
msgid "Date of revocation" msgid "Date of revocation"
msgstr "Datum des Widerspruchs" msgstr "Datum des Widerspruchs"
#: intervention/forms/modalForms.py:137 #: intervention/forms/modalForms.py:135
#: intervention/templates/intervention/detail/includes/revocation.html:35 #: intervention/templates/intervention/detail/includes/revocation.html:35
msgid "Document" msgid "Document"
msgstr "Dokument" msgstr "Dokument"
#: intervention/forms/modalForms.py:140 #: intervention/forms/modalForms.py:138
msgid "Must be smaller than 15 Mb" msgid "Must be smaller than 15 Mb"
msgstr "Muss kleiner als 15 Mb sein" msgstr "Muss kleiner als 15 Mb sein"
#: intervention/forms/modalForms.py:164 #: intervention/forms/modalForms.py:162
#: intervention/templates/intervention/detail/includes/revocation.html:18 #: intervention/templates/intervention/detail/includes/revocation.html:18
msgid "Add revocation" msgid "Add revocation"
msgstr "Widerspruch hinzufügen" msgstr "Widerspruch hinzufügen"
#: intervention/forms/modalForms.py:181 #: intervention/forms/modalForms.py:179
msgid "Checked intervention data" msgid "Checked intervention data"
msgstr "Eingriffsdaten geprüft" msgstr "Eingriffsdaten geprüft"
#: intervention/forms/modalForms.py:187 #: intervention/forms/modalForms.py:185
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/modalForms.py:196 #: intervention/forms/modalForms.py:194
#: 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/modalForms.py:197 konova/forms.py:457 #: intervention/forms/modalForms.py:195 konova/forms.py:457
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."
@ -1385,23 +1384,23 @@ msgstr ""
"Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt " "Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt "
"wurden:" "wurden:"
#: intervention/forms/modalForms.py:281 #: intervention/forms/modalForms.py:279
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/modalForms.py:308 #: intervention/forms/modalForms.py:306
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/modalForms.py:321 #: intervention/forms/modalForms.py:319
msgid "New Deduction" msgid "New Deduction"
msgstr "Neue Abbuchung" msgstr "Neue Abbuchung"
#: intervention/forms/modalForms.py:322 #: intervention/forms/modalForms.py:320
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/modalForms.py:350 #: intervention/forms/modalForms.py:348
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."
@ -1409,7 +1408,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/modalForms.py:363 #: intervention/forms/modalForms.py:361
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"
@ -1418,7 +1417,7 @@ msgstr ""
"Restfläche. Es stehen noch {} m² zur Verfügung." "Restfläche. Es stehen noch {} m² zur Verfügung."
#: intervention/tables.py:45 #: intervention/tables.py:45
#: intervention/templates/intervention/detail/includes/revocation.html:56 #: intervention/templates/intervention/detail/includes/revocation.html:58
msgid "Revocation" msgid "Revocation"
msgstr "Widerspruch" msgstr "Widerspruch"
@ -1434,7 +1433,7 @@ msgstr "Widerspruch vom {}, am {} von {} hinzugefügt"
msgid "Add new compensation" msgid "Add new compensation"
msgstr "Neue Kompensation hinzufügen" msgstr "Neue Kompensation hinzufügen"
#: intervention/templates/intervention/detail/includes/compensations.html:53 #: intervention/templates/intervention/detail/includes/compensations.html:55
msgid "Remove compensation" msgid "Remove compensation"
msgstr "Kompensation entfernen" msgstr "Kompensation entfernen"
@ -1442,11 +1441,11 @@ msgstr "Kompensation entfernen"
msgid "Account Identifier" msgid "Account Identifier"
msgstr "Ökokonto Kennung" msgstr "Ökokonto Kennung"
#: intervention/templates/intervention/detail/includes/deductions.html:45 #: intervention/templates/intervention/detail/includes/deductions.html:47
msgid "Eco-account deleted! Deduction invalid!" msgid "Eco-account deleted! Deduction invalid!"
msgstr "Ökokonto gelöscht! Abbuchung ungültig!" msgstr "Ökokonto gelöscht! Abbuchung ungültig!"
#: intervention/templates/intervention/detail/includes/deductions.html:45 #: intervention/templates/intervention/detail/includes/deductions.html:47
msgid "Eco-account not recorded! Deduction invalid!" msgid "Eco-account not recorded! Deduction invalid!"
msgstr "Ökokonto nicht verzeichnet! Abbuchung ungültig!" msgstr "Ökokonto nicht verzeichnet! Abbuchung ungültig!"
@ -1464,7 +1463,7 @@ msgctxt "money"
msgid "Amount" msgid "Amount"
msgstr "Betrag" msgstr "Betrag"
#: intervention/templates/intervention/detail/includes/payments.html:53 #: intervention/templates/intervention/detail/includes/payments.html:59
msgid "Remove payment" msgid "Remove payment"
msgstr "Zahlung entfernen" msgstr "Zahlung entfernen"
@ -1478,7 +1477,7 @@ msgctxt "Revocation"
msgid "From" msgid "From"
msgstr "Vom" msgstr "Vom"
#: intervention/templates/intervention/detail/includes/revocation.html:63 #: intervention/templates/intervention/detail/includes/revocation.html:69
msgid "Remove revocation" msgid "Remove revocation"
msgstr "Widerspruch entfernen" msgstr "Widerspruch entfernen"
@ -1520,31 +1519,31 @@ msgstr "Eingriffe - Übersicht"
msgid "Intervention {} added" msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt" msgstr "Eingriff {} hinzugefügt"
#: intervention/views.py:248 #: intervention/views.py:249
msgid "This intervention has {} revocations" msgid "This intervention has {} revocations"
msgstr "Dem Eingriff liegen {} Widersprüche vor" msgstr "Dem Eingriff liegen {} Widersprüche vor"
#: intervention/views.py:297 #: intervention/views.py:298
msgid "Intervention {} edited" msgid "Intervention {} edited"
msgstr "Eingriff {} bearbeitet" msgstr "Eingriff {} bearbeitet"
#: intervention/views.py:333 #: intervention/views.py:334
msgid "{} removed" msgid "{} removed"
msgstr "{} entfernt" msgstr "{} entfernt"
#: intervention/views.py:354 #: intervention/views.py:356
msgid "Revocation removed" msgid "Revocation removed"
msgstr "Widerspruch entfernt" msgstr "Widerspruch entfernt"
#: intervention/views.py:436 #: intervention/views.py:439
msgid "Check performed" msgid "Check performed"
msgstr "Prüfung durchgeführt" msgstr "Prüfung durchgeführt"
#: intervention/views.py:458 #: intervention/views.py:461
msgid "Revocation added" msgid "Revocation added"
msgstr "Widerspruch hinzugefügt" msgstr "Widerspruch hinzugefügt"
#: intervention/views.py:529 #: intervention/views.py:534
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:"
@ -1747,11 +1746,11 @@ msgstr "Kontrolle am"
msgid "Other" msgid "Other"
msgstr "Sonstige" msgstr "Sonstige"
#: konova/sub_settings/django_settings.py:155 #: konova/sub_settings/django_settings.py:159
msgid "German" msgid "German"
msgstr "" msgstr ""
#: konova/sub_settings/django_settings.py:156 #: konova/sub_settings/django_settings.py:160
msgid "English" msgid "English"
msgstr "" msgstr ""
@ -1813,31 +1812,31 @@ msgstr "In Zwischenablage kopiert"
msgid "Document '{}' deleted" msgid "Document '{}' deleted"
msgstr "Dokument '{}' gelöscht" msgstr "Dokument '{}' gelöscht"
#: konova/utils/mailer.py:70 #: konova/utils/mailer.py:66
msgid "{} - Shared access removed" msgid "{} - Shared access removed"
msgstr "{} - Zugriff entzogen" msgstr "{} - Zugriff entzogen"
#: konova/utils/mailer.py:92 #: konova/utils/mailer.py:88
msgid "{} - Shared access given" msgid "{} - Shared access given"
msgstr "{} - Zugriff freigegeben" msgstr "{} - Zugriff freigegeben"
#: konova/utils/mailer.py:114 #: konova/utils/mailer.py:110
msgid "{} - Shared data recorded" msgid "{} - Shared data recorded"
msgstr "{} - Freigegebene Daten verzeichnet" msgstr "{} - Freigegebene Daten verzeichnet"
#: konova/utils/mailer.py:136 #: konova/utils/mailer.py:132
msgid "{} - Shared data unrecorded" msgid "{} - Shared data unrecorded"
msgstr "{} - Freigegebene Daten entzeichnet" msgstr "{} - Freigegebene Daten entzeichnet"
#: konova/utils/mailer.py:158 #: konova/utils/mailer.py:154
msgid "{} - Shared data deleted" msgid "{} - Shared data deleted"
msgstr "{} - Freigegebene Daten gelöscht" msgstr "{} - Freigegebene Daten gelöscht"
#: konova/utils/mailer.py:180 #: konova/utils/mailer.py:176
msgid "{} - Shared data checked" msgid "{} - Shared data checked"
msgstr "{} - Freigegebene Daten geprüft" msgstr "{} - Freigegebene Daten geprüft"
#: konova/utils/mailer.py:201 templates/email/api/verify_token.html:4 #: konova/utils/mailer.py:197 templates/email/api/verify_token.html:4
msgid "Request for new API token" msgid "Request for new API token"
msgstr "Anfrage für neuen API Token" msgstr "Anfrage für neuen API Token"
@ -1927,19 +1926,15 @@ msgstr "fehlt"
msgid "Home" msgid "Home"
msgstr "Home" msgstr "Home"
#: konova/views.py:117 #: news/models.py:12
msgid "Deadline removed"
msgstr "Frist gelöscht"
#: news/models.py:11
msgid "Default" msgid "Default"
msgstr "Standard" msgstr "Standard"
#: news/models.py:12 #: news/models.py:13
msgid "Info" msgid "Info"
msgstr "" msgstr ""
#: news/models.py:13 #: news/models.py:14
msgid "Warning" msgid "Warning"
msgstr "Warnung" msgstr "Warnung"
@ -2227,6 +2222,10 @@ msgid "Timestamp"
msgstr "Zeitpunkt" msgstr "Zeitpunkt"
#: templates/log.html:13 #: templates/log.html:13
msgid "Details"
msgstr ""
#: templates/log.html:16
msgid "User" msgid "User"
msgstr "Nutzer" msgstr "Nutzer"
@ -2315,15 +2314,15 @@ msgstr "Neuen Token generieren"
msgid "A new token needs to be validated by an administrator!" msgid "A new token needs to be validated by an administrator!"
msgstr "Neue Tokens müssen durch Administratoren freigeschaltet werden!" msgstr "Neue Tokens müssen durch Administratoren freigeschaltet werden!"
#: user/models/user_action.py:20 #: user/models/user_action.py:22
msgid "Unrecorded" msgid "Unrecorded"
msgstr "Entzeichnet" msgstr "Entzeichnet"
#: user/models/user_action.py:22 #: user/models/user_action.py:24
msgid "Edited" msgid "Edited"
msgstr "Bearbeitet" msgstr "Bearbeitet"
#: user/models/user_action.py:23 #: user/models/user_action.py:25
msgid "Deleted" msgid "Deleted"
msgstr "Gelöscht" msgstr "Gelöscht"
@ -3923,6 +3922,9 @@ msgstr ""
msgid "Unable to connect to qpid with SASL mechanism %s" msgid "Unable to connect to qpid with SASL mechanism %s"
msgstr "" msgstr ""
#~ msgid "Action type details"
#~ msgstr "Zusatzmerkmale"
#~ msgid "On registered data edited" #~ msgid "On registered data edited"
#~ msgstr "Wenn meine freigegebenen Daten bearbeitet wurden" #~ msgstr "Wenn meine freigegebenen Daten bearbeitet wurden"