* adds EditEcoAccountForm
* adds placeholders for some form fields
* changes comment card in detail view into rlp-grayish
* adds eco account detail view comment box
* removes unnecessary loading of dal scripts in view.html
* refactors generated identifier for data objects (10 digits to 6 uppercase letter-digit combination)
* improves generate_random_string() method by adding more options for generation of strings
* adds/updates translations
This commit is contained in:
mipel 2021-10-06 13:10:10 +02:00
parent ac665c9268
commit 98f8a222dc
20 changed files with 305 additions and 166 deletions

View File

@ -64,7 +64,7 @@ class AbstractCompensationForm(BaseForm):
widget=autocomplete.ModelSelect2Multiple( widget=autocomplete.ModelSelect2Multiple(
url="codes-compensation-funding-autocomplete", url="codes-compensation-funding-autocomplete",
attrs={ attrs={
"data-placeholder": _("Funding by..."), "data-placeholder": _("Click for selection"),
} }
), ),
) )
@ -101,7 +101,7 @@ class NewCompensationForm(AbstractCompensationForm):
widget=autocomplete.ModelSelect2( widget=autocomplete.ModelSelect2(
url="interventions-autocomplete", url="interventions-autocomplete",
attrs={ attrs={
"data-placeholder": _("Intervention"), "data-placeholder": _("Click for selection"),
"data-minimum-input-length": 3, "data-minimum-input-length": 3,
} }
), ),
@ -236,6 +236,7 @@ class NewEcoAccountForm(AbstractCompensationForm):
widget=autocomplete.ModelSelect2( widget=autocomplete.ModelSelect2(
url="codes-conservation-office-autocomplete", url="codes-conservation-office-autocomplete",
attrs={ attrs={
"data-placeholder": _("Click for selection")
} }
), ),
) )
@ -264,23 +265,10 @@ class NewEcoAccountForm(AbstractCompensationForm):
} }
) )
) )
surface = forms.DecimalField(
min_value=0.00,
decimal_places=2,
label=_("Available Surface"),
label_suffix="",
help_text=_("The amount that can be used for deductions"),
widget=forms.NumberInput(
attrs={
"class": "form-control",
}
)
)
field_order = [ field_order = [
"identifier", "identifier",
"title", "title",
"conservation_office", "conservation_office",
"surface",
"conservation_file_number", "conservation_file_number",
"handler", "handler",
"fundings", "fundings",
@ -307,7 +295,6 @@ class NewEcoAccountForm(AbstractCompensationForm):
title = self.cleaned_data.get("title", None) title = self.cleaned_data.get("title", None)
fundings = self.cleaned_data.get("fundings", None) fundings = self.cleaned_data.get("fundings", None)
handler = self.cleaned_data.get("handler", None) handler = self.cleaned_data.get("handler", None)
deductable_surface = self.cleaned_data.get("surface", None)
conservation_office = self.cleaned_data.get("conservation_office", None) conservation_office = self.cleaned_data.get("conservation_office", None)
conservation_file_number = self.cleaned_data.get("conservation_file_number", None) conservation_file_number = self.cleaned_data.get("conservation_file_number", None)
comment = self.cleaned_data.get("comment", None) comment = self.cleaned_data.get("comment", None)
@ -331,7 +318,7 @@ class NewEcoAccountForm(AbstractCompensationForm):
identifier=identifier, identifier=identifier,
title=title, title=title,
responsible=responsible, responsible=responsible,
deductable_surface=deductable_surface, deductable_surface=0.00,
created=action, created=action,
geometry=geometry, geometry=geometry,
comment=comment, comment=comment,
@ -342,3 +329,93 @@ class NewEcoAccountForm(AbstractCompensationForm):
# Add the log entry to the main objects log list # Add the log entry to the main objects log list
acc.log.add(action) acc.log.add(action)
return acc return acc
class EditEcoAccountForm(NewEcoAccountForm):
surface = forms.DecimalField(
min_value=0.00,
decimal_places=2,
label=_("Available Surface"),
label_suffix="",
required=False,
help_text=_("The amount that can be used for deductions"),
widget=forms.NumberInput(
attrs={
"class": "form-control",
"placeholder": "0,00"
}
)
)
field_order = [
"identifier",
"title",
"conservation_office",
"surface",
"conservation_file_number",
"handler",
"fundings",
"comment",
]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form_title = _("Edit Eco-Account")
self.action_url = reverse("compensation:acc-edit", args=(self.instance.id,))
self.cancel_redirect = reverse("compensation:acc-open", args=(self.instance.id,))
# Initialize form data
form_data = {
"identifier": self.instance.identifier,
"title": self.instance.title,
"surface": self.instance.deductable_surface,
"handler": self.instance.responsible.handler,
"conservation_office": self.instance.responsible.conservation_office,
"conservation_file_number": self.instance.responsible.conservation_file_number,
"fundings": self.instance.fundings.all(),
"comment": self.instance.comment,
}
disabled_fields = []
self.load_initial_data(
form_data,
disabled_fields
)
def save(self, user: User, geom_form: SimpleGeomForm):
with transaction.atomic():
# Fetch data from cleaned POST values
identifier = self.cleaned_data.get("identifier", None)
title = self.cleaned_data.get("title", None)
fundings = self.cleaned_data.get("fundings", None)
handler = self.cleaned_data.get("handler", None)
surface = self.cleaned_data.get("surface", None)
conservation_office = self.cleaned_data.get("conservation_office", None)
conservation_file_number = self.cleaned_data.get("conservation_file_number", None)
comment = self.cleaned_data.get("comment", None)
# Create log entry
action = UserActionLogEntry.objects.create(
user=user,
action=UserAction.EDITED,
)
# Process the geometry form
geometry = geom_form.save(action)
# Update responsible data
self.instance.responsible.handler = handler
self.instance.responsible.conservation_office = conservation_office
self.instance.responsible.conservation_file_number = conservation_file_number
self.instance.responsible.save()
# Update main oject data
self.instance.identifier = identifier
self.instance.title = title
self.instance.deductable_surface = surface
self.instance.geometry = geometry
self.instance.comment = comment
self.instance.save()
self.instance.fundings.set(fundings)
# Add the log entry to the main objects log list
self.instance.log.add(action)
return self.instance

View File

@ -36,7 +36,8 @@ class NewPaymentForm(BaseModalForm):
help_text=_("in Euro"), help_text=_("in Euro"),
widget=forms.NumberInput( widget=forms.NumberInput(
attrs={ attrs={
"class": "form-control" "class": "form-control",
"placeholder": "0,00",
} }
) )
) )
@ -73,7 +74,6 @@ class NewPaymentForm(BaseModalForm):
self.intervention = self.instance self.intervention = self.instance
self.form_title = _("Payment") self.form_title = _("Payment")
self.form_caption = _("Add a payment for intervention '{}'").format(self.intervention.title) self.form_caption = _("Add a payment for intervention '{}'").format(self.intervention.title)
self.add_placeholder_for_field("amount", "0,00")
def is_valid(self): def is_valid(self):
""" """
@ -156,6 +156,7 @@ class NewStateModalForm(BaseModalForm):
widget=forms.NumberInput( widget=forms.NumberInput(
attrs={ attrs={
"class": "form-control", "class": "form-control",
"placeholder": "0,00"
} }
) )
) )
@ -164,7 +165,6 @@ class NewStateModalForm(BaseModalForm):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.form_title = _("New state") self.form_title = _("New state")
self.form_caption = _("Insert data for the new state") self.form_caption = _("Insert data for the new state")
self.add_placeholder_for_field("surface", "0,00")
def save(self, is_before_state: bool = False): def save(self, is_before_state: bool = False):
with transaction.atomic(): with transaction.atomic():
@ -357,6 +357,7 @@ class NewActionModalForm(BaseModalForm):
widget=forms.NumberInput( widget=forms.NumberInput(
attrs={ attrs={
"class": "form-control", "class": "form-control",
"placeholder": "0,00",
} }
) )
) )
@ -378,7 +379,6 @@ class NewActionModalForm(BaseModalForm):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.form_title = _("New action") self.form_title = _("New action")
self.form_caption = _("Insert data for the new action") self.form_caption = _("Insert data for the new action")
self.add_placeholder_for_field("amount", "0,00")
def save(self): def save(self):
with transaction.atomic(): with transaction.atomic():

View File

@ -5,8 +5,8 @@ Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 18.12.20 Created on: 18.12.20
""" """
COMPENSATION_IDENTIFIER_LENGTH = 10 COMPENSATION_IDENTIFIER_LENGTH = 6
COMPENSATION_IDENTIFIER_TEMPLATE = "KOM-{}" COMPENSATION_IDENTIFIER_TEMPLATE = "KOM-{}"
ECO_ACCOUNT_IDENTIFIER_LENGTH = 10 ECO_ACCOUNT_IDENTIFIER_LENGTH = 6
ECO_ACCOUNT_IDENTIFIER_TEMPLATE = "OEK-{}" ECO_ACCOUNT_IDENTIFIER_TEMPLATE = "OEK-{}"

View File

@ -3,7 +3,7 @@
{% if obj.comment %} {% if obj.comment %}
<div class="w-100"> <div class="w-100">
<div class="card mt-3"> <div class="card mt-3">
<div class="card-header rlp-r"> <div class="card-header rlp-gd">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12"> <div class="col-sm-12 col-md-12 col-lg-12">
<h5 class="card-title"> <h5 class="card-title">

View File

@ -0,0 +1,23 @@
{% load i18n fontawesome_5 %}
{% if obj.comment %}
<div class="w-100">
<div class="card mt-3">
<div class="card-header rlp-gd">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12">
<h5 class="card-title">
{% fa5_icon 'info-circle' %}
{% trans 'Comment' %}
</h5>
</div>
</div>
</div>
<div class="card-body">
<div class="card-text font-italic">
{{obj.comment}}
</div>
</div>
</div>
</div>
{% endif %}

View File

@ -24,7 +24,7 @@
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if is_default_member %} {% if is_default_member %}
<a href="{% url 'home' %}" class="mr-2"> <a href="{% url 'compensation:acc-edit' obj.id %}" class="mr-2">
<button class="btn btn-default" title="{% trans 'Edit' %}"> <button class="btn btn-default" title="{% trans 'Edit' %}">
{% fa5_icon 'edit' %} {% fa5_icon 'edit' %}
</button> </button>

View File

@ -30,10 +30,10 @@
<th class="w-25" scope="row">{% trans 'Title' %}</th> <th class="w-25" scope="row">{% trans 'Title' %}</th>
<td class="align-middle">{{obj.title}}</td> <td class="align-middle">{{obj.title}}</td>
</tr> </tr>
<tr> <tr {% if not obj.deductable_surface %}class="alert alert-danger" title="{% trans 'No surface deductable' %}" {% endif %}>
<th scope="row">{% trans 'Available' %}</th> <th scope="row">{% trans 'Available' %}</th>
<td class="align-middle"> <td class="align-middle">
{{available_total|floatformat:2}} / {{obj.deductable_surface|floatformat:2}} m² {{available_total|floatformat:2}} / {{obj.deductable_surface|default_if_none:0.00|floatformat:2}} m²
{% with available as value %} {% with available as value %}
{% include 'konova/custom_widgets/progressbar.html' %} {% include 'konova/custom_widgets/progressbar.html' %}
{% endwith %} {% endwith %}
@ -98,8 +98,13 @@
</div> </div>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>
<div class="row">
{% include 'compensation/detail/compensation/includes/comment.html' %}
</div>
</div>
</div> </div>
<hr> <hr>

View File

@ -1,16 +1,6 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% load i18n l10n %} {% load i18n l10n %}
{% block head %}
{% comment %}
dal documentation (django-autocomplete-light) states using form.media for adding needed scripts.
This does not work properly with modal forms, as the scripts are not loaded properly inside the modal.
Therefore the script linkages from form.media have been extracted and put inside dal/scripts.html to ensure
these scripts are loaded when needed.
{% endcomment %}
{% include 'dal/scripts.html' %}
{% endblock %}
{% block body %} {% block body %}
{% include 'form/main_data_collapse_form.html' %} {% include 'form/main_data_collapse_form.html' %}
{% endblock %} {% endblock %}

View File

@ -14,7 +14,7 @@ from django.core.exceptions import ObjectDoesNotExist
from django.http import HttpRequest, Http404, JsonResponse from django.http import HttpRequest, Http404, JsonResponse
from django.shortcuts import render, get_object_or_404, redirect from django.shortcuts import render, get_object_or_404, redirect
from compensation.forms.forms import NewEcoAccountForm from compensation.forms.forms import NewEcoAccountForm, EditEcoAccountForm
from compensation.forms.modalForms import NewStateModalForm, NewActionModalForm, NewDeadlineModalForm from compensation.forms.modalForms import NewStateModalForm, NewActionModalForm, NewDeadlineModalForm
from compensation.models import EcoAccount, EcoAccountDocument from compensation.models import EcoAccount, EcoAccountDocument
from compensation.tables import EcoAccountTable from compensation.tables import EcoAccountTable
@ -120,8 +120,38 @@ def new_id_view(request: HttpRequest):
@login_required @login_required
@default_group_required @default_group_required
def edit_view(request: HttpRequest, id: str): def edit_view(request: HttpRequest, id: str):
# ToDo """
Renders a view for editing compensations
Args:
request (HttpRequest): The incoming request
Returns:
"""
template = "compensation/new/view.html"
# Get object from db
acc = get_object_or_404(EcoAccount, id=id)
# Create forms, initialize with values from db/from POST request
data_form = EditEcoAccountForm(request.POST or None, instance=acc)
geom_form = SimpleGeomForm(request.POST or None, read_only=False, instance=acc)
if request.method == "POST":
if data_form.is_valid() and geom_form.is_valid():
# The data form takes the geom form for processing, as well as the performing user
acc = data_form.save(request.user, geom_form)
messages.success(request, _("Eco-Account {} edited").format(acc.identifier))
return redirect("compensation:acc-open", id=acc.id)
else:
messages.error(request, FORM_INVALID)
else:
# For clarification: nothing in this case
pass pass
context = {
"form": data_form,
"geom_form": geom_form,
}
context = BaseContext(request, context).context
return render(request, template, context)
@login_required @login_required

View File

@ -6,5 +6,5 @@ Created on: 19.08.21
""" """
EMA_ACCOUNT_IDENTIFIER_LENGTH = 10 EMA_ACCOUNT_IDENTIFIER_LENGTH = 6
EMA_ACCOUNT_IDENTIFIER_TEMPLATE = "EMA-{}" EMA_ACCOUNT_IDENTIFIER_TEMPLATE = "EMA-{}"

View File

@ -60,6 +60,7 @@ class NewInterventionForm(BaseForm):
widget=autocomplete.ModelSelect2( widget=autocomplete.ModelSelect2(
url="codes-process-type-autocomplete", url="codes-process-type-autocomplete",
attrs={ attrs={
"data-placeholder": _("Click for selection"),
} }
), ),
) )
@ -76,6 +77,7 @@ class NewInterventionForm(BaseForm):
widget=autocomplete.ModelSelect2Multiple( widget=autocomplete.ModelSelect2Multiple(
url="codes-law-autocomplete", url="codes-law-autocomplete",
attrs={ attrs={
"data-placeholder": _("Click for selection"),
} }
), ),
) )
@ -91,6 +93,7 @@ class NewInterventionForm(BaseForm):
widget=autocomplete.ModelSelect2( widget=autocomplete.ModelSelect2(
url="codes-registration-office-autocomplete", url="codes-registration-office-autocomplete",
attrs={ attrs={
"data-placeholder": _("Click for selection"),
} }
), ),
) )
@ -106,6 +109,7 @@ class NewInterventionForm(BaseForm):
widget=autocomplete.ModelSelect2( widget=autocomplete.ModelSelect2(
url="codes-conservation-office-autocomplete", url="codes-conservation-office-autocomplete",
attrs={ attrs={
"data-placeholder": _("Click for selection"),
} }
), ),
) )

View File

@ -277,6 +277,7 @@ class NewDeductionModalForm(BaseModalForm):
widget=forms.NumberInput( widget=forms.NumberInput(
attrs={ attrs={
"class": "form-control", "class": "form-control",
"placeholder": "0,00",
} }
) )
) )
@ -300,9 +301,6 @@ class NewDeductionModalForm(BaseModalForm):
self.form_caption = _("Enter the information for a new deduction from a chosen eco-account") self.form_caption = _("Enter the information for a new deduction from a chosen eco-account")
self.is_intervention_initially = False self.is_intervention_initially = False
# Add a placeholder for field 'surface' without having to define the whole widget above
self.add_placeholder_for_field("surface", "0,00")
# Check for Intervention or EcoAccount # Check for Intervention or EcoAccount
if isinstance(self.instance, Intervention): if isinstance(self.instance, Intervention):
# Form has been called with a given intervention # Form has been called with a given intervention

View File

@ -5,5 +5,5 @@ Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 30.11.20 Created on: 30.11.20
""" """
INTERVENTION_IDENTIFIER_LENGTH = 10 INTERVENTION_IDENTIFIER_LENGTH = 6
INTERVENTION_IDENTIFIER_TEMPLATE = "EIV-{}" INTERVENTION_IDENTIFIER_TEMPLATE = "EIV-{}"

View File

@ -3,7 +3,7 @@
{% if intervention.comment %} {% if intervention.comment %}
<div class="w-100"> <div class="w-100">
<div class="card mt-3"> <div class="card mt-3">
<div class="card-header rlp-r"> <div class="card-header rlp-gd">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12"> <div class="col-sm-12 col-md-12 col-lg-12">
<h5 class="card-title"> <h5 class="card-title">

View File

@ -1,16 +1,6 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% load i18n l10n %} {% load i18n l10n %}
{% block head %}
{% comment %}
dal documentation (django-autocomplete-light) states using form.media for adding needed scripts.
This does not work properly with modal forms, as the scripts are not loaded properly inside the modal.
Therefore the script linkages from form.media have been extracted and put inside dal/scripts.html to ensure
these scripts are loaded when needed.
{% endcomment %}
{% include 'dal/scripts.html' %}
{% endblock %}
{% block body %} {% block body %}
{% include 'form/main_data_collapse_form.html' %} {% include 'form/main_data_collapse_form.html' %}
{% endblock %} {% endblock %}

View File

@ -76,7 +76,7 @@ class BaseForm(forms.Form):
def add_placeholder_for_field(self, field: str, val): def add_placeholder_for_field(self, field: str, val):
""" """
Adds a placeholder to a field after initialization Adds a placeholder to a field after initialization without the need to redefine the form widget
Args: Args:
field (str): Field name field (str): Field name

View File

@ -191,7 +191,9 @@ class BaseObject(BaseResource):
curr_year = str(_now.year) curr_year = str(_now.year)
rand_str = generate_random_string( rand_str = generate_random_string(
length=definitions[self.__class__]["length"], length=definitions[self.__class__]["length"],
only_numbers=True, use_numbers=True,
use_letters_lc=False,
use_letters_uc=True,
) )
_str = "{}{}-{}".format(curr_month, curr_year, rand_str) _str = "{}{}-{}".format(curr_month, curr_year, rand_str)
return definitions[self.__class__]["template"].format(_str) return definitions[self.__class__]["template"].format(_str)

View File

@ -9,14 +9,18 @@ import random
import string import string
def generate_random_string(length: int, only_numbers: bool = False) -> str: def generate_random_string(length: int, use_numbers: bool = False, use_letters_lc: bool = False, use_letters_uc: bool = False) -> str:
""" """
Generates a random string of variable length Generates a random string of variable length
""" """
if only_numbers: elements = []
elements = string.digits if use_numbers:
else: elements.append(string.digits)
elements = string.ascii_letters if use_letters_lc:
elements.append(string.ascii_lowercase)
if use_letters_uc:
elements.append(string.ascii_uppercase)
elements = "".join(elements)
ret_val = "".join(random.choice(elements) for i in range(length)) ret_val = "".join(random.choice(elements) for i in range(length))
return ret_val return ret_val

Binary file not shown.

View File

@ -4,22 +4,22 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#: compensation/filters.py:71 compensation/forms/modalForms.py:35 #: compensation/filters.py:71 compensation/forms/modalForms.py:35
#: compensation/forms/modalForms.py:45 compensation/forms/modalForms.py:61 #: compensation/forms/modalForms.py:46 compensation/forms/modalForms.py:62
#: compensation/forms/modalForms.py:273 compensation/forms/modalForms.py:367 #: compensation/forms/modalForms.py:273 compensation/forms/modalForms.py:368
#: 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:151 #: intervention/forms/forms.py:53 intervention/forms/forms.py:155
#: intervention/forms/forms.py:163 intervention/forms/modalForms.py:107 #: intervention/forms/forms.py:167 intervention/forms/modalForms.py:107
#: intervention/forms/modalForms.py:120 intervention/forms/modalForms.py:133 #: intervention/forms/modalForms.py:120 intervention/forms/modalForms.py:133
#: konova/forms.py:140 konova/forms.py:244 konova/forms.py:311 #: konova/forms.py:140 konova/forms.py:244 konova/forms.py:310
#: konova/forms.py:338 konova/forms.py:348 konova/forms.py:361 #: konova/forms.py:337 konova/forms.py:347 konova/forms.py:360
#: konova/forms.py:373 konova/forms.py:394 user/forms.py:38 #: konova/forms.py:372 konova/forms.py:393 user/forms.py:38
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-05 15:19+0200\n" "POT-Creation-Date: 2021-10-06 13:06+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"
@ -55,7 +55,7 @@ msgstr "Automatisch generiert"
#: intervention/tables.py:28 #: intervention/tables.py:28
#: intervention/templates/intervention/detail/includes/compensations.html:33 #: intervention/templates/intervention/detail/includes/compensations.html:33
#: intervention/templates/intervention/detail/includes/documents.html:28 #: intervention/templates/intervention/detail/includes/documents.html:28
#: intervention/templates/intervention/detail/view.html:31 konova/forms.py:337 #: intervention/templates/intervention/detail/view.html:31 konova/forms.py:336
msgid "Title" msgid "Title"
msgstr "Bezeichnung" msgstr "Bezeichnung"
@ -75,32 +75,36 @@ msgstr "Förderungen"
msgid "Select fundings for this compensation" msgid "Select fundings for this compensation"
msgstr "Wählen Sie ggf. Fördermittelprojekte" msgstr "Wählen Sie ggf. Fördermittelprojekte"
#: compensation/forms/forms.py:67 #: compensation/forms/forms.py:67 compensation/forms/forms.py:104
msgid "Funding by..." #: compensation/forms/forms.py:239 intervention/forms/forms.py:63
msgstr "Gefördert mit..." #: intervention/forms/forms.py:80 intervention/forms/forms.py:96
#: intervention/forms/forms.py:112
msgid "Click for selection"
msgstr "Auswählen..."
#: compensation/forms/forms.py:73 compensation/forms/modalForms.py:60 #: compensation/forms/forms.py:73 compensation/forms/modalForms.py:61
#: compensation/forms/modalForms.py:272 compensation/forms/modalForms.py:366 #: 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/comment.html:11 #: compensation/templates/compensation/detail/compensation/includes/comment.html:11
#: 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
#: compensation/templates/compensation/detail/eco_account/includes/comment.html:11
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:34 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:34
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:31 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:31
#: 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:175 intervention/forms/modalForms.py:132 #: intervention/forms/forms.py:179 intervention/forms/modalForms.py:132
#: intervention/templates/intervention/detail/includes/comment.html:11 #: intervention/templates/intervention/detail/includes/comment.html:11
#: 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
#: konova/forms.py:372 #: konova/forms.py:371
msgid "Comment" msgid "Comment"
msgstr "Kommentar" msgstr "Kommentar"
#: compensation/forms/forms.py:75 intervention/forms/forms.py:177 #: compensation/forms/forms.py:75 intervention/forms/forms.py:181
msgid "Additional comment" msgid "Additional comment"
msgstr "Zusätzlicher Kommentar" msgstr "Zusätzlicher Kommentar"
@ -113,13 +117,6 @@ 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:104 intervention/forms/modalForms.py:284
#: intervention/forms/modalForms.py:291 intervention/tables.py:88
#: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/home.html:11 templates/navbar.html:22
msgid "Intervention"
msgstr "Eingriff"
#: compensation/forms/forms.py:122 #: compensation/forms/forms.py:122
msgid "New compensation" msgid "New compensation"
msgstr "Neue Kompensation" msgstr "Neue Kompensation"
@ -130,7 +127,7 @@ msgstr "Bearbeite Kompensation"
#: compensation/forms/forms.py:228 #: compensation/forms/forms.py:228
#: compensation/templates/compensation/detail/eco_account/view.html:58 #: compensation/templates/compensation/detail/eco_account/view.html:58
#: ema/templates/ema/detail/view.html:42 intervention/forms/forms.py:98 #: ema/templates/ema/detail/view.html:42 intervention/forms/forms.py:101
#: intervention/templates/intervention/detail/view.html:56 #: intervention/templates/intervention/detail/view.html:56
msgid "Conservation office" msgid "Conservation office"
msgstr "Eintragungsstelle" msgstr "Eintragungsstelle"
@ -139,69 +136,73 @@ msgstr "Eintragungsstelle"
msgid "Select the responsible office" msgid "Select the responsible office"
msgstr "Verantwortliche Stelle" msgstr "Verantwortliche Stelle"
#: compensation/forms/forms.py:243 #: compensation/forms/forms.py:244
#: compensation/templates/compensation/detail/eco_account/view.html:62 #: compensation/templates/compensation/detail/eco_account/view.html:62
#: ema/templates/ema/detail/view.html:46 intervention/forms/forms.py:125 #: ema/templates/ema/detail/view.html:46 intervention/forms/forms.py:129
#: intervention/templates/intervention/detail/view.html:60 #: intervention/templates/intervention/detail/view.html:60
msgid "Conservation office file number" msgid "Conservation office file number"
msgstr "Aktenzeichen Eintragungsstelle" msgstr "Aktenzeichen Eintragungsstelle"
#: compensation/forms/forms.py:249 intervention/forms/forms.py:131 #: compensation/forms/forms.py:250 intervention/forms/forms.py:135
msgid "ETS-123/ABC.456" msgid "ETS-123/ABC.456"
msgstr "" msgstr ""
#: compensation/forms/forms.py:255 #: compensation/forms/forms.py:256
msgid "Eco-account handler" msgid "Eco-account handler"
msgstr "Maßnahmenträger" msgstr "Maßnahmenträger"
#: compensation/forms/forms.py:259 #: compensation/forms/forms.py:260
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:262 intervention/forms/forms.py:144 #: compensation/forms/forms.py:263 intervention/forms/forms.py:148
msgid "Company Mustermann" msgid "Company Mustermann"
msgstr "Firma Mustermann" msgstr "Firma Mustermann"
#: compensation/forms/forms.py:270 #: compensation/forms/forms.py:280
msgid "Available Surface"
msgstr "Verfügbare Fläche"
#: compensation/forms/forms.py:272
msgid "The amount that can be used for deductions"
msgstr "Die für Abbuchungen zur Verfügung stehende Menge"
#: compensation/forms/forms.py:292
msgid "New Eco-Account" msgid "New Eco-Account"
msgstr "Neues Ökokonto" msgstr "Neues Ökokonto"
#: compensation/forms/forms.py:301 #: compensation/forms/forms.py:289
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:338
msgid "Available Surface"
msgstr "Verfügbare Fläche"
#: compensation/forms/forms.py:341
msgid "The amount that can be used for deductions"
msgstr "Die für Abbuchungen zur Verfügung stehende Menge"
#: compensation/forms/forms.py:362
msgid "Edit Eco-Account"
msgstr "Ökokonto bearbeiten"
#: compensation/forms/modalForms.py:36 #: compensation/forms/modalForms.py:36
msgid "in Euro" msgid "in Euro"
msgstr "in Euro" msgstr "in Euro"
#: compensation/forms/modalForms.py:44 #: compensation/forms/modalForms.py:45
#: intervention/templates/intervention/detail/includes/payments.html:31 #: intervention/templates/intervention/detail/includes/payments.html:31
msgid "Due on" msgid "Due on"
msgstr "Fällig am" msgstr "Fällig am"
#: compensation/forms/modalForms.py:47 #: compensation/forms/modalForms.py:48
msgid "Due on which date" msgid "Due on which date"
msgstr "Zahlung wird an diesem Datum erwartet" msgstr "Zahlung wird an diesem Datum erwartet"
#: compensation/forms/modalForms.py:62 compensation/forms/modalForms.py:274 #: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:274
#: compensation/forms/modalForms.py:368 intervention/forms/modalForms.py:134 #: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:134
#: konova/forms.py:374 #: konova/forms.py:373
msgid "Additional comment, maximum {} letters" msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
#: compensation/forms/modalForms.py:74 #: compensation/forms/modalForms.py:75
msgid "Payment" msgid "Payment"
msgstr "Zahlung" msgstr "Zahlung"
#: compensation/forms/modalForms.py:75 #: compensation/forms/modalForms.py:76
msgid "Add a payment for intervention '{}'" msgid "Add a payment for intervention '{}'"
msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen" msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen"
@ -236,11 +237,11 @@ msgstr "Fläche"
msgid "in m²" msgid "in m²"
msgstr "" msgstr ""
#: compensation/forms/modalForms.py:165 #: compensation/forms/modalForms.py:166
msgid "New state" msgid "New state"
msgstr "Neuer Zustand" msgstr "Neuer Zustand"
#: compensation/forms/modalForms.py:166 #: compensation/forms/modalForms.py:167
msgid "Insert data for the new state" msgid "Insert data for the new state"
msgstr "Geben Sie die Daten des neuen Zustandes ein" msgstr "Geben Sie die Daten des neuen Zustandes ein"
@ -336,11 +337,11 @@ msgstr "Menge"
msgid "Insert the amount" msgid "Insert the amount"
msgstr "Menge eingeben" msgstr "Menge eingeben"
#: compensation/forms/modalForms.py:379 #: compensation/forms/modalForms.py:380
msgid "New action" msgid "New action"
msgstr "Neue Maßnahme" msgstr "Neue Maßnahme"
#: compensation/forms/modalForms.py:380 #: compensation/forms/modalForms.py:381
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"
@ -587,7 +588,7 @@ msgstr "Dokumente"
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:14 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:14
#: ema/templates/ema/detail/includes/documents.html:14 #: ema/templates/ema/detail/includes/documents.html:14
#: intervention/templates/intervention/detail/includes/documents.html:14 #: intervention/templates/intervention/detail/includes/documents.html:14
#: konova/forms.py:393 #: konova/forms.py:392
msgid "Add new document" msgid "Add new document"
msgstr "Neues Dokument hinzufügen" msgstr "Neues Dokument hinzufügen"
@ -736,6 +737,10 @@ msgstr "Erstellt"
msgid "Remove Deduction" msgid "Remove Deduction"
msgstr "Abbuchung entfernen" msgstr "Abbuchung entfernen"
#: compensation/templates/compensation/detail/eco_account/view.html:34
msgid "No surface deductable"
msgstr "Keine Flächenmenge für Abbuchungen eingegeben. Bitte bearbeiten."
#: compensation/templates/compensation/detail/eco_account/view.html:57 #: compensation/templates/compensation/detail/eco_account/view.html:57
#: compensation/templates/compensation/detail/eco_account/view.html:61 #: compensation/templates/compensation/detail/eco_account/view.html:61
#: compensation/templates/compensation/detail/eco_account/view.html:65 #: compensation/templates/compensation/detail/eco_account/view.html:65
@ -755,7 +760,7 @@ msgid "Missing"
msgstr "Fehlt" msgstr "Fehlt"
#: compensation/templates/compensation/detail/eco_account/view.html:66 #: compensation/templates/compensation/detail/eco_account/view.html:66
#: ema/templates/ema/detail/view.html:50 intervention/forms/forms.py:137 #: ema/templates/ema/detail/view.html:50 intervention/forms/forms.py:141
#: intervention/templates/intervention/detail/view.html:64 #: intervention/templates/intervention/detail/view.html:64
msgid "Intervention handler" msgid "Intervention handler"
msgstr "Eingriffsverursacher" msgstr "Eingriffsverursacher"
@ -769,7 +774,7 @@ msgid "Compensation {} edited"
msgstr "Kompensation {} bearbeitet" msgstr "Kompensation {} bearbeitet"
#: compensation/views/compensation_views.py:211 #: compensation/views/compensation_views.py:211
#: compensation/views/eco_account_views.py:248 ema/views.py:128 #: compensation/views/eco_account_views.py:278 ema/views.py:128
#: intervention/views.py:428 #: intervention/views.py:428
msgid "Log" msgid "Log"
msgstr "Log" msgstr "Log"
@ -779,23 +784,23 @@ msgid "Compensation removed"
msgstr "Kompensation entfernt" msgstr "Kompensation entfernt"
#: compensation/views/compensation_views.py:251 #: compensation/views/compensation_views.py:251
#: compensation/views/eco_account_views.py:347 ema/views.py:250 #: compensation/views/eco_account_views.py:377 ema/views.py:250
#: intervention/views.py:124 #: intervention/views.py:124
msgid "Document added" msgid "Document added"
msgstr "Dokument hinzugefügt" msgstr "Dokument hinzugefügt"
#: compensation/views/compensation_views.py:307 #: compensation/views/compensation_views.py:307
#: compensation/views/eco_account_views.py:291 ema/views.py:194 #: compensation/views/eco_account_views.py:321 ema/views.py:194
msgid "State added" msgid "State added"
msgstr "Zustand hinzugefügt" msgstr "Zustand hinzugefügt"
#: compensation/views/compensation_views.py:326 #: compensation/views/compensation_views.py:326
#: compensation/views/eco_account_views.py:310 ema/views.py:213 #: compensation/views/eco_account_views.py:340 ema/views.py:213
msgid "Action added" msgid "Action added"
msgstr "Maßnahme hinzugefügt" msgstr "Maßnahme hinzugefügt"
#: compensation/views/compensation_views.py:345 #: compensation/views/compensation_views.py:345
#: compensation/views/eco_account_views.py:329 ema/views.py:232 #: compensation/views/eco_account_views.py:359 ema/views.py:232
msgid "Deadline added" msgid "Deadline added"
msgstr "Frist/Termin hinzugefügt" msgstr "Frist/Termin hinzugefügt"
@ -807,29 +812,33 @@ msgstr "Zustand gelöscht"
msgid "Action removed" msgid "Action removed"
msgstr "Maßnahme entfernt" msgstr "Maßnahme entfernt"
#: compensation/views/eco_account_views.py:87 #: 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:198 #: compensation/views/eco_account_views.py:142
msgid "Eco-Account {} edited"
msgstr "Ökokonto {} bearbeitet"
#: compensation/views/eco_account_views.py:228
msgid "Eco-account removed" msgid "Eco-account removed"
msgstr "Ökokonto entfernt" msgstr "Ökokonto entfernt"
#: compensation/views/eco_account_views.py:225 #: compensation/views/eco_account_views.py:255
msgid "Deduction removed" msgid "Deduction removed"
msgstr "Abbuchung entfernt" msgstr "Abbuchung entfernt"
#: compensation/views/eco_account_views.py:268 ema/views.py:171 #: compensation/views/eco_account_views.py:298 ema/views.py:171
#: intervention/views.py:468 #: intervention/views.py:468
msgid "{} unrecorded" msgid "{} unrecorded"
msgstr "{} entzeichnet" msgstr "{} entzeichnet"
#: compensation/views/eco_account_views.py:268 ema/views.py:171 #: compensation/views/eco_account_views.py:298 ema/views.py:171
#: intervention/views.py:468 #: intervention/views.py:468
msgid "{} recorded" msgid "{} recorded"
msgstr "{} verzeichnet" msgstr "{} verzeichnet"
#: compensation/views/eco_account_views.py:404 intervention/views.py:450 #: compensation/views/eco_account_views.py:434 intervention/views.py:450
msgid "Deduction added" msgid "Deduction added"
msgstr "Abbuchung hinzugefügt" msgstr "Abbuchung hinzugefügt"
@ -890,48 +899,48 @@ msgstr "Bauvorhaben XY; Flur ABC"
msgid "Process type" msgid "Process type"
msgstr "Verfahrenstyp" msgstr "Verfahrenstyp"
#: intervention/forms/forms.py:67 #: intervention/forms/forms.py:68
#: intervention/templates/intervention/detail/view.html:39 #: intervention/templates/intervention/detail/view.html:39
msgid "Law" msgid "Law"
msgstr "Gesetz" msgstr "Gesetz"
#: intervention/forms/forms.py:69 #: intervention/forms/forms.py:70
msgid "Multiple selection possible" msgid "Multiple selection possible"
msgstr "Mehrfachauswahl möglich" msgstr "Mehrfachauswahl möglich"
#: intervention/forms/forms.py:83 #: intervention/forms/forms.py:85
#: intervention/templates/intervention/detail/view.html:48 #: intervention/templates/intervention/detail/view.html:48
msgid "Registration office" msgid "Registration office"
msgstr "Zulassungsbehörde" msgstr "Zulassungsbehörde"
#: intervention/forms/forms.py:113 #: intervention/forms/forms.py:117
#: intervention/templates/intervention/detail/view.html:52 #: intervention/templates/intervention/detail/view.html:52
msgid "Registration office file number" msgid "Registration office file number"
msgstr "Aktenzeichen Zulassungsbehörde" msgstr "Aktenzeichen Zulassungsbehörde"
#: intervention/forms/forms.py:119 #: intervention/forms/forms.py:123
msgid "ZB-123/ABC.456" msgid "ZB-123/ABC.456"
msgstr "" msgstr ""
#: intervention/forms/forms.py:141 #: intervention/forms/forms.py:145
msgid "Who performs the intervention" msgid "Who performs the intervention"
msgstr "Wer führt den Eingriff durch" msgstr "Wer führt den Eingriff durch"
#: intervention/forms/forms.py:150 #: intervention/forms/forms.py:154
#: intervention/templates/intervention/detail/view.html:96 #: intervention/templates/intervention/detail/view.html:96
msgid "Registration date" msgid "Registration date"
msgstr "Datum Zulassung bzw. Satzungsbeschluss" msgstr "Datum Zulassung bzw. Satzungsbeschluss"
#: intervention/forms/forms.py:162 #: intervention/forms/forms.py:166
#: intervention/templates/intervention/detail/view.html:100 #: intervention/templates/intervention/detail/view.html:100
msgid "Binding on" msgid "Binding on"
msgstr "Datum Bestandskraft" msgstr "Datum Bestandskraft"
#: intervention/forms/forms.py:188 #: intervention/forms/forms.py:192
msgid "New intervention" msgid "New intervention"
msgstr "Neuer Eingriff" msgstr "Neuer Eingriff"
#: intervention/forms/forms.py:269 #: intervention/forms/forms.py:273
msgid "Edit intervention" msgid "Edit intervention"
msgstr "Eingriff bearbeiten" msgstr "Eingriff bearbeiten"
@ -965,7 +974,7 @@ msgstr "Datum des Widerspruchs"
msgid "Document" msgid "Document"
msgstr "Dokument" msgstr "Dokument"
#: intervention/forms/modalForms.py:122 konova/forms.py:362 #: intervention/forms/modalForms.py:122 konova/forms.py:361
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"
@ -987,7 +996,7 @@ msgstr "Kompensationen und Zahlungen geprüft"
msgid "Run check" msgid "Run check"
msgstr "Prüfung vornehmen" msgstr "Prüfung vornehmen"
#: intervention/forms/modalForms.py:201 konova/forms.py:447 #: intervention/forms/modalForms.py:201 konova/forms.py:446
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."
@ -999,19 +1008,26 @@ msgstr ""
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:286 #: intervention/forms/modalForms.py:285 intervention/forms/modalForms.py:292
#: intervention/tables.py:88
#: intervention/templates/intervention/detail/view.html:19
#: konova/templates/konova/home.html:11 templates/navbar.html:22
msgid "Intervention"
msgstr "Eingriff"
#: intervention/forms/modalForms.py:287
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:299 #: intervention/forms/modalForms.py:300
msgid "New Deduction" msgid "New Deduction"
msgstr "Neue Abbuchung" msgstr "Neue Abbuchung"
#: intervention/forms/modalForms.py:300 #: intervention/forms/modalForms.py:301
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:336 #: intervention/forms/modalForms.py:334
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."
@ -1019,7 +1035,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:349 #: intervention/forms/modalForms.py:347
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"
@ -1203,11 +1219,11 @@ msgstr ""
msgid "Not editable" msgid "Not editable"
msgstr "Nicht editierbar" msgstr "Nicht editierbar"
#: konova/forms.py:139 konova/forms.py:310 #: konova/forms.py:139 konova/forms.py:309
msgid "Confirm" msgid "Confirm"
msgstr "Bestätige" msgstr "Bestätige"
#: konova/forms.py:151 konova/forms.py:319 #: konova/forms.py:151 konova/forms.py:318
msgid "Remove" msgid "Remove"
msgstr "Löschen" msgstr "Löschen"
@ -1219,44 +1235,44 @@ msgstr "Sie sind dabei {} {} zu löschen"
msgid "Geometry" msgid "Geometry"
msgstr "Geometrie" msgstr "Geometrie"
#: konova/forms.py:320 #: konova/forms.py:319
msgid "Are you sure?" msgid "Are you sure?"
msgstr "Sind Sie sicher?" msgstr "Sind Sie sicher?"
#: konova/forms.py:347 #: konova/forms.py:346
msgid "Created on" msgid "Created on"
msgstr "Erstellt" msgstr "Erstellt"
#: konova/forms.py:349 #: konova/forms.py:348
msgid "When has this file been created? Important for photos." msgid "When has this file been created? Important for photos."
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?" msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
#: konova/forms.py:360 #: konova/forms.py:359
#: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231 #: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231
msgid "File" msgid "File"
msgstr "Datei" msgstr "Datei"
#: konova/forms.py:424 #: konova/forms.py:423
msgid "Added document" msgid "Added document"
msgstr "Dokument hinzugefügt" msgstr "Dokument hinzugefügt"
#: konova/forms.py:438 #: konova/forms.py:437
msgid "Confirm record" msgid "Confirm record"
msgstr "Verzeichnen bestätigen" msgstr "Verzeichnen bestätigen"
#: konova/forms.py:446 #: konova/forms.py:445
msgid "Record data" msgid "Record data"
msgstr "Daten verzeichnen" msgstr "Daten verzeichnen"
#: konova/forms.py:453 #: konova/forms.py:452
msgid "Confirm unrecord" msgid "Confirm unrecord"
msgstr "Entzeichnen bestätigen" msgstr "Entzeichnen bestätigen"
#: konova/forms.py:454 #: konova/forms.py:453
msgid "Unrecord data" msgid "Unrecord data"
msgstr "Daten entzeichnen" msgstr "Daten entzeichnen"
#: konova/forms.py:455 #: konova/forms.py:454
msgid "I, {} {}, confirm that this data must be unrecorded." msgid "I, {} {}, confirm that this data must be unrecorded."
msgstr "" msgstr ""
"Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen." "Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen."
@ -1285,19 +1301,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:204 #: konova/models.py:206
msgid "Finished" msgid "Finished"
msgstr "Umgesetzt bis" msgstr "Umgesetzt bis"
#: konova/models.py:205 #: konova/models.py:207
msgid "Maintain" msgid "Maintain"
msgstr "Unterhaltung bis" msgstr "Unterhaltung bis"
#: konova/models.py:206 #: konova/models.py:208
msgid "Control" msgid "Control"
msgstr "Kontrolle am" msgstr "Kontrolle am"
#: konova/models.py:207 #: konova/models.py:209
msgid "Other" msgid "Other"
msgstr "Sonstige" msgstr "Sonstige"
@ -2816,6 +2832,9 @@ msgstr ""
msgid "A fontawesome icon field" msgid "A fontawesome icon field"
msgstr "" msgstr ""
#~ msgid "Funding by..."
#~ msgstr "Gefördert mit..."
#~ msgid "Invalid input" #~ msgid "Invalid input"
#~ msgstr "Eingabe fehlerhaft" #~ msgstr "Eingabe fehlerhaft"
@ -2894,9 +2913,6 @@ msgstr ""
#~ msgid "Add new eco account" #~ msgid "Add new eco account"
#~ msgstr "Neues Ökokonto hinzufügen" #~ msgstr "Neues Ökokonto hinzufügen"
#~ msgid "Edit eco account"
#~ msgstr "Ökokonto bearbeiten"
#~ msgid "Add new EMA" #~ msgid "Add new EMA"
#~ msgstr "Neue EMA hinzufügen" #~ msgstr "Neue EMA hinzufügen"