Compare commits

..

No commits in common. "0778277de429d7153866c907161f98bf8e91c0a2" and "fdcae500b19d9ceb10bb85ab57f46f5c0907c43f" have entirely different histories.

21 changed files with 275 additions and 473 deletions

View File

@ -115,33 +115,7 @@ class CompensationResponsibleFormMixin(forms.Form):
) )
class CEFCompensationFormMixin(forms.Form): class NewCompensationForm(AbstractCompensationForm):
""" A form mixin, providing CEF compensation field
"""
is_cef = forms.BooleanField(
label_suffix="",
label=_("Is CEF"),
help_text=_("Optionally: Whether this compensation is a CEF compensation?"),
required=False,
widget=forms.CheckboxInput()
)
class CoherenceCompensationFormMixin(forms.Form):
""" A form mixin, providing coherence compensation field
"""
is_coherence_keeping = forms.BooleanField(
label_suffix="",
label=_("Is coherence keeping"),
help_text=_("Optionally: Whether this compensation is a coherence keeping compensation?"),
required=False,
widget=forms.CheckboxInput()
)
class NewCompensationForm(AbstractCompensationForm, CEFCompensationFormMixin, CoherenceCompensationFormMixin):
""" Form for creating new compensations. """ Form for creating new compensations.
Can be initialized with an intervention id for preselecting the related intervention. Can be initialized with an intervention id for preselecting the related intervention.
@ -172,8 +146,6 @@ class NewCompensationForm(AbstractCompensationForm, CEFCompensationFormMixin, Co
"identifier", "identifier",
"title", "title",
"intervention", "intervention",
"is_cef",
"is_coherence_keeping",
"comment", "comment",
] ]
@ -205,8 +177,6 @@ class NewCompensationForm(AbstractCompensationForm, CEFCompensationFormMixin, Co
identifier = self.cleaned_data.get("identifier", None) identifier = self.cleaned_data.get("identifier", None)
title = self.cleaned_data.get("title", None) title = self.cleaned_data.get("title", None)
intervention = self.cleaned_data.get("intervention", None) intervention = self.cleaned_data.get("intervention", None)
is_cef = self.cleaned_data.get("is_cef", None)
is_coherence_keeping = self.cleaned_data.get("is_coherence_keeping", None)
comment = self.cleaned_data.get("comment", None) comment = self.cleaned_data.get("comment", None)
# Create log entry # Create log entry
@ -223,8 +193,6 @@ class NewCompensationForm(AbstractCompensationForm, CEFCompensationFormMixin, Co
title=title, title=title,
intervention=intervention, intervention=intervention,
created=action, created=action,
is_cef=is_cef,
is_coherence_keeping=is_coherence_keeping,
geometry=geometry, geometry=geometry,
comment=comment, comment=comment,
) )
@ -249,8 +217,6 @@ class EditCompensationForm(NewCompensationForm):
"identifier": self.instance.identifier, "identifier": self.instance.identifier,
"title": self.instance.title, "title": self.instance.title,
"intervention": self.instance.intervention, "intervention": self.instance.intervention,
"is_cef": self.instance.is_cef,
"is_coherence_keeping": self.instance.is_coherence_keeping,
"comment": self.instance.comment, "comment": self.instance.comment,
} }
disabled_fields = [] disabled_fields = []
@ -265,8 +231,6 @@ class EditCompensationForm(NewCompensationForm):
identifier = self.cleaned_data.get("identifier", None) identifier = self.cleaned_data.get("identifier", None)
title = self.cleaned_data.get("title", None) title = self.cleaned_data.get("title", None)
intervention = self.cleaned_data.get("intervention", None) intervention = self.cleaned_data.get("intervention", None)
is_cef = self.cleaned_data.get("is_cef", None)
is_coherence_keeping = self.cleaned_data.get("is_coherence_keeping", None)
comment = self.cleaned_data.get("comment", None) comment = self.cleaned_data.get("comment", None)
# Create log entry # Create log entry
@ -283,8 +247,6 @@ class EditCompensationForm(NewCompensationForm):
self.instance.title = title self.instance.title = title
self.instance.intervention = intervention self.instance.intervention = intervention
self.instance.geometry = geometry self.instance.geometry = geometry
self.instance.is_cef = is_cef
self.instance.is_coherence_keeping = is_coherence_keeping
self.instance.comment = comment self.instance.comment = comment
self.instance.modified = action self.instance.modified = action
self.instance.save() self.instance.save()

View File

