diff --git a/compensation/forms/forms.py b/compensation/forms/forms.py index 95bb87d9..5959f53a 100644 --- a/compensation/forms/forms.py +++ b/compensation/forms/forms.py @@ -64,7 +64,7 @@ class AbstractCompensationForm(BaseForm): widget=autocomplete.ModelSelect2Multiple( url="codes-compensation-funding-autocomplete", attrs={ - "data-placeholder": _("Funding by..."), + "data-placeholder": _("Click for selection"), } ), ) @@ -101,7 +101,7 @@ class NewCompensationForm(AbstractCompensationForm): widget=autocomplete.ModelSelect2( url="interventions-autocomplete", attrs={ - "data-placeholder": _("Intervention"), + "data-placeholder": _("Click for selection"), "data-minimum-input-length": 3, } ), @@ -236,6 +236,7 @@ class NewEcoAccountForm(AbstractCompensationForm): widget=autocomplete.ModelSelect2( url="codes-conservation-office-autocomplete", 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 = [ "identifier", "title", "conservation_office", - "surface", "conservation_file_number", "handler", "fundings", @@ -307,7 +295,6 @@ class NewEcoAccountForm(AbstractCompensationForm): title = self.cleaned_data.get("title", None) fundings = self.cleaned_data.get("fundings", 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_file_number = self.cleaned_data.get("conservation_file_number", None) comment = self.cleaned_data.get("comment", None) @@ -331,7 +318,7 @@ class NewEcoAccountForm(AbstractCompensationForm): identifier=identifier, title=title, responsible=responsible, - deductable_surface=deductable_surface, + deductable_surface=0.00, created=action, geometry=geometry, comment=comment, @@ -341,4 +328,94 @@ class NewEcoAccountForm(AbstractCompensationForm): # Add the log entry to the main objects log list acc.log.add(action) - return acc \ No newline at end of file + 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 diff --git a/compensation/forms/modalForms.py b/compensation/forms/modalForms.py index 1ae0ad05..2cc10643 100644 --- a/compensation/forms/modalForms.py +++ b/compensation/forms/modalForms.py @@ -36,7 +36,8 @@ class NewPaymentForm(BaseModalForm): help_text=_("in Euro"), widget=forms.NumberInput( attrs={ - "class": "form-control" + "class": "form-control", + "placeholder": "0,00", } ) ) @@ -73,7 +74,6 @@ class NewPaymentForm(BaseModalForm): self.intervention = self.instance self.form_title = _("Payment") self.form_caption = _("Add a payment for intervention '{}'").format(self.intervention.title) - self.add_placeholder_for_field("amount", "0,00") def is_valid(self): """ @@ -156,6 +156,7 @@ class NewStateModalForm(BaseModalForm): widget=forms.NumberInput( attrs={ "class": "form-control", + "placeholder": "0,00" } ) ) @@ -164,7 +165,6 @@ class NewStateModalForm(BaseModalForm): super().__init__(*args, **kwargs) self.form_title = _("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): with transaction.atomic(): @@ -357,6 +357,7 @@ class NewActionModalForm(BaseModalForm): widget=forms.NumberInput( attrs={ "class": "form-control", + "placeholder": "0,00", } ) ) @@ -378,7 +379,6 @@ class NewActionModalForm(BaseModalForm): super().__init__(*args, **kwargs) self.form_title = _("New action") self.form_caption = _("Insert data for the new action") - self.add_placeholder_for_field("amount", "0,00") def save(self): with transaction.atomic(): diff --git a/compensation/settings.py b/compensation/settings.py index 7953f34e..2ac54646 100644 --- a/compensation/settings.py +++ b/compensation/settings.py @@ -5,8 +5,8 @@ Contact: michel.peltriaux@sgdnord.rlp.de Created on: 18.12.20 """ -COMPENSATION_IDENTIFIER_LENGTH = 10 +COMPENSATION_IDENTIFIER_LENGTH = 6 COMPENSATION_IDENTIFIER_TEMPLATE = "KOM-{}" -ECO_ACCOUNT_IDENTIFIER_LENGTH = 10 +ECO_ACCOUNT_IDENTIFIER_LENGTH = 6 ECO_ACCOUNT_IDENTIFIER_TEMPLATE = "OEK-{}" \ No newline at end of file diff --git a/compensation/templates/compensation/detail/compensation/includes/comment.html b/compensation/templates/compensation/detail/compensation/includes/comment.html index 4f3243b5..aff3dec8 100644 --- a/compensation/templates/compensation/detail/compensation/includes/comment.html +++ b/compensation/templates/compensation/detail/compensation/includes/comment.html @@ -3,7 +3,7 @@ {% if obj.comment %}
-
+
diff --git a/compensation/templates/compensation/detail/eco_account/includes/comment.html b/compensation/templates/compensation/detail/eco_account/includes/comment.html new file mode 100644 index 00000000..aff3dec8 --- /dev/null +++ b/compensation/templates/compensation/detail/eco_account/includes/comment.html @@ -0,0 +1,23 @@ +{% load i18n fontawesome_5 %} + +{% if obj.comment %} +
+
+
+
+
+
+ {% fa5_icon 'info-circle' %} + {% trans 'Comment' %} +
+
+
+
+
+
+ {{obj.comment}} +
+
+
+
+{% endif %} \ No newline at end of file diff --git a/compensation/templates/compensation/detail/eco_account/includes/controls.html b/compensation/templates/compensation/detail/eco_account/includes/controls.html index e7543612..76e3b2b9 100644 --- a/compensation/templates/compensation/detail/eco_account/includes/controls.html +++ b/compensation/templates/compensation/detail/eco_account/includes/controls.html @@ -24,7 +24,7 @@ {% endif %} {% endif %} {% if is_default_member %} - + diff --git a/compensation/templates/compensation/detail/eco_account/view.html b/compensation/templates/compensation/detail/eco_account/view.html index 11994778..6e8cd4e1 100644 --- a/compensation/templates/compensation/detail/eco_account/view.html +++ b/compensation/templates/compensation/detail/eco_account/view.html @@ -30,10 +30,10 @@ {% trans 'Title' %} {{obj.title}} - + {% trans 'Available' %} - {{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 %} {% include 'konova/custom_widgets/progressbar.html' %} {% endwith %} @@ -98,7 +98,12 @@
- {% include 'map/geom_form.html' %} +
+ {% include 'map/geom_form.html' %} +
+
+ {% include 'compensation/detail/compensation/includes/comment.html' %} +

diff --git a/compensation/templates/compensation/new/view.html b/compensation/templates/compensation/new/view.html index ccd43fe9..eb37e6b7 100644 --- a/compensation/templates/compensation/new/view.html +++ b/compensation/templates/compensation/new/view.html @@ -1,16 +1,6 @@ {% extends 'base.html' %} {% 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 %} {% include 'form/main_data_collapse_form.html' %} {% endblock %} \ No newline at end of file diff --git a/compensation/views/eco_account_views.py b/compensation/views/eco_account_views.py index 90c3212d..c0cbc781 100644 --- a/compensation/views/eco_account_views.py +++ b/compensation/views/eco_account_views.py @@ -14,7 +14,7 @@ from django.core.exceptions import ObjectDoesNotExist from django.http import HttpRequest, Http404, JsonResponse 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.models import EcoAccount, EcoAccountDocument from compensation.tables import EcoAccountTable @@ -120,8 +120,38 @@ def new_id_view(request: HttpRequest): @login_required @default_group_required 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 diff --git a/ema/settings.py b/ema/settings.py index 6edf90af..0c6f5b6b 100644 --- a/ema/settings.py +++ b/ema/settings.py @@ -6,5 +6,5 @@ Created on: 19.08.21 """ -EMA_ACCOUNT_IDENTIFIER_LENGTH = 10 +EMA_ACCOUNT_IDENTIFIER_LENGTH = 6 EMA_ACCOUNT_IDENTIFIER_TEMPLATE = "EMA-{}" \ No newline at end of file diff --git a/intervention/forms/forms.py b/intervention/forms/forms.py index 8bf52a36..27e2acf5 100644 --- a/intervention/forms/forms.py +++ b/intervention/forms/forms.py @@ -60,6 +60,7 @@ class NewInterventionForm(BaseForm): widget=autocomplete.ModelSelect2( url="codes-process-type-autocomplete", attrs={ + "data-placeholder": _("Click for selection"), } ), ) @@ -76,6 +77,7 @@ class NewInterventionForm(BaseForm): widget=autocomplete.ModelSelect2Multiple( url="codes-law-autocomplete", attrs={ + "data-placeholder": _("Click for selection"), } ), ) @@ -91,6 +93,7 @@ class NewInterventionForm(BaseForm): widget=autocomplete.ModelSelect2( url="codes-registration-office-autocomplete", attrs={ + "data-placeholder": _("Click for selection"), } ), ) @@ -106,6 +109,7 @@ class NewInterventionForm(BaseForm): widget=autocomplete.ModelSelect2( url="codes-conservation-office-autocomplete", attrs={ + "data-placeholder": _("Click for selection"), } ), ) diff --git a/intervention/forms/modalForms.py b/intervention/forms/modalForms.py index d17e59bf..1af0ddcf 100644 --- a/intervention/forms/modalForms.py +++ b/intervention/forms/modalForms.py @@ -277,6 +277,7 @@ class NewDeductionModalForm(BaseModalForm): widget=forms.NumberInput( attrs={ "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.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 if isinstance(self.instance, Intervention): # Form has been called with a given intervention diff --git a/intervention/settings.py b/intervention/settings.py index 038fa179..2b6ebee8 100644 --- a/intervention/settings.py +++ b/intervention/settings.py @@ -5,5 +5,5 @@ Contact: michel.peltriaux@sgdnord.rlp.de Created on: 30.11.20 """ -INTERVENTION_IDENTIFIER_LENGTH = 10 +INTERVENTION_IDENTIFIER_LENGTH = 6 INTERVENTION_IDENTIFIER_TEMPLATE = "EIV-{}" \ No newline at end of file diff --git a/intervention/templates/intervention/detail/includes/comment.html b/intervention/templates/intervention/detail/includes/comment.html index 5c37a420..2f253568 100644 --- a/intervention/templates/intervention/detail/includes/comment.html +++ b/intervention/templates/intervention/detail/includes/comment.html @@ -3,7 +3,7 @@ {% if intervention.comment %}
-
+
diff --git a/intervention/templates/intervention/new/view.html b/intervention/templates/intervention/new/view.html index ccd43fe9..eb37e6b7 100644 --- a/intervention/templates/intervention/new/view.html +++ b/intervention/templates/intervention/new/view.html @@ -1,16 +1,6 @@ {% extends 'base.html' %} {% 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 %} {% include 'form/main_data_collapse_form.html' %} {% endblock %} \ No newline at end of file diff --git a/konova/forms.py b/konova/forms.py index 89dd240b..26914d27 100644 --- a/konova/forms.py +++ b/konova/forms.py @@ -76,7 +76,7 @@ class BaseForm(forms.Form): 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: field (str): Field name diff --git a/konova/models.py b/konova/models.py index 7552c150..ab4ad7ae 100644 --- a/konova/models.py +++ b/konova/models.py @@ -191,7 +191,9 @@ class BaseObject(BaseResource): curr_year = str(_now.year) rand_str = generate_random_string( 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) return definitions[self.__class__]["template"].format(_str) diff --git a/konova/utils/generators.py b/konova/utils/generators.py index 46a3a4db..dfae78f7 100644 --- a/konova/utils/generators.py +++ b/konova/utils/generators.py @@ -9,14 +9,18 @@ import random 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 """ - if only_numbers: - elements = string.digits - else: - elements = string.ascii_letters + elements = [] + if use_numbers: + elements.append(string.digits) + 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)) return ret_val diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index 1dbe28f6..c8c53a96 100644 Binary files a/locale/de/LC_MESSAGES/django.mo and b/locale/de/LC_MESSAGES/django.mo differ diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index f6751e7b..e8cf0800 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -4,22 +4,22 @@ # FIRST AUTHOR , YEAR. # #: compensation/filters.py:71 compensation/forms/modalForms.py:35 -#: compensation/forms/modalForms.py:45 compensation/forms/modalForms.py:61 -#: compensation/forms/modalForms.py:273 compensation/forms/modalForms.py:367 +#: compensation/forms/modalForms.py:46 compensation/forms/modalForms.py:62 +#: compensation/forms/modalForms.py:273 compensation/forms/modalForms.py:368 #: intervention/filters.py:26 intervention/filters.py:40 #: intervention/filters.py:47 intervention/filters.py:48 -#: intervention/forms/forms.py:53 intervention/forms/forms.py:151 -#: intervention/forms/forms.py:163 intervention/forms/modalForms.py:107 +#: intervention/forms/forms.py:53 intervention/forms/forms.py:155 +#: intervention/forms/forms.py:167 intervention/forms/modalForms.py:107 #: 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:338 konova/forms.py:348 konova/forms.py:361 -#: konova/forms.py:373 konova/forms.py:394 user/forms.py:38 +#: konova/forms.py:140 konova/forms.py:244 konova/forms.py:310 +#: konova/forms.py:337 konova/forms.py:347 konova/forms.py:360 +#: konova/forms.py:372 konova/forms.py:393 user/forms.py:38 #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\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" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,7 +55,7 @@ msgstr "Automatisch generiert" #: intervention/tables.py:28 #: intervention/templates/intervention/detail/includes/compensations.html:33 #: 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" msgstr "Bezeichnung" @@ -75,32 +75,36 @@ msgstr "Förderungen" msgid "Select fundings for this compensation" msgstr "Wählen Sie ggf. Fördermittelprojekte" -#: compensation/forms/forms.py:67 -msgid "Funding by..." -msgstr "Gefördert mit..." +#: compensation/forms/forms.py:67 compensation/forms/forms.py:104 +#: compensation/forms/forms.py:239 intervention/forms/forms.py:63 +#: 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/modalForms.py:272 compensation/forms/modalForms.py:366 +#: compensation/forms/forms.py:73 compensation/forms/modalForms.py:61 +#: 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/comment.html:11 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34 #: 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/comment.html:11 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:34 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:31 #: ema/templates/ema/detail/includes/actions.html:34 #: ema/templates/ema/detail/includes/deadlines.html:34 #: 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/documents.html:31 #: intervention/templates/intervention/detail/includes/payments.html:34 #: intervention/templates/intervention/detail/includes/revocation.html:38 -#: konova/forms.py:372 +#: konova/forms.py:371 msgid "Comment" 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" msgstr "Zusätzlicher Kommentar" @@ -113,13 +117,6 @@ msgstr "kompensiert Eingriff" msgid "Select the intervention for which this compensation compensates" 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 msgid "New compensation" msgstr "Neue Kompensation" @@ -130,7 +127,7 @@ msgstr "Bearbeite Kompensation" #: compensation/forms/forms.py:228 #: 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 msgid "Conservation office" msgstr "Eintragungsstelle" @@ -139,69 +136,73 @@ msgstr "Eintragungsstelle" msgid "Select the responsible office" msgstr "Verantwortliche Stelle" -#: compensation/forms/forms.py:243 +#: compensation/forms/forms.py:244 #: 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 msgid "Conservation office file number" 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" msgstr "" -#: compensation/forms/forms.py:255 +#: compensation/forms/forms.py:256 msgid "Eco-account handler" msgstr "Maßnahmenträger" -#: compensation/forms/forms.py:259 +#: compensation/forms/forms.py:260 msgid "Who handles the eco-account" 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" msgstr "Firma Mustermann" -#: compensation/forms/forms.py:270 -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 +#: compensation/forms/forms.py:280 msgid "New Eco-Account" msgstr "Neues Ökokonto" -#: compensation/forms/forms.py:301 +#: compensation/forms/forms.py:289 msgid "Eco-Account XY; Location 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 msgid "in Euro" msgstr "in Euro" -#: compensation/forms/modalForms.py:44 +#: compensation/forms/modalForms.py:45 #: intervention/templates/intervention/detail/includes/payments.html:31 msgid "Due on" msgstr "Fällig am" -#: compensation/forms/modalForms.py:47 +#: compensation/forms/modalForms.py:48 msgid "Due on which date" msgstr "Zahlung wird an diesem Datum erwartet" -#: compensation/forms/modalForms.py:62 compensation/forms/modalForms.py:274 -#: compensation/forms/modalForms.py:368 intervention/forms/modalForms.py:134 -#: konova/forms.py:374 +#: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:274 +#: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:134 +#: konova/forms.py:373 msgid "Additional comment, maximum {} letters" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" -#: compensation/forms/modalForms.py:74 +#: compensation/forms/modalForms.py:75 msgid "Payment" msgstr "Zahlung" -#: compensation/forms/modalForms.py:75 +#: compensation/forms/modalForms.py:76 msgid "Add a payment for intervention '{}'" msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen" @@ -236,11 +237,11 @@ msgstr "Fläche" msgid "in m²" msgstr "" -#: compensation/forms/modalForms.py:165 +#: compensation/forms/modalForms.py:166 msgid "New state" msgstr "Neuer Zustand" -#: compensation/forms/modalForms.py:166 +#: compensation/forms/modalForms.py:167 msgid "Insert data for the new state" msgstr "Geben Sie die Daten des neuen Zustandes ein" @@ -336,11 +337,11 @@ msgstr "Menge" msgid "Insert the amount" msgstr "Menge eingeben" -#: compensation/forms/modalForms.py:379 +#: compensation/forms/modalForms.py:380 msgid "New action" msgstr "Neue Maßnahme" -#: compensation/forms/modalForms.py:380 +#: compensation/forms/modalForms.py:381 msgid "Insert data for the new action" 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 #: ema/templates/ema/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" msgstr "Neues Dokument hinzufügen" @@ -736,6 +737,10 @@ msgstr "Erstellt" msgid "Remove Deduction" 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:61 #: compensation/templates/compensation/detail/eco_account/view.html:65 @@ -755,7 +760,7 @@ msgid "Missing" msgstr "Fehlt" #: 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 msgid "Intervention handler" msgstr "Eingriffsverursacher" @@ -769,7 +774,7 @@ msgid "Compensation {} edited" msgstr "Kompensation {} bearbeitet" #: 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 msgid "Log" msgstr "Log" @@ -779,23 +784,23 @@ msgid "Compensation removed" msgstr "Kompensation entfernt" #: 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 msgid "Document added" msgstr "Dokument hinzugefügt" #: 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" msgstr "Zustand hinzugefügt" #: 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" msgstr "Maßnahme hinzugefügt" #: 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" msgstr "Frist/Termin hinzugefügt" @@ -807,29 +812,33 @@ msgstr "Zustand gelöscht" msgid "Action removed" msgstr "Maßnahme entfernt" -#: compensation/views/eco_account_views.py:87 +#: compensation/views/eco_account_views.py:86 msgid "Eco-Account {} added" 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" msgstr "Ökokonto entfernt" -#: compensation/views/eco_account_views.py:225 +#: compensation/views/eco_account_views.py:255 msgid "Deduction removed" 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 msgid "{} unrecorded" 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 msgid "{} recorded" 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" msgstr "Abbuchung hinzugefügt" @@ -890,48 +899,48 @@ msgstr "Bauvorhaben XY; Flur ABC" msgid "Process type" msgstr "Verfahrenstyp" -#: intervention/forms/forms.py:67 +#: intervention/forms/forms.py:68 #: intervention/templates/intervention/detail/view.html:39 msgid "Law" msgstr "Gesetz" -#: intervention/forms/forms.py:69 +#: intervention/forms/forms.py:70 msgid "Multiple selection possible" msgstr "Mehrfachauswahl möglich" -#: intervention/forms/forms.py:83 +#: intervention/forms/forms.py:85 #: intervention/templates/intervention/detail/view.html:48 msgid "Registration office" msgstr "Zulassungsbehörde" -#: intervention/forms/forms.py:113 +#: intervention/forms/forms.py:117 #: intervention/templates/intervention/detail/view.html:52 msgid "Registration office file number" msgstr "Aktenzeichen Zulassungsbehörde" -#: intervention/forms/forms.py:119 +#: intervention/forms/forms.py:123 msgid "ZB-123/ABC.456" msgstr "" -#: intervention/forms/forms.py:141 +#: intervention/forms/forms.py:145 msgid "Who performs the intervention" msgstr "Wer führt den Eingriff durch" -#: intervention/forms/forms.py:150 +#: intervention/forms/forms.py:154 #: intervention/templates/intervention/detail/view.html:96 msgid "Registration date" msgstr "Datum Zulassung bzw. Satzungsbeschluss" -#: intervention/forms/forms.py:162 +#: intervention/forms/forms.py:166 #: intervention/templates/intervention/detail/view.html:100 msgid "Binding on" msgstr "Datum Bestandskraft" -#: intervention/forms/forms.py:188 +#: intervention/forms/forms.py:192 msgid "New intervention" msgstr "Neuer Eingriff" -#: intervention/forms/forms.py:269 +#: intervention/forms/forms.py:273 msgid "Edit intervention" msgstr "Eingriff bearbeiten" @@ -965,7 +974,7 @@ msgstr "Datum des Widerspruchs" msgid "Document" 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" msgstr "Muss kleiner als 15 Mb sein" @@ -987,7 +996,7 @@ msgstr "Kompensationen und Zahlungen geprüft" msgid "Run check" msgstr "Prüfung vornehmen" -#: intervention/forms/modalForms.py:201 konova/forms.py:447 +#: intervention/forms/modalForms.py:201 konova/forms.py:446 msgid "" "I, {} {}, confirm that all necessary control steps have been performed by " "myself." @@ -999,19 +1008,26 @@ msgstr "" msgid "Only recorded accounts can be selected for deductions" 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" msgstr "Nur freigegebene Eingriffe können gewählt werden" -#: intervention/forms/modalForms.py:299 +#: intervention/forms/modalForms.py:300 msgid "New Deduction" 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" msgstr "Geben Sie die Informationen für eine neue Abbuchung ein." -#: intervention/forms/modalForms.py:336 +#: intervention/forms/modalForms.py:334 msgid "" "Eco-account {} is not recorded yet. You can only deduct from recorded " "accounts." @@ -1019,7 +1035,7 @@ msgstr "" "Ökokonto {} ist noch nicht verzeichnet. Abbuchungen können nur von " "verzeichneten Ökokonten erfolgen." -#: intervention/forms/modalForms.py:349 +#: intervention/forms/modalForms.py:347 msgid "" "The account {} has not enough surface for a deduction of {} m². There are " "only {} m² left" @@ -1203,11 +1219,11 @@ msgstr "" msgid "Not editable" msgstr "Nicht editierbar" -#: konova/forms.py:139 konova/forms.py:310 +#: konova/forms.py:139 konova/forms.py:309 msgid "Confirm" msgstr "Bestätige" -#: konova/forms.py:151 konova/forms.py:319 +#: konova/forms.py:151 konova/forms.py:318 msgid "Remove" msgstr "Löschen" @@ -1219,44 +1235,44 @@ msgstr "Sie sind dabei {} {} zu löschen" msgid "Geometry" msgstr "Geometrie" -#: konova/forms.py:320 +#: konova/forms.py:319 msgid "Are you sure?" msgstr "Sind Sie sicher?" -#: konova/forms.py:347 +#: konova/forms.py:346 msgid "Created on" msgstr "Erstellt" -#: konova/forms.py:349 +#: konova/forms.py:348 msgid "When has this file been created? Important for photos." 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 msgid "File" msgstr "Datei" -#: konova/forms.py:424 +#: konova/forms.py:423 msgid "Added document" msgstr "Dokument hinzugefügt" -#: konova/forms.py:438 +#: konova/forms.py:437 msgid "Confirm record" msgstr "Verzeichnen bestätigen" -#: konova/forms.py:446 +#: konova/forms.py:445 msgid "Record data" msgstr "Daten verzeichnen" -#: konova/forms.py:453 +#: konova/forms.py:452 msgid "Confirm unrecord" msgstr "Entzeichnen bestätigen" -#: konova/forms.py:454 +#: konova/forms.py:453 msgid "Unrecord data" msgstr "Daten entzeichnen" -#: konova/forms.py:455 +#: konova/forms.py:454 msgid "I, {} {}, confirm that this data must be unrecorded." msgstr "" "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" msgstr "Wenn meine freigegebenen Daten bearbeitet wurden" -#: konova/models.py:204 +#: konova/models.py:206 msgid "Finished" msgstr "Umgesetzt bis" -#: konova/models.py:205 +#: konova/models.py:207 msgid "Maintain" msgstr "Unterhaltung bis" -#: konova/models.py:206 +#: konova/models.py:208 msgid "Control" msgstr "Kontrolle am" -#: konova/models.py:207 +#: konova/models.py:209 msgid "Other" msgstr "Sonstige" @@ -2816,6 +2832,9 @@ msgstr "" msgid "A fontawesome icon field" msgstr "" +#~ msgid "Funding by..." +#~ msgstr "Gefördert mit..." + #~ msgid "Invalid input" #~ msgstr "Eingabe fehlerhaft" @@ -2894,9 +2913,6 @@ msgstr "" #~ msgid "Add new eco account" #~ msgstr "Neues Ökokonto hinzufügen" -#~ msgid "Edit eco account" -#~ msgstr "Ökokonto bearbeiten" - #~ msgid "Add new EMA" #~ msgstr "Neue EMA hinzufügen"