From 60f03591efb2a2c56e6ce142efaca52397dd24aa Mon Sep 17 00:00:00 2001 From: mipel Date: Wed, 6 Oct 2021 13:10:10 +0200 Subject: [PATCH] #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 --- compensation/forms/forms.py | 113 +++++++-- compensation/forms/modalForms.py | 8 +- compensation/settings.py | 4 +- .../detail/compensation/includes/comment.html | 2 +- .../detail/eco_account/includes/comment.html | 23 ++ .../detail/eco_account/includes/controls.html | 2 +- .../compensation/detail/eco_account/view.html | 11 +- .../templates/compensation/new/view.html | 10 - compensation/views/eco_account_views.py | 36 ++- ema/settings.py | 2 +- intervention/forms/forms.py | 4 + intervention/forms/modalForms.py | 4 +- intervention/settings.py | 2 +- .../intervention/detail/includes/comment.html | 2 +- .../templates/intervention/new/view.html | 10 - konova/forms.py | 2 +- konova/models.py | 4 +- konova/utils/generators.py | 14 +- locale/de/LC_MESSAGES/django.mo | Bin 22032 -> 22295 bytes locale/de/LC_MESSAGES/django.po | 218 ++++++++++-------- 20 files changed, 305 insertions(+), 166 deletions(-) create mode 100644 compensation/templates/compensation/detail/eco_account/includes/comment.html 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 1dbe28f61d8557b45e24c13fd95eed51b79023b3..c8c53a96b32789543a7a182b49741f6474dcd77a 100644 GIT binary patch delta 6929 zcmZA530##`8prX2fNUZvDvAhKKtu#oRNNPEEj4xAF`Wdih-`&0nx;2Xv&N<g|y6^OiatAvXN|4%Pk!>%O=w@o!|eyhtD+getP(xbMCokdEWEBkQG%vPj2z? z9B<;c(r|V2F(wN41R1lQa$&eyjk(s+m@w+saRv3DR>myBwb&YC`BD=cU>%F~sn5U= zEW!qOFE+#nZTm`$Gsa_{vmd;NP3dq18{v6ujKA1=17-`O-Ws*G6jc8V)W8!^6S-}@ z)Vc^mX|F&nXdP<7FJS`no1GMVX*i8q`8m`Cmr(=yMmqyELXu;mQ434NVC;n&a4@R> zB&!=WUMZ&Fy%>v|P#f8g0nBf{pwJFaB3U-UG0sZkQ48s09fSeYC!r?13pL?vR3`36 z^YUtx2+g33sci~MWA2ntGJ3@Y`hsDb(;ea%?Z0%xNJu0(xrI|kyr zsQP}?_dY>o=qxG&*HE9|LS-zVjWK@Mqz(DkP9kW~ijq(Z>493vP*ln%p$5vv;h2xh zaVsj78RS(HjzLY7gX&*k>!qlL&a*B?W#o}qk2B%(G-#q%QD5AF8gMsif+MKIa~hSx z?@_4_;0SX*O;gk@=!_b82&(^`*bZl+GE;%cxWU#Bdnk;e;S4Gz-Qt~{_d+dTxOFNj zQzfXKJb+s0avX?H*!ri)lWC5jA6`fGzlmBvKwD>{tx)ZrwiL9JRBLaHpgzoYxC=E= zK5D?bt>rj|`aJB42T}LdC&8F>Y=E3+GZ0;vjXFDvQ5$;>nb%{gDQLo7s1$yNO5r6` zs(s0y&PF8a7A4wx8v0TnfXd7uTc3#asZT-eFdMbO0$ZPp0n`^^vY!8kDd_p!hT7q2 zR0_{yB>E>h6S+_eiASA@G}MkWQHOOTYNBbVg%;TMa$A28HGTzZ!z(eA`ORhu+VKw5 zz=u%-eS;eKJ5)+x(gf`eyXUt+u`c)vpGXvBRjR;Sy>i!5y4i5Q%yk;!wAyBWi=` z9mu~17-$>D*bdV$gmyOu;ytJ@%tP&X8R`(NLG5e{YNzj`URYltchB6wbr_%QOk9J? z=zi3^UnY}(`k3=HXn6{uUd3AK=Sus?o=dfZxc zG^Q`6qZU+#LvaZzvz~(#bWdwhEB_L;va_heb{#cQSSM!z2^dB_4YlA*)Xs*Y2Aqt# zMcEjNbF52InOlL{$g@tn$5h!5-f|kuK2&OJaS9$o&Xeic*_Z{Gi@X}lNo!D=^MdJQ z9fRs$ib1#*wZTo+&8US}d*%MWNkJ>$iCXbqR3?siI~a2UwZqe>epgWoyoGu!1G+e; zzaJ{)S=PDOmHH~wf({_Z%v{BK7{`bH%x@AX=-wrx1|Ez`)kxGrvXEa7#*N$!^Dydh z+m1?QEvnx)s101iOdtMo!ei9?vdT@^symy+8srzJS=593pGaXn1?})4YKO;B1AU9S z_dj71Y|ztbk3lUY1@(rUirV>HY=Nt6`^(n-w*3sM-%Zp4qI&WC>-6^PbKcLK`VO; zbxPkuE$9F$17|P_f5k{_(bst)bwPbE6E*Qjs~dGI7odLqK89NO7Sye&MV+zlQ12Pf zRSH_kZ>Wib`#BTEqkg^iN9}Z=bp&dm<58KIV%tkm-=B|4{Yq4-U$CEV$8pqm<5L*H zTZ->{%qtXhxb~qY`oek&m9mT0tG3+?aCRJo%1|3rzwW4vWMEqyf&M%NrKk6Kpm!dRC_nn_XnZI z%R=4jT-11l=!c~^7U!U6IE4cg)G=Z(2MS|Qk5@Lf!$)m>8)~AHs9W^|Y5~8Xb{;as zIb<$W2700vG8&b!ENcgLLJWgZ2gg;WX*=w-^;*;dPNB}qWz+(L zhB+CFM4k4jsP=nM8F&Es&#dN$GH}xR6Y5L^dTw)8lz^Hb9TPAU+haanr~L<1sypA|Of(F&fQi<8)I#Um`s1ka)}u?$f0g~<5NZb}P>1FM z>M&hK4G=iWxdqXv)Qvzbd^#${WvC1-MD<^adSzE)C~iaTe2@M70ybuT<1^a1XW^*F zFCMj{Jk&j2h++5&^7b^lPy^mV?Id)J^FC;f`d%FBR`$X;oQ#cd0czooqBjHR(GIF8 zG{ARIkIg~U4$j&7P5XJ|ADjW&VPih;gUZ+)s0C)B4%aN4i=~)`7f|o~Xx=)B_=ffC zvE<)HL(n+qg_DF@@dQ*#=b|IXLs0|YiJCYUweSMe zVV;8>aV^H+A#8}3JQURNhHVI($a$c?k@)?ktmtY({MlRLpVF)^;YwmY(SR@Sx9v0W zGvbfLyToy#oM=MST^=2b>%?NB5ns;3-NdUz29Zzb((0!Z=Lj9HPV}w2Vkz&V5`a97 z-mBDF$7%|pe102#O6c~k)AK)zf>NgY$ALDV6MDryOngu1`kGL>bY&42yd@5+T|_eV zYeW$Be_@0D{bRdVSexX{YTuP2Cgci1@R?OL+H{e)}_M~ z!(;ud;LZGpG@UhVhQ0-JVNLh zyePSL5_;Y08cZDXmiUc`cN0GlUl6|$^$1;$6ZflNug;9e6Yl-T%Lg!)Xi8fm^Lwuw z{EVc5H>3A@gP(=OFydw6G!eq*`e*u4lv`lkRiAQmqKj=P!Zk!N5l6fJ`97Pn<~l_9 zQLjhn^8DmzKEe-)5ya0#B+-mct!>9C)aMX6L=f4Bggsw-4zY*UN;|N{hw*N_$ ziPmc5>QCI~Es>?p6q*qUbbcS-vmb~)zbltiuWdQnze!{6FoRae5GS~bCE_ZHz*@~mFXM+dll%zQAE4Ia*s@@d;xNo>?c6sTH={as! zt~<9pr)+w5p}V?U;_Km|8RfI*)NGhp=q^r8O|3rHdz62u2FrF&FU@x6m$}y`XZVEF ztSTreC@C&0ab;J>X2$qbj~(dimpR;>U+i`bDXiI$Gt*sMi1 delta 6701 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 Ydd#F!&-i;w^, 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"