#7 New Form
* 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:
parent
ac665c9268
commit
98f8a222dc
@ -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,
|
||||||
@ -341,4 +328,94 @@ 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
|
||||||
|
@ -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():
|
||||||
|
@ -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-{}"
|
@ -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">
|
||||||
|
@ -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 %}
|
@ -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>
|
||||||
|
@ -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,7 +98,12 @@
|
|||||||
</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">
|
||||||
{% include 'map/geom_form.html' %}
|
<div class="row">
|
||||||
|
{% include 'map/geom_form.html' %}
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
{% include 'compensation/detail/compensation/includes/comment.html' %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -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 %}
|
@ -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
|
"""
|
||||||
pass
|
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
|
||||||
|
context = {
|
||||||
|
"form": data_form,
|
||||||
|
"geom_form": geom_form,
|
||||||
|
}
|
||||||
|
context = BaseContext(request, context).context
|
||||||
|
return render(request, template, context)
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
@ -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-{}"
|
@ -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"),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -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
|
||||||
|
@ -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-{}"
|
@ -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">
|
||||||
|
@ -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 %}
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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.
@ -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"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user