@ -32,7 +32,8 @@ class Payment(BaseResource):
""" """
amount = models.FloatField(validators=[MinValueValidator(limit_value=0.00)]) amount = models.FloatField(validators=[MinValueValidator(limit_value=0.00)])
due_on = models.DateField(null=True, blank=True) due_on = models.DateField(null=True, blank=True)
comment = models.TextField( comment = models.CharField(
max_length=1000,
null=True, null=True,
blank=True, blank=True,
help_text="Refers to german money transfer 'Verwendungszweck'", help_text="Refers to german money transfer 'Verwendungszweck'",
@ -189,37 +190,7 @@ class AbstractCompensation(BaseObject):
return checker return checker
class CEFMixin(models.Model): class Compensation(AbstractCompensation):
""" Provides CEF flag as Mixin
"""
is_cef = models.BooleanField(
blank=True,
null=True,
default=False,
help_text="Flag if compensation is a 'CEF-Maßnahme'"
)
class Meta:
abstract = True
class CoherenceMixin(models.Model):
""" Provides coherence keeping flag as Mixin
"""
is_coherence_keeping = models.BooleanField(
blank=True,
null=True,
default=False,
help_text="Flag if compensation is a 'Kohärenzsicherung'"
)
class Meta:
abstract = True
class Compensation(AbstractCompensation, CEFMixin, CoherenceMixin):
""" """
Regular compensation, linked to an intervention Regular compensation, linked to an intervention
""" """

View File

@ -1,5 +1,5 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% load i18n l10n static fontawesome_5 humanize ksp_filters %} {% load i18n l10n static fontawesome_5 humanize %}
{% block head %} {% block head %}
{% comment %} {% comment %}
@ -38,26 +38,6 @@
</a> </a>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">{% trans 'Is CEF compensation' %}</th>
<td class="align-middle">
{% if obj.is_cef %}
{% trans 'Yes' %}
{% else %}
{% trans 'No' %}
{% endif %}
</td>
</tr>
<tr>
<th scope="row">{% trans 'Is Coherence keeping compensation' %}</th>
<td class="align-middle">
{% if obj.is_coherence_keeping %}
{% trans 'Yes' %}
{% else %}
{% trans 'No' %}
{% endif %}
</td>
</tr>
<tr> <tr>
<th scope="row">{% trans 'Checked' %}</th> <th scope="row">{% trans 'Checked' %}</th>
<td class="align-middle"> <td class="align-middle">

View File

@ -16,7 +16,7 @@
<th scope="row">{% trans 'compensates intervention' %}</th> <th scope="row">{% trans 'compensates intervention' %}</th>
<td class="align-middle"> <td class="align-middle">
<a href="{% url 'intervention:report' obj.intervention.id %}"> <a href="{% url 'intervention:report' obj.intervention.id %}">
{{obj.intervention.identifier}} - {{obj.intervention.title}} {{obj.intervention.identifier}}
</a> </a>
</td> </td>
</tr> </tr>

View File

@ -29,7 +29,7 @@
<td class="align-middle"> <td class="align-middle">
{% for deduction in deductions %} {% for deduction in deductions %}
<a href="{% url 'intervention:report' deduction.intervention__id %}"> <a href="{% url 'intervention:report' deduction.intervention__id %}">
{{deduction.intervention__identifier}} - {{deduction.intervention__title}} {{deduction.intervention__identifier}}
</a> </a>
<br> <br>
{% empty %} {% empty %}

View File

@ -570,7 +570,7 @@ def report_view(request:HttpRequest, id: str):
deductions = acc.deductions.all()\ deductions = acc.deductions.all()\
.distinct("intervention")\ .distinct("intervention")\
.select_related("intervention")\ .select_related("intervention")\
.values_list("intervention__id", "intervention__identifier", "intervention__title", named=True) .values_list("intervention__id", "intervention__identifier", named=True)
context = { context = {
"obj": acc, "obj": acc,

View File

@ -16,9 +16,10 @@ from compensation.models import EcoAccount, EcoAccountDeduction
from intervention.inputs import TextToClipboardInput from intervention.inputs import TextToClipboardInput
from intervention.models import Revocation, RevocationDocument, Intervention from intervention.models import Revocation, RevocationDocument, Intervention
from konova.forms import BaseModalForm from konova.forms import BaseModalForm
from konova.settings import ZB_GROUP, ETS_GROUP
from konova.utils.general import format_german_float from konova.utils.general import format_german_float
from konova.utils.messenger import Messenger from konova.utils.messenger import Messenger
from konova.utils.user_checks import is_default_group_only from konova.utils.user_checks import in_group
from user.models import UserActionLogEntry, UserAction from user.models import UserActionLogEntry, UserAction
@ -35,21 +36,6 @@ class ShareInterventionModalForm(BaseModalForm):
} }
) )
) )
user_select = forms.ModelMultipleChoiceField(
label=_("Add user to share with"),
label_suffix="",
help_text=_("Multiple selection possible - You can only select users which do not already have access"),
required=False,
queryset=User.objects.all(),
widget=autocomplete.ModelSelect2Multiple(
url="share-user-autocomplete",
attrs={
"data-placeholder": _("Click for selection"),
"data-minimum-input-length": 3,
},
forward=["users"]
),
)
users = forms.MultipleChoiceField( users = forms.MultipleChoiceField(
label=_("Shared with"), label=_("Shared with"),
label_suffix="", label_suffix="",
@ -92,39 +78,28 @@ class ShareInterventionModalForm(BaseModalForm):
) )
# Initialize users field # Initialize users field
# Disable field if user is not in registration or conservation group # Remove field if user is not in registration or conservation group
if is_default_group_only(self.request.user): if not in_group(self.request.user, ZB_GROUP) and not in_group(self.request.user, ETS_GROUP):
self.disable_form_field("users") del self.fields["users"]
else:
self._add_user_choices_to_field() users = self.instance.users.all()
choices = []
def _add_user_choices_to_field(self): for n in users:
""" Transforms the instance's sharing users into a list for the form field choices.append(
(n.id, n.username)
Returns: )
self.fields["users"].choices = choices
""" u_ids = list(users.values_list("id", flat=True))
users = self.instance.users.all() self.initialize_form_field(
choices = [] "users",
for n in users: u_ids
choices.append(
(n.id, n.username)
) )
self.fields["users"].choices = choices
u_ids = list(users.values_list("id", flat=True))
self.initialize_form_field(
"users",
u_ids
)
def save(self): def save(self):
still_accessing_users = self.cleaned_data["users"] accessing_users = User.objects.filter(
new_accessing_users = list(self.cleaned_data["user_select"].values_list("id", flat=True)) id__in=self.cleaned_data["users"]
accessing_users = still_accessing_users + new_accessing_users
users = User.objects.filter(
id__in=accessing_users
) )
self.instance.share_with_list(users) self.instance.share_with_list(accessing_users)
class NewRevocationModalForm(BaseModalForm): class NewRevocationModalForm(BaseModalForm):
@ -187,13 +162,14 @@ class NewRevocationModalForm(BaseModalForm):
) )
revocation = Revocation.objects.create( revocation = Revocation.objects.create(
date=self.cleaned_data["date"], date=self.cleaned_data["date"],
legal=self.instance.legal,
comment=self.cleaned_data["comment"], comment=self.cleaned_data["comment"],
created=created_action, created=created_action,
) )
self.instance.modified = edited_action self.instance.modified = edited_action
self.instance.save() self.instance.save()
self.instance.log.add(edited_action) self.instance.log.add(edited_action)
self.instance.legal.revocation = revocation
self.instance.legal.save()
if self.cleaned_data["file"]: if self.cleaned_data["file"]:
RevocationDocument.objects.create( RevocationDocument.objects.create(

View File

@ -68,7 +68,6 @@ class Revocation(BaseResource):
Holds revocation data e.g. for intervention objects Holds revocation data e.g. for intervention objects
""" """
date = models.DateField(null=True, blank=True, help_text="Revocation from") date = models.DateField(null=True, blank=True, help_text="Revocation from")
legal = models.ForeignKey("LegalData", null=False, blank=False, on_delete=models.CASCADE, help_text="Refers to 'Widerspruch am'", related_name="revocations")
comment = models.TextField(null=True, blank=True) comment = models.TextField(null=True, blank=True)
def delete(self, *args, **kwargs): def delete(self, *args, **kwargs):
@ -100,7 +99,7 @@ class RevocationDocument(AbstractDocument):
Returns: Returns:
intervention (Intervention) intervention (Intervention)
""" """
return self.instance.legal.intervention return self.instance.legaldata.intervention
def delete(self, *args, **kwargs): def delete(self, *args, **kwargs):
""" """
@ -119,14 +118,13 @@ class RevocationDocument(AbstractDocument):
# Remove the file itself # Remove the file itself
super().delete(*args, **kwargs) super().delete(*args, **kwargs)
# Always remove 'revocation' folder if the one revocation we just processed is the only one left # Always remove 'revocation' folder
folder_path = self.file.path.split("/") folder_path = self.file.path.split("/")
if revoc_docs.count() == 0: try:
try: shutil.rmtree("/".join(folder_path[:-1]))
shutil.rmtree("/".join(folder_path[:-1])) except FileNotFoundError:
except FileNotFoundError: # Revocation subfolder seems to be missing already
# Revocation subfolder seems to be missing already pass
pass
if other_intervention_docs.count() == 0: if other_intervention_docs.count() == 0:
# If there are no further documents for the intervention, we can simply remove the whole folder as well! # If there are no further documents for the intervention, we can simply remove the whole folder as well!
@ -169,6 +167,8 @@ class LegalData(UuidModel):
} }
) )
revocation = models.OneToOneField(Revocation, null=True, blank=True, help_text="Refers to 'Widerspruch am'", on_delete=models.SET_NULL)
class Intervention(BaseObject, ShareableObject, RecordableObject, CheckableObject): class Intervention(BaseObject, ShareableObject, RecordableObject, CheckableObject):
""" """
@ -277,7 +277,7 @@ class Intervention(BaseObject, ShareableObject, RecordableObject, CheckableObjec
regular_docs (QuerySet): The queryset of regular other documents regular_docs (QuerySet): The queryset of regular other documents
""" """
revoc_docs = RevocationDocument.objects.filter( revoc_docs = RevocationDocument.objects.filter(
instance__in=self.legal.revocations.all() instance=self.legal.revocation
) )
regular_docs = InterventionDocument.objects.filter( regular_docs = InterventionDocument.objects.filter(
instance=self instance=self
@ -366,7 +366,6 @@ class InterventionDocument(AbstractDocument):
if folder_path is not None: if folder_path is not None:
try: try:
shutil.rmtree(folder_path) shutil.rmtree(folder_path)
pass
except FileNotFoundError: except FileNotFoundError:
# Folder seems to be missing already... # Folder seems to be missing already...
pass pass

View File

@ -4,8 +4,8 @@
<div class="row"> <div class="row">
<div class="col-sm-6"> <div class="col-sm-6">
<h5> <h5>
<span class="badge badge-light">{{obj.legal.revocations.count}}</span> <span class="badge badge-light">{% if obj.legal.revocation %}1{% else %}0{% endif %}</span>
{% trans 'Revocations' %} {% trans 'Revocation' %}
</h5> </h5>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
@ -44,28 +44,30 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for rev in obj.legal.revocations.all %} {% if obj.legal.revocation %}
<tr> {% with obj.legal.revocation as rev %}
<td class="align-middle"> <tr>
{{ rev.date }} <td class="align-middle">
</td> {{ rev.date }}
<td class="align-middle"> </td>
{% if rev.document %} <td class="align-middle">
<a href="{% url 'intervention:get-doc-revocation' rev.document.id %}"> {% if rev.document %}
{% trans 'Revocation' %} <a href="{% url 'intervention:get-doc-revocation' rev.document.id %}">
</a> {% trans 'Revocation' %}
{% endif %} </a>
</td> {% endif %}
<td class="align-middle">{{ rev.comment }}</td> </td>
<td> <td class="align-middle">{{ rev.comment }}</td>
{% if is_default_member and has_access %} <td>
<button data-form-url="{% url 'intervention:remove-revocation' rev.id %}" class="btn btn-default btn-modal" title="{% trans 'Remove revocation' %}"> {% if is_default_member and has_access %}
{% fa5_icon 'trash' %} <button data-form-url="{% url 'intervention:remove-revocation' rev.id %}" class="btn btn-default btn-modal" title="{% trans 'Remove revocation' %}">
</button> {% fa5_icon 'trash' %}
{% endif %} </button>
</td> {% endif %}
</tr> </td>
{% endfor %} </tr>
{% endwith %}
{% endif %}
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -99,9 +99,9 @@
<th scope="row">{% trans 'Binding on' %}</th> <th scope="row">{% trans 'Binding on' %}</th>
<td class="align-middle">{{obj.legal.binding_date|default_if_none:""}}</td> <td class="align-middle">{{obj.legal.binding_date|default_if_none:""}}</td>
</tr> </tr>
<tr {% if obj.legal.revocations.all %}class="alert alert-danger" title="{% trans 'Exists' %}" {% endif %}> <tr {% if obj.legal.revocation %}class="alert alert-danger" title="{% trans 'Exists' %}" {% endif %}>
<th scope="row">{% trans 'Revocations' %}</th> <th scope="row">{% trans 'Revocation' %}</th>
<td class="align-middle">{{obj.legal.revocations.count}}</td> <td class="align-middle">{{obj.legal.revocation.date|naturalday|default_if_none:""}}</td>
</tr> </tr>
<tr> <tr>
<th scope="row">{% trans 'Last modified' %}</th> <th scope="row">{% trans 'Last modified' %}</th>

View File

@ -50,7 +50,7 @@
<td class="align-middle"> <td class="align-middle">
{% for comp in obj.compensations.all %} {% for comp in obj.compensations.all %}
<a href="{% url 'compensation:report' comp.id %}"> <a href="{% url 'compensation:report' comp.id %}">
{{comp.identifier}} - {{comp.title}} {{comp.identifier}}
</a> </a>
<br> <br>
{% empty %} {% empty %}
@ -63,7 +63,7 @@
<td class="align-middle"> <td class="align-middle">
{% for deduction in deductions %} {% for deduction in deductions %}
<a href="{% url 'compensation:acc-report' deduction.account.id %}"> <a href="{% url 'compensation:acc-report' deduction.account.id %}">
{{deduction.account.identifier}} - {{deduction.account.title}} {{deduction.account.identifier}}
</a> </a>
<br> <br>
{% endfor %} {% endfor %}

View File

@ -66,8 +66,8 @@ class InterventionQualityChecker(AbstractQualityChecker):
try: try:
legal = self.obj.legal legal = self.obj.legal
# Check for a revocation # Check for a revocation
if legal.revocations.exists(): if legal.revocation:
self.messages.append(_("Revocations exists")) self.messages.append(_("Revocation exists"))
if legal.registration_date is None: if legal.registration_date is None:
self._add_missing_attr_name(_("Registration date")) self._add_missing_attr_name(_("Registration date"))

View File

@ -11,6 +11,7 @@ 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, RecordModalForm from konova.forms import SimpleGeomForm, NewDocumentForm, RemoveModalForm, RecordModalForm
from konova.sub_settings.django_settings import DEFAULT_DATE_FORMAT
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, \
@ -146,7 +147,7 @@ def get_revocation_view(request: HttpRequest, doc_id: str):
""" """
doc = get_object_or_404(RevocationDocument, id=doc_id) doc = get_object_or_404(RevocationDocument, id=doc_id)
# File download only possible if related instance is shared with user # File download only possible if related instance is shared with user
if not doc.instance.legal.intervention.users.filter(id=request.user.id): if not doc.instance.users.filter(id=request.user.id):
messages.info( messages.info(
request, request,
DATA_UNSHARED DATA_UNSHARED
@ -237,10 +238,10 @@ def detail_view(request: HttpRequest, id: str):
) )
# Inform user about revocation # Inform user about revocation
if intervention.legal.revocations.exists(): if intervention.legal.revocation:
messages.error( messages.error(
request, request,
_("This intervention has {} revocations").format(intervention.legal.revocations.count()), _("This intervention has a revocation from {}").format(intervention.legal.revocation.date.strftime(DEFAULT_DATE_FORMAT)),
extra_tags="danger", extra_tags="danger",
) )
@ -402,7 +403,7 @@ def create_share_view(request: HttpRequest, id: str):
""" """
intervention = get_object_or_404(Intervention, id=id) intervention = get_object_or_404(Intervention, id=id)
form = ShareInterventionModalForm(request.POST or None, instance=intervention, request=request, user=request.user) form = ShareInterventionModalForm(request.POST or None, instance=intervention, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=_("Share settings updated") msg_success=_("Share settings updated")

View File

@ -6,7 +6,6 @@ Created on: 07.12.20
""" """
from dal_select2.views import Select2QuerySetView from dal_select2.views import Select2QuerySetView
from django.contrib.auth.models import User
from django.db.models import Q from django.db.models import Q
from codelist.models import KonovaCode from codelist.models import KonovaCode
@ -61,29 +60,6 @@ class InterventionAutocomplete(Select2QuerySetView):
return qs return qs
class ShareUserAutocomplete(Select2QuerySetView):
""" Autocomplete for intervention entries
Only returns entries that are accessible for the requesting user
"""
def get_queryset(self):
if self.request.user.is_anonymous:
return User.objects.none()
exclude_user_ids = self.forwarded.get("users", [None])
_exclude = {"id__in": exclude_user_ids}
qs = User.objects.all().exclude(
**_exclude
).order_by(
"username"
)
if self.q:
qs = qs.filter(
username__istartswith=self.q
)
return qs
class KonovaCodeAutocomplete(Select2QuerySetView): class KonovaCodeAutocomplete(Select2QuerySetView):
""" """
Provides simple autocomplete functionality for codes Provides simple autocomplete functionality for codes

View File

@ -241,7 +241,7 @@ class Deadline(BaseResource):
type = models.CharField(max_length=255, null=True, blank=True, choices=DeadlineType.choices) type = models.CharField(max_length=255, null=True, blank=True, choices=DeadlineType.choices)
date = models.DateField(null=True, blank=True) date = models.DateField(null=True, blank=True)
comment = models.TextField(null=True, blank=True) comment = models.CharField(max_length=1000, null=True, blank=True)
def __str__(self): def __str__(self):
return self.type return self.type

View File

@ -186,15 +186,12 @@ Overwrites bootstrap .btn:focus box shadow color
background-color: var(--rlp-gray-light); background-color: var(--rlp-gray-light);
} }
.check-star, .c-goldenrod{ .check-star{
color: goldenrod; color: goldenrod;
} }
.registered-bookmark, .c-green{ .registered-bookmark{
color: green; color: green;
} }
.c-red{
color: red;
}
/* PAGINATION */ /* PAGINATION */
.page-item > .page-link{ .page-item > .page-link{

View File

@ -8,8 +8,6 @@ Created on: 05.07.21
from django import template from django import template
# Create custom library # Create custom library
from django.utils.html import format_html
from news.models import ServerMessageImportance from news.models import ServerMessageImportance
register = template.Library() register = template.Library()

View File

@ -19,8 +19,7 @@ from django.urls import path, include
from konova.autocompletes import EcoAccountAutocomplete, \ from konova.autocompletes import EcoAccountAutocomplete, \
InterventionAutocomplete, CompensationActionCodeAutocomplete, BiotopeCodeAutocomplete, LawCodeAutocomplete, \ InterventionAutocomplete, CompensationActionCodeAutocomplete, BiotopeCodeAutocomplete, LawCodeAutocomplete, \
RegistrationOfficeCodeAutocomplete, ConservationOfficeCodeAutocomplete, ProcessTypeCodeAutocomplete, \ RegistrationOfficeCodeAutocomplete, ConservationOfficeCodeAutocomplete, ProcessTypeCodeAutocomplete
ShareUserAutocomplete
from konova.settings import SSO_SERVER, SSO_PUBLIC_KEY, SSO_PRIVATE_KEY, DEBUG from konova.settings import SSO_SERVER, SSO_PUBLIC_KEY, SSO_PRIVATE_KEY, DEBUG
from konova.sso.sso import KonovaSSOClient from konova.sso.sso import KonovaSSOClient
from konova.views import logout_view, home_view, remove_deadline_view from konova.views import logout_view, home_view, remove_deadline_view
@ -51,7 +50,6 @@ urlpatterns = [
path("atcmplt/codes/prc-type", ProcessTypeCodeAutocomplete.as_view(), name="codes-process-type-autocomplete"), path("atcmplt/codes/prc-type", ProcessTypeCodeAutocomplete.as_view(), name="codes-process-type-autocomplete"),
path("atcmplt/codes/reg-off", RegistrationOfficeCodeAutocomplete.as_view(), name="codes-registration-office-autocomplete"), path("atcmplt/codes/reg-off", RegistrationOfficeCodeAutocomplete.as_view(), name="codes-registration-office-autocomplete"),
path("atcmplt/codes/cons-off", ConservationOfficeCodeAutocomplete.as_view(), name="codes-conservation-office-autocomplete"), path("atcmplt/codes/cons-off", ConservationOfficeCodeAutocomplete.as_view(), name="codes-conservation-office-autocomplete"),
path("atcmplt/share/u", ShareUserAutocomplete.as_view(), name="share-user-autocomplete"),
] ]
if DEBUG: if DEBUG:

View File

@ -7,8 +7,6 @@ Created on: 02.07.21
""" """
from django.contrib.auth.models import User from django.contrib.auth.models import User
from konova.settings import ETS_GROUP, ZB_GROUP
def in_group(user: User, group: str) -> bool: def in_group(user: User, group: str) -> bool:
""" Checks if the user is part of a group """ Checks if the user is part of a group
@ -23,15 +21,3 @@ def in_group(user: User, group: str) -> bool:
return user.groups.filter( return user.groups.filter(
name=group name=group
) )
def is_default_group_only(user: User) -> bool:
""" Checks if the user is only part of the default group
Args:
user (User): The user object
Returns:
bool
"""
return not in_group(user, ZB_GROUP) and not in_group(user, ETS_GROUP)

Binary file not shown.

View File

@ -9,8 +9,8 @@
#: 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/forms.py:53 intervention/forms/forms.py:155 #: intervention/forms/forms.py:53 intervention/forms/forms.py:155
#: intervention/forms/forms.py:167 intervention/forms/modalForms.py:133 #: intervention/forms/forms.py:167 intervention/forms/modalForms.py:107
#: intervention/forms/modalForms.py:146 intervention/forms/modalForms.py:159 #: intervention/forms/modalForms.py:120 intervention/forms/modalForms.py:133
#: konova/forms.py:142 konova/forms.py:247 konova/forms.py:313 #: konova/forms.py:142 konova/forms.py:247 konova/forms.py:313
#: konova/forms.py:340 konova/forms.py:350 konova/forms.py:363 #: konova/forms.py:340 konova/forms.py:350 konova/forms.py:363
#: konova/forms.py:375 konova/forms.py:396 user/forms.py:38 #: konova/forms.py:375 konova/forms.py:396 user/forms.py:38
@ -19,7 +19,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-11-15 15:48+0100\n" "POT-Creation-Date: 2021-10-25 17:10+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"
@ -37,7 +37,7 @@ msgstr "Vom"
msgid "To" msgid "To"
msgstr "Bis" msgstr "Bis"
#: analysis/forms.py:47 compensation/forms/forms.py:76 #: analysis/forms.py:47 compensation/forms/forms.py:93
#: compensation/templates/compensation/detail/eco_account/view.html:58 #: compensation/templates/compensation/detail/eco_account/view.html:58
#: compensation/templates/compensation/report/eco_account/report.html:16 #: compensation/templates/compensation/report/eco_account/report.html:16
#: compensation/utils/quality.py:100 ema/templates/ema/detail/view.html:42 #: compensation/utils/quality.py:100 ema/templates/ema/detail/view.html:42
@ -49,14 +49,14 @@ msgstr "Bis"
msgid "Conservation office" msgid "Conservation office"
msgstr "Eintragungsstelle" msgstr "Eintragungsstelle"
#: analysis/forms.py:49 compensation/forms/forms.py:78 #: analysis/forms.py:49 compensation/forms/forms.py:95
msgid "Select the responsible office" msgid "Select the responsible office"
msgstr "Verantwortliche Stelle" msgstr "Verantwortliche Stelle"
#: analysis/forms.py:58 compensation/forms/forms.py:87 #: analysis/forms.py:58 compensation/forms/forms.py:67
#: compensation/forms/forms.py:164 intervention/forms/forms.py:63 #: compensation/forms/forms.py:104 compensation/forms/forms.py:155
#: intervention/forms/forms.py:80 intervention/forms/forms.py:96 #: intervention/forms/forms.py:63 intervention/forms/forms.py:80
#: intervention/forms/forms.py:112 intervention/forms/modalForms.py:47 #: intervention/forms/forms.py:96 intervention/forms/forms.py:112
msgid "Click for selection" msgid "Click for selection"
msgstr "Auswählen..." msgstr "Auswählen..."
@ -130,7 +130,7 @@ msgstr "Zuständigkeitsbereich"
#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:8 #: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:8
#: analysis/templates/analysis/reports/includes/intervention/laws.html:17 #: analysis/templates/analysis/reports/includes/intervention/laws.html:17
#: compensation/tables.py:35 #: compensation/tables.py:35
#: compensation/templates/compensation/detail/compensation/view.html:63 #: compensation/templates/compensation/detail/compensation/view.html:43
#: intervention/tables.py:33 #: intervention/tables.py:33
#: intervention/templates/intervention/detail/view.html:68 user/models.py:48 #: intervention/templates/intervention/detail/view.html:68 user/models.py:48
msgid "Checked" msgid "Checked"
@ -145,7 +145,7 @@ msgstr "Geprüft"
#: analysis/templates/analysis/reports/includes/intervention/laws.html:20 #: analysis/templates/analysis/reports/includes/intervention/laws.html:20
#: analysis/templates/analysis/reports/includes/old_data/amount.html:18 #: analysis/templates/analysis/reports/includes/old_data/amount.html:18
#: compensation/tables.py:41 compensation/tables.py:181 #: compensation/tables.py:41 compensation/tables.py:181
#: compensation/templates/compensation/detail/compensation/view.html:77 #: compensation/templates/compensation/detail/compensation/view.html:57
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:31
#: compensation/templates/compensation/detail/eco_account/view.html:44 #: compensation/templates/compensation/detail/eco_account/view.html:44
#: ema/tables.py:38 ema/templates/ema/detail/view.html:28 #: ema/tables.py:38 ema/templates/ema/detail/view.html:28
@ -210,7 +210,7 @@ msgstr "Abbuchungen"
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:36 #: compensation/templates/compensation/detail/eco_account/includes/states-before.html:36
#: ema/templates/ema/detail/includes/states-after.html:36 #: ema/templates/ema/detail/includes/states-after.html:36
#: ema/templates/ema/detail/includes/states-before.html:36 #: ema/templates/ema/detail/includes/states-before.html:36
#: intervention/forms/modalForms.py:301 #: intervention/forms/modalForms.py:282
msgid "Surface" msgid "Surface"
msgstr "Fläche" msgstr "Fläche"
@ -273,7 +273,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:312 intervention/forms/modalForms.py:319 #: intervention/forms/modalForms.py:293 intervention/forms/modalForms.py:300
#: intervention/tables.py:88 #: intervention/tables.py:88
#: intervention/templates/intervention/detail/view.html:19 #: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/home.html:11 templates/navbars/navbar.html:22 #: konova/templates/konova/home.html:11 templates/navbars/navbar.html:22
@ -283,7 +283,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:224 #: compensation/tables.py:224
#: compensation/templates/compensation/detail/eco_account/view.html:19 #: compensation/templates/compensation/detail/eco_account/view.html:19
#: intervention/forms/modalForms.py:285 intervention/forms/modalForms.py:292 #: intervention/forms/modalForms.py:266 intervention/forms/modalForms.py:273
#: konova/templates/konova/home.html:88 templates/navbars/navbar.html:34 #: konova/templates/konova/home.html:88 templates/navbars/navbar.html:34
msgid "Eco-account" msgid "Eco-account"
msgstr "Ökokonto" msgstr "Ökokonto"
@ -335,11 +335,19 @@ msgstr "Bezeichnung"
msgid "An explanatory name" msgid "An explanatory name"
msgstr "Aussagekräftiger Titel" msgstr "Aussagekräftiger Titel"
#: compensation/forms/forms.py:49 ema/forms.py:49 ema/forms.py:105 #: compensation/forms/forms.py:49 ema/forms.py:47 ema/forms.py:105
msgid "Compensation XY; Location ABC" msgid "Compensation XY; Location ABC"
msgstr "Kompensation XY; Flur ABC" msgstr "Kompensation XY; Flur ABC"
#: compensation/forms/forms.py:56 compensation/forms/modalForms.py:61 #: compensation/forms/forms.py:55
msgid "Fundings"
msgstr "Förderungen"
#: compensation/forms/forms.py:58
msgid "Select fundings for this compensation"
msgstr "Wählen Sie ggf. Fördermittelprojekte"
#: compensation/forms/forms.py:73 compensation/forms/modalForms.py:61
#: compensation/forms/modalForms.py:272 compensation/forms/modalForms.py:367 #: compensation/forms/modalForms.py:272 compensation/forms/modalForms.py:367
#: compensation/templates/compensation/detail/compensation/includes/actions.html:34 #: compensation/templates/compensation/detail/compensation/includes/actions.html:34
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34
@ -350,7 +358,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:179 intervention/forms/modalForms.py:158 #: intervention/forms/forms.py:179 intervention/forms/modalForms.py:132
#: 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
@ -358,11 +366,11 @@ msgstr "Kompensation XY; Flur ABC"
msgid "Comment" msgid "Comment"
msgstr "Kommentar" msgstr "Kommentar"
#: compensation/forms/forms.py:58 intervention/forms/forms.py:181 #: compensation/forms/forms.py:75 intervention/forms/forms.py:181
msgid "Additional comment" msgid "Additional comment"
msgstr "Zusätzlicher Kommentar" msgstr "Zusätzlicher Kommentar"
#: compensation/forms/forms.py:92 #: compensation/forms/forms.py:109
#: compensation/templates/compensation/detail/eco_account/view.html:62 #: compensation/templates/compensation/detail/eco_account/view.html:62
#: compensation/templates/compensation/report/eco_account/report.html:20 #: compensation/templates/compensation/report/eco_account/report.html:20
#: compensation/utils/quality.py:102 ema/templates/ema/detail/view.html:46 #: compensation/utils/quality.py:102 ema/templates/ema/detail/view.html:46
@ -374,85 +382,67 @@ msgstr "Zusätzlicher Kommentar"
msgid "Conservation office file number" msgid "Conservation office file number"
msgstr "Aktenzeichen Eintragungsstelle" msgstr "Aktenzeichen Eintragungsstelle"
#: compensation/forms/forms.py:98 intervention/forms/forms.py:135 #: compensation/forms/forms.py:115 intervention/forms/forms.py:135
msgid "ETS-123/ABC.456" msgid "ETS-123/ABC.456"
msgstr "" msgstr ""
#: compensation/forms/forms.py:104 #: compensation/forms/forms.py:121
msgid "Eco-account handler" msgid "Eco-account handler"
msgstr "Maßnahmenträger" msgstr "Maßnahmenträger"
#: compensation/forms/forms.py:108 #: compensation/forms/forms.py:125
msgid "Who handles the eco-account" msgid "Who handles the eco-account"
msgstr "Wer für die Herrichtung des Ökokontos verantwortlich ist" msgstr "Wer für die Herrichtung des Ökokontos verantwortlich ist"
#: compensation/forms/forms.py:111 intervention/forms/forms.py:148 #: compensation/forms/forms.py:128 intervention/forms/forms.py:148
msgid "Company Mustermann" msgid "Company Mustermann"
msgstr "Firma Mustermann" msgstr "Firma Mustermann"
#: compensation/forms/forms.py:124 #: compensation/forms/forms.py:146
msgid "Is CEF"
msgstr "Ist CEF-Maßnahme"
#: compensation/forms/forms.py:125
msgid "Optionally: Whether this compensation is a CEF compensation?"
msgstr "Optional: Handelt es sich um eine CEF-Maßnahme?"
#: compensation/forms/forms.py:137
msgid "Is coherence keeping"
msgstr "Ist Kohärenzsicherungsmaßnahme"
#: compensation/forms/forms.py:138
msgid ""
"Optionally: Whether this compensation is a coherence keeping compensation?"
msgstr ""
"Optional: Handelt es sich um eine Kohärenzsicherungsmaßnahme?"
#: compensation/forms/forms.py:155
#: compensation/templates/compensation/detail/compensation/view.html:35 #: compensation/templates/compensation/detail/compensation/view.html:35
#: compensation/templates/compensation/report/compensation/report.html:16 #: compensation/templates/compensation/report/compensation/report.html:16
msgid "compensates intervention" msgid "compensates intervention"
msgstr "kompensiert Eingriff" msgstr "kompensiert Eingriff"
#: compensation/forms/forms.py:157 #: compensation/forms/forms.py:148
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:183 #: compensation/forms/forms.py:173
msgid "New compensation" msgid "New compensation"
msgstr "Neue Kompensation" msgstr "Neue Kompensation"
#: compensation/forms/forms.py:243 #: compensation/forms/forms.py:231
msgid "Edit compensation" msgid "Edit compensation"
msgstr "Bearbeite Kompensation" msgstr "Bearbeite Kompensation"
#: compensation/forms/forms.py:305 compensation/utils/quality.py:84 #: compensation/forms/forms.py:290 compensation/utils/quality.py:84
msgid "Available Surface" msgid "Available Surface"
msgstr "Verfügbare Fläche" msgstr "Verfügbare Fläche"
#: compensation/forms/forms.py:308 #: compensation/forms/forms.py:293
msgid "The amount that can be used for deductions" msgid "The amount that can be used for deductions"
msgstr "Die für Abbuchungen zur Verfügung stehende Menge" msgstr "Die für Abbuchungen zur Verfügung stehende Menge"
#: compensation/forms/forms.py:317 #: compensation/forms/forms.py:302
#: compensation/templates/compensation/detail/eco_account/view.html:66 #: compensation/templates/compensation/detail/eco_account/view.html:66
#: compensation/utils/quality.py:72 #: compensation/utils/quality.py:72
msgid "Agreement date" msgid "Agreement date"
msgstr "Vereinbarungsdatum" msgstr "Vereinbarungsdatum"
#: compensation/forms/forms.py:319 #: compensation/forms/forms.py:304
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:343 #: compensation/forms/forms.py:329
msgid "New Eco-Account" msgid "New Eco-Account"
msgstr "Neues Ökokonto" msgstr "Neues Ökokonto"
#: compensation/forms/forms.py:352 #: compensation/forms/forms.py:338
msgid "Eco-Account XY; Location ABC" msgid "Eco-Account XY; Location ABC"
msgstr "Ökokonto XY; Flur ABC" msgstr "Ökokonto XY; Flur ABC"
#: compensation/forms/forms.py:409 #: compensation/forms/forms.py:397
msgid "Edit Eco-Account" msgid "Edit Eco-Account"
msgstr "Ökokonto bearbeiten" msgstr "Ökokonto bearbeiten"
@ -470,7 +460,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:274 #: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:274
#: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:160 #: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:134
#: konova/forms.py:376 #: konova/forms.py:376
msgid "Additional comment, maximum {} letters" msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
@ -495,7 +485,7 @@ msgstr "Biotoptyp"
msgid "Select the biotope type" msgid "Select the biotope type"
msgstr "Biotoptyp wählen" msgstr "Biotoptyp wählen"
#: compensation/forms/modalForms.py:155 intervention/forms/modalForms.py:303 #: compensation/forms/modalForms.py:155 intervention/forms/modalForms.py:284
msgid "in m²" msgid "in m²"
msgstr "" msgstr ""
@ -527,7 +517,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:132 #: intervention/forms/modalForms.py:106
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
@ -605,38 +595,38 @@ msgstr "Geben Sie die Daten der neuen Maßnahme ein"
msgid "Added action" msgid "Added action"
msgstr "Maßnahme hinzugefügt" msgstr "Maßnahme hinzugefügt"
#: compensation/models.py:81 #: compensation/models.py:83
msgid "cm" msgid "cm"
msgstr "" msgstr ""
#: compensation/models.py:82 #: compensation/models.py:84
msgid "m" msgid "m"
msgstr "" msgstr ""
#: compensation/models.py:83 #: compensation/models.py:85
msgid "km" msgid "km"
msgstr "" msgstr ""
#: compensation/models.py:84 #: compensation/models.py:86
msgid "m²" msgid "m²"
msgstr "" msgstr ""
#: compensation/models.py:85 #: compensation/models.py:87
msgid "ha" msgid "ha"
msgstr "" msgstr ""
#: compensation/models.py:86 #: compensation/models.py:88
msgid "Pieces" msgid "Pieces"
msgstr "Stück" msgstr "Stück"
#: compensation/models.py:374 #: compensation/models.py:359
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.py:381 #: compensation/models.py:366
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!"
@ -668,7 +658,7 @@ msgid "Checked on {} by {}"
msgstr "Am {} von {} geprüft worden" msgstr "Am {} von {} geprüft worden"
#: compensation/tables.py:129 #: compensation/tables.py:129
#: compensation/templates/compensation/detail/compensation/view.html:80 #: compensation/templates/compensation/detail/compensation/view.html:60
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:56
#: compensation/templates/compensation/detail/eco_account/view.html:47 #: compensation/templates/compensation/detail/eco_account/view.html:47
#: ema/tables.py:101 ema/templates/ema/detail/view.html:31 #: ema/tables.py:101 ema/templates/ema/detail/view.html:31
@ -754,22 +744,22 @@ 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:31 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:28
#: ema/templates/ema/detail/includes/controls.html:31 #: ema/templates/ema/detail/includes/controls.html:28
#: intervention/templates/intervention/detail/includes/controls.html:36 #: intervention/templates/intervention/detail/includes/controls.html:36
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:35 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:32
#: ema/templates/ema/detail/includes/controls.html:35 #: ema/templates/ema/detail/includes/controls.html:32
#: intervention/templates/intervention/detail/includes/controls.html:40 #: intervention/templates/intervention/detail/includes/controls.html:40
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:38 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:35
#: ema/templates/ema/detail/includes/controls.html:38 #: ema/templates/ema/detail/includes/controls.html:35
#: intervention/templates/intervention/detail/includes/controls.html:43 #: intervention/templates/intervention/detail/includes/controls.html:43
#: 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"
@ -871,21 +861,13 @@ msgstr "Neuen Ausgangszustand hinzufügen"
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: "
#: compensation/templates/compensation/detail/compensation/view.html:43 #: compensation/templates/compensation/detail/compensation/view.html:50
msgid "Is CEF compensation"
msgstr "Ist CEF Maßnahme"
#: compensation/templates/compensation/detail/compensation/view.html:53
msgid "Is Coherence keeping compensation"
msgstr "Ist Kohärenzsicherungsmaßnahme"
#: compensation/templates/compensation/detail/compensation/view.html:70
#: intervention/templates/intervention/detail/view.html:75 #: intervention/templates/intervention/detail/view.html:75
msgid "Checked on " msgid "Checked on "
msgstr "Geprüft am " msgstr "Geprüft am "
#: compensation/templates/compensation/detail/compensation/view.html:70 #: compensation/templates/compensation/detail/compensation/view.html:50
#: compensation/templates/compensation/detail/compensation/view.html:84 #: compensation/templates/compensation/detail/compensation/view.html:64
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:54 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:54
#: compensation/templates/compensation/detail/eco_account/view.html:51 #: compensation/templates/compensation/detail/eco_account/view.html:51
#: ema/templates/ema/detail/view.html:35 #: ema/templates/ema/detail/view.html:35
@ -894,46 +876,60 @@ msgstr "Geprüft am "
msgid "by" msgid "by"
msgstr "von" msgstr "von"
#: compensation/templates/compensation/detail/compensation/view.html:84 #: compensation/templates/compensation/detail/compensation/view.html:64
#: compensation/templates/compensation/detail/eco_account/view.html:51 #: compensation/templates/compensation/detail/eco_account/view.html:51
#: ema/templates/ema/detail/view.html:35 #: ema/templates/ema/detail/view.html:35
#: intervention/templates/intervention/detail/view.html:89 #: intervention/templates/intervention/detail/view.html:89
msgid "Recorded on " msgid "Recorded on "
msgstr "Verzeichnet am" msgstr "Verzeichnet am"
#: compensation/templates/compensation/detail/compensation/view.html:91 #: compensation/templates/compensation/detail/compensation/view.html:71
#: compensation/templates/compensation/detail/eco_account/view.html:74 #: compensation/templates/compensation/detail/eco_account/view.html:74
#: compensation/templates/compensation/report/compensation/report.html:24 #: compensation/templates/compensation/report/compensation/report.html:24
#: compensation/templates/compensation/report/eco_account/report.html:41 #: compensation/templates/compensation/report/eco_account/report.html:28
#: ema/templates/ema/detail/view.html:54 #: ema/templates/ema/detail/view.html:54
#: ema/templates/ema/report/report.html:28 #: ema/templates/ema/report/report.html:28
msgid "Funded by"
msgstr "Gefördert mit"
#: compensation/templates/compensation/detail/compensation/view.html:79
#: compensation/templates/compensation/detail/eco_account/view.html:82
#: compensation/templates/compensation/report/compensation/report.html:31
#: compensation/templates/compensation/report/eco_account/report.html:35
#: compensation/templates/compensation/report/eco_account/report.html:49
#: ema/templates/ema/detail/view.html:62
#: ema/templates/ema/report/report.html:35
#: intervention/templates/intervention/report/report.html:57
#: intervention/templates/intervention/report/report.html:78
msgid "None"
msgstr "-"
#: compensation/templates/compensation/detail/compensation/view.html:84
#: compensation/templates/compensation/detail/eco_account/view.html:87
#: compensation/templates/compensation/report/compensation/report.html:37
#: compensation/templates/compensation/report/eco_account/report.html:54
#: ema/templates/ema/detail/view.html:67
#: ema/templates/ema/report/report.html:41
#: intervention/templates/intervention/detail/view.html:108 #: intervention/templates/intervention/detail/view.html:108
#: intervention/templates/intervention/report/report.html:91 #: intervention/templates/intervention/report/report.html:91
msgid "Last modified" msgid "Last modified"
msgstr "Zuletzt bearbeitet" msgstr "Zuletzt bearbeitet"
#: compensation/templates/compensation/detail/compensation/view.html:99 #: compensation/templates/compensation/detail/compensation/view.html:92
#: compensation/templates/compensation/detail/eco_account/view.html:82 #: compensation/templates/compensation/detail/eco_account/view.html:95
#: ema/templates/ema/detail/view.html:69 intervention/forms/modalForms.py:54 #: ema/templates/ema/detail/view.html:82 intervention/forms/modalForms.py:40
#: intervention/templates/intervention/detail/view.html:116 #: intervention/templates/intervention/detail/view.html:116
msgid "Shared with" msgid "Shared with"
msgstr "Freigegeben für" msgstr "Freigegeben für"
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:15 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:17
#: ema/templates/ema/detail/includes/controls.html:15 #: ema/templates/ema/detail/includes/controls.html:17
#: intervention/forms/modalForms.py:68
#: intervention/templates/intervention/detail/includes/controls.html:15
msgid "Share"
msgstr "Freigabe"
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:20
#: ema/templates/ema/detail/includes/controls.html:20
#: intervention/templates/intervention/detail/includes/controls.html:25 #: intervention/templates/intervention/detail/includes/controls.html:25
msgid "Unrecord" msgid "Unrecord"
msgstr "Entzeichnen" msgstr "Entzeichnen"
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:24 #: compensation/templates/compensation/detail/eco_account/includes/controls.html:21
#: ema/templates/ema/detail/includes/controls.html:24 #: ema/templates/ema/detail/includes/controls.html:21
#: intervention/templates/intervention/detail/includes/controls.html:29 #: intervention/templates/intervention/detail/includes/controls.html:29
msgid "Record" msgid "Record"
msgstr "Verzeichnen" msgstr "Verzeichnen"
@ -1004,30 +1000,24 @@ msgstr "Maßnahmenträger"
msgid "Report" msgid "Report"
msgstr "Bericht" msgstr "Bericht"
#: compensation/templates/compensation/report/compensation/report.html:42 #: compensation/templates/compensation/report/compensation/report.html:55
#: compensation/templates/compensation/report/eco_account/report.html:59 #: compensation/templates/compensation/report/eco_account/report.html:72
#: ema/templates/ema/report/report.html:46 #: ema/templates/ema/report/report.html:59
#: intervention/templates/intervention/report/report.html:105 #: intervention/templates/intervention/report/report.html:105
msgid "Open in browser" msgid "Open in browser"
msgstr "Im Browser öffnen" msgstr "Im Browser öffnen"
#: compensation/templates/compensation/report/compensation/report.html:46 #: compensation/templates/compensation/report/compensation/report.html:59
#: compensation/templates/compensation/report/eco_account/report.html:63 #: compensation/templates/compensation/report/eco_account/report.html:76
#: ema/templates/ema/report/report.html:50 #: ema/templates/ema/report/report.html:63
#: intervention/templates/intervention/report/report.html:109 #: intervention/templates/intervention/report/report.html:109
msgid "View in LANIS" msgid "View in LANIS"
msgstr "In LANIS öffnen" msgstr "In LANIS öffnen"
#: compensation/templates/compensation/report/eco_account/report.html:28 #: compensation/templates/compensation/report/eco_account/report.html:41
msgid "Deductions for" msgid "Deductions for"
msgstr "Abbuchungen für" msgstr "Abbuchungen für"
#: compensation/templates/compensation/report/eco_account/report.html:36
#: intervention/templates/intervention/report/report.html:57
#: intervention/templates/intervention/report/report.html:78
msgid "None"
msgstr "-"
#: compensation/utils/quality.py:34 #: compensation/utils/quality.py:34
msgid "States unequal" msgid "States unequal"
msgstr "Ungleiche Zustandsflächenmengen" msgstr "Ungleiche Zustandsflächenmengen"
@ -1051,101 +1041,79 @@ msgstr "Daten zu den verantwortlichen Stellen"
msgid "Compensation {} added" msgid "Compensation {} added"
msgstr "Kompensation {} hinzugefügt" msgstr "Kompensation {} hinzugefügt"
#: compensation/views/compensation_views.py:134 #: compensation/views/compensation_views.py:132
msgid "Compensation {} edited" msgid "Compensation {} edited"
msgstr "Kompensation {} bearbeitet" msgstr "Kompensation {} bearbeitet"
#: compensation/views/compensation_views.py:220 #: compensation/views/compensation_views.py:216
#: compensation/views/eco_account_views.py:307 ema/views.py:182 #: compensation/views/eco_account_views.py:290 ema/views.py:178
#: intervention/views.py:475 #: intervention/views.py:448
msgid "Log" msgid "Log"
msgstr "Log" msgstr "Log"
#: compensation/views/compensation_views.py:243 #: compensation/views/compensation_views.py:237
msgid "Compensation removed" msgid "Compensation removed"
msgstr "Kompensation entfernt" msgstr "Kompensation entfernt"
#: compensation/views/compensation_views.py:264 #: compensation/views/compensation_views.py:256
#: compensation/views/eco_account_views.py:459 ema/views.py:349 #: compensation/views/eco_account_views.py:389 ema/views.py:331
#: intervention/views.py:129 #: intervention/views.py:127
msgid "Document added" msgid "Document added"
msgstr "Dokument hinzugefügt" msgstr "Dokument hinzugefügt"
#: compensation/views/compensation_views.py:333 #: compensation/views/compensation_views.py:321
#: compensation/views/eco_account_views.py:353 ema/views.py:287 #: compensation/views/eco_account_views.py:333 ema/views.py:275
msgid "State added" msgid "State added"
msgstr "Zustand hinzugefügt" msgstr "Zustand hinzugefügt"
#: compensation/views/compensation_views.py:354 #: compensation/views/compensation_views.py:340
#: compensation/views/eco_account_views.py:374 ema/views.py:308 #: compensation/views/eco_account_views.py:352 ema/views.py:294
msgid "Action added" msgid "Action added"
msgstr "Maßnahme hinzugefügt" msgstr "Maßnahme hinzugefügt"
#: compensation/views/compensation_views.py:375 #: compensation/views/compensation_views.py:359
#: compensation/views/eco_account_views.py:439 ema/views.py:329 #: compensation/views/eco_account_views.py:371 ema/views.py:313
msgid "Deadline added" msgid "Deadline added"
msgstr "Frist/Termin hinzugefügt" msgstr "Frist/Termin hinzugefügt"
#: compensation/views/compensation_views.py:397 #: compensation/views/compensation_views.py:378
#: compensation/views/eco_account_views.py:396 ema/views.py:419
msgid "State removed" msgid "State removed"
msgstr "Zustand gelöscht" msgstr "Zustand gelöscht"
#: compensation/views/compensation_views.py:419 #: compensation/views/compensation_views.py:397
#: compensation/views/eco_account_views.py:418 ema/views.py:441
msgid "Action removed" msgid "Action removed"
msgstr "Maßnahme entfernt" msgstr "Maßnahme entfernt"
#: compensation/views/eco_account_views.py:88 #: compensation/views/eco_account_views.py:86
msgid "Eco-Account {} added" msgid "Eco-Account {} added"
msgstr "Ökokonto {} hinzugefügt" msgstr "Ökokonto {} hinzugefügt"
#: compensation/views/eco_account_views.py:145 #: compensation/views/eco_account_views.py:141
msgid "Eco-Account {} edited" msgid "Eco-Account {} edited"
msgstr "Ökokonto {} bearbeitet" msgstr "Ökokonto {} bearbeitet"
#: compensation/views/eco_account_views.py:255 #: compensation/views/eco_account_views.py:240
msgid "Eco-account removed" msgid "Eco-account removed"
msgstr "Ökokonto entfernt" msgstr "Ökokonto entfernt"
#: compensation/views/eco_account_views.py:283 #: compensation/views/eco_account_views.py:267
msgid "Deduction removed" msgid "Deduction removed"
msgstr "Abbuchung entfernt" msgstr "Abbuchung entfernt"
#: compensation/views/eco_account_views.py:328 ema/views.py:262 #: compensation/views/eco_account_views.py:310 ema/views.py:252
#: intervention/views.py:517 #: intervention/views.py:488
msgid "{} unrecorded" msgid "{} unrecorded"
msgstr "{} entzeichnet" msgstr "{} entzeichnet"
#: compensation/views/eco_account_views.py:328 ema/views.py:262 #: compensation/views/eco_account_views.py:310 ema/views.py:252
#: intervention/views.py:517 #: intervention/views.py:488
msgid "{} recorded" msgid "{} recorded"
msgstr "{} verzeichnet" msgstr "{} verzeichnet"
#: compensation/views/eco_account_views.py:529 intervention/views.py:498 #: compensation/views/eco_account_views.py:455 intervention/views.py:470
msgid "Deduction added" msgid "Deduction added"
msgstr "Abbuchung hinzugefügt" msgstr "Abbuchung hinzugefügt"
#: compensation/views/eco_account_views.py:612 ema/views.py:517
#: intervention/views.py:373
msgid "{} has already been shared with you"
msgstr "{} wurde bereits für Sie freigegeben"
#: compensation/views/eco_account_views.py:617 ema/views.py:522
#: intervention/views.py:378
msgid "{} has been shared with you"
msgstr "{} ist nun für Sie freigegeben"
#: compensation/views/eco_account_views.py:624 ema/views.py:529
#: intervention/views.py:385
msgid "Share link invalid"
msgstr "Freigabelink ungültig"
#: compensation/views/eco_account_views.py:647 ema/views.py:552
#: intervention/views.py:408
msgid "Share settings updated"
msgstr "Freigabe Einstellungen aktualisiert"
#: compensation/views/payment_views.py:36 #: compensation/views/payment_views.py:36
msgid "Payment added" msgid "Payment added"
msgstr "Zahlung hinzugefügt" msgstr "Zahlung hinzugefügt"
@ -1154,7 +1122,7 @@ msgstr "Zahlung hinzugefügt"
msgid "Payment removed" msgid "Payment removed"
msgstr "Zahlung gelöscht" msgstr "Zahlung gelöscht"
#: ema/forms.py:40 #: ema/forms.py:38
msgid "New EMA" msgid "New EMA"
msgstr "Neue EMA hinzufügen" msgstr "Neue EMA hinzufügen"
@ -1182,15 +1150,15 @@ msgstr ""
msgid "Payment funded compensation" msgid "Payment funded compensation"
msgstr "Ersatzzahlungsmaßnahme" msgstr "Ersatzzahlungsmaßnahme"
#: ema/views.py:79 #: ema/views.py:78
msgid "EMA {} added" msgid "EMA {} added"
msgstr "EMA {} hinzugefügt" msgstr "EMA {} hinzugefügt"
#: ema/views.py:211 #: ema/views.py:205
msgid "EMA {} edited" msgid "EMA {} edited"
msgstr "EMA {} bearbeitet" msgstr "EMA {} bearbeitet"
#: ema/views.py:243 #: ema/views.py:235
msgid "EMA removed" msgid "EMA removed"
msgstr "EMA entfernt" msgstr "EMA entfernt"
@ -1275,66 +1243,59 @@ msgstr "Neuer Eingriff"
msgid "Edit intervention" msgid "Edit intervention"
msgstr "Eingriff bearbeiten" msgstr "Eingriff bearbeiten"
#: intervention/forms/modalForms.py:27 #: intervention/forms/modalForms.py:28
msgid "Share link" msgid "Share link"
msgstr "Freigabelink" msgstr "Freigabelink"
#: intervention/forms/modalForms.py:29 #: intervention/forms/modalForms.py:30
msgid "Send this link to users who you want to have writing access on the data" msgid "Send this link to users who you want to have writing access on the data"
msgstr "Andere Nutzer erhalten über diesen Link Zugriff auf die Daten" msgstr "Andere Nutzer erhalten über diesen Link Zugriff auf die Daten"
#: intervention/forms/modalForms.py:39 #: intervention/forms/modalForms.py:43
msgid "Add user to share with"
msgstr "Nutzer direkt hinzufügen"
#: intervention/forms/modalForms.py:41
msgid ""
"Multiple selection possible - You can only select users which do not already "
"have access"
msgstr ""
"Mehrfachauswahl möglich - Sie können nur Nutzer wählen, für die der Eintrag "
"noch nicht freigegeben wurde"
#: intervention/forms/modalForms.py:57
msgid "Remove check to remove access for this user" msgid "Remove check to remove access for this user"
msgstr "Wählen Sie die Nutzer ab, die keinen Zugriff mehr haben sollen" msgstr "Wählen Sie die Nutzer ab, die keinen Zugriff mehr haben sollen"
#: intervention/forms/modalForms.py:69 #: intervention/forms/modalForms.py:54
#: intervention/templates/intervention/detail/includes/controls.html:15
msgid "Share"
msgstr "Freigabe"
#: intervention/forms/modalForms.py:55
msgid "Share settings for {}" msgid "Share settings for {}"
msgstr "Freigabe Einstellungen für {}" msgstr "Freigabe Einstellungen für {}"
#: intervention/forms/modalForms.py:134 #: intervention/forms/modalForms.py:108
msgid "Date of revocation" msgid "Date of revocation"
msgstr "Datum des Widerspruchs" msgstr "Datum des Widerspruchs"
#: intervention/forms/modalForms.py:145 #: intervention/forms/modalForms.py:119
#: 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:148 konova/forms.py:364 #: intervention/forms/modalForms.py:122 konova/forms.py:364
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:172 #: intervention/forms/modalForms.py:146
#: 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:214 #: intervention/forms/modalForms.py:186
msgid "Checked intervention data" msgid "Checked intervention data"
msgstr "Eingriffsdaten geprüft" msgstr "Eingriffsdaten geprüft"
#: intervention/forms/modalForms.py:220 #: intervention/forms/modalForms.py:192
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:228 #: intervention/forms/modalForms.py:200
#: 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:229 konova/forms.py:449 #: intervention/forms/modalForms.py:201 konova/forms.py:449
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."
@ -1342,23 +1303,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:287 #: intervention/forms/modalForms.py:268
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:314 #: intervention/forms/modalForms.py:295
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:327 #: intervention/forms/modalForms.py:308
msgid "New Deduction" msgid "New Deduction"
msgstr "Neue Abbuchung" msgstr "Neue Abbuchung"
#: intervention/forms/modalForms.py:328 #: intervention/forms/modalForms.py:309
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:361 #: intervention/forms/modalForms.py:342
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."
@ -1366,7 +1327,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:374 #: intervention/forms/modalForms.py:355
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"
@ -1375,7 +1336,9 @@ 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:8
#: intervention/templates/intervention/detail/includes/revocation.html:57
#: intervention/templates/intervention/detail/view.html:104
msgid "Revocation" msgid "Revocation"
msgstr "Widerspruch" msgstr "Widerspruch"
@ -1425,17 +1388,12 @@ msgstr "Betrag"
msgid "Remove payment" msgid "Remove payment"
msgstr "Zahlung entfernen" msgstr "Zahlung entfernen"
#: intervention/templates/intervention/detail/includes/revocation.html:8
#: intervention/templates/intervention/detail/view.html:104
msgid "Revocations"
msgstr "Widersprüche"
#: intervention/templates/intervention/detail/includes/revocation.html:32 #: intervention/templates/intervention/detail/includes/revocation.html:32
msgctxt "Revocation" 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:64
msgid "Remove revocation" msgid "Remove revocation"
msgstr "Widerspruch entfernen" msgstr "Widerspruch entfernen"
@ -1452,8 +1410,8 @@ msgid "Exist"
msgstr "Vorhanden" msgstr "Vorhanden"
#: intervention/utils/quality.py:70 #: intervention/utils/quality.py:70
msgid "Revocations exists" msgid "Revocation exists"
msgstr "Widersprüche liegen vor" msgstr "Widerspruch liegt vor"
#: intervention/utils/quality.py:76 #: intervention/utils/quality.py:76
msgid "Binding date" msgid "Binding date"
@ -1469,35 +1427,55 @@ msgstr ""
"Kein Ausgleich jeglicher Art gefunden (Kompensation, Ersatzzahlung, " "Kein Ausgleich jeglicher Art gefunden (Kompensation, Ersatzzahlung, "
"Abbuchung)" "Abbuchung)"
#: intervention/views.py:79 #: intervention/views.py:80
msgid "Intervention {} added" msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt" msgstr "Eingriff {} hinzugefügt"
#: intervention/views.py:243 #: intervention/views.py:231
msgid "This intervention has {} revocations" msgid "This intervention has a revocation from {}"
msgstr "Dem Eingriff liegen {} Widersprüche vor" msgstr "Es existiert ein Widerspruch vom {}"
#: intervention/views.py:291 #: intervention/views.py:274
msgid "Intervention {} edited" msgid "Intervention {} edited"
msgstr "Eingriff {} bearbeitet" msgstr "Eingriff {} bearbeitet"
#: intervention/views.py:326 #: intervention/views.py:275
msgid "Status of Checked and Recorded reseted"
msgstr "'Geprüft' und 'Verzeichnet' sind zurückgesetzt worden"
#: intervention/views.py:307
msgid "{} removed" msgid "{} removed"
msgstr "{} entfernt" msgstr "{} entfernt"
#: intervention/views.py:347 #: intervention/views.py:328
msgid "Revocation removed" msgid "Revocation removed"
msgstr "Widerspruch entfernt" msgstr "Widerspruch entfernt"
#: intervention/views.py:429 #: intervention/views.py:354
msgid "{} has already been shared with you"
msgstr "{} wurde bereits für Sie freigegeben"
#: intervention/views.py:359
msgid "{} has been shared with you"
msgstr "{} ist nun für Sie freigegeben"
#: intervention/views.py:366
msgid "Share link invalid"
msgstr "Freigabelink ungültig"
#: intervention/views.py:387
msgid "Share settings updated"
msgstr "Freigabe Einstellungen aktualisiert"
#: intervention/views.py:406
msgid "Check performed" msgid "Check performed"
msgstr "Prüfung durchgeführt" msgstr "Prüfung durchgeführt"
#: intervention/views.py:451 #: intervention/views.py:426
msgid "Revocation added" msgid "Revocation added"
msgstr "Widerspruch hinzugefügt" msgstr "Widerspruch hinzugefügt"
#: intervention/views.py:522 #: intervention/views.py:493
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:"
@ -1609,19 +1587,19 @@ msgstr "Wenn meine freigegebenen Daten gelöscht wurden"
msgid "On registered data edited" msgid "On registered data edited"
msgstr "Wenn meine freigegebenen Daten bearbeitet wurden" msgstr "Wenn meine freigegebenen Daten bearbeitet wurden"
#: konova/models.py:231 #: konova/models.py:206
msgid "Finished" msgid "Finished"
msgstr "Umgesetzt bis" msgstr "Umgesetzt bis"
#: konova/models.py:232 #: konova/models.py:207
msgid "Maintain" msgid "Maintain"
msgstr "Unterhaltung bis" msgstr "Unterhaltung bis"
#: konova/models.py:233 #: konova/models.py:208
msgid "Control" msgid "Control"
msgstr "Kontrolle am" msgstr "Kontrolle am"
#: konova/models.py:234 #: konova/models.py:209
msgid "Other" msgid "Other"
msgstr "Sonstige" msgstr "Sonstige"
@ -1706,16 +1684,6 @@ msgstr ""
msgid "You need to be part of another user group." msgid "You need to be part of another user group."
msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!" msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!"
#: konova/utils/message_templates.py:19
msgid "Status of Checked and Recorded reseted"
msgstr "'Geprüft' und 'Verzeichnet' sind zurückgesetzt worden"
#: konova/utils/message_templates.py:22
msgid ""
"Action canceled. Eco account is recorded or deductions exist. Only "
"conservation office member can perform this action."
msgstr ""
#: konova/utils/messenger.py:69 #: konova/utils/messenger.py:69
msgid "{} checked" msgid "{} checked"
msgstr "{} geprüft" msgstr "{} geprüft"
@ -3178,15 +3146,3 @@ msgstr ""
#: venv/lib/python3.7/site-packages/fontawesome_5/fields.py:16 #: venv/lib/python3.7/site-packages/fontawesome_5/fields.py:16
msgid "A fontawesome icon field" msgid "A fontawesome icon field"
msgstr "" msgstr ""
#~ msgid "Share with user"
#~ msgstr "Freigeben für Nutzer"
#~ msgid "Fundings"
#~ msgstr "Förderungen"
#~ msgid "Select fundings for this compensation"
#~ msgstr "Wählen Sie ggf. Fördermittelprojekte"
#~ msgid "Funded by"
#~ msgstr "Gefördert mit"