Merge pull request 'master' (#270) from master into Docker

Reviewed-on: SGD-Nord/konova#270
pull/380/head
mpeltriaux 2 years ago
commit 7e88b7b895

@ -62,6 +62,8 @@
{{deduction.account.identifier}} - {{deduction.account.title}} {{deduction.account.identifier}} - {{deduction.account.title}}
</a> </a>
<br> <br>
{% empty %}
{% trans 'None' %}
{% endfor %} {% endfor %}
</td> </td>
</tr> </tr>

@ -19,7 +19,7 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
Specialized on filtering GeoReferenced model types Specialized on filtering GeoReferenced model types
""" """
# Parcel gmrkng # District
di = django_filters.CharFilter( di = django_filters.CharFilter(
method="filter_district", method="filter_district",
label=_(""), label=_(""),
@ -72,7 +72,7 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
), ),
) )
# Parcel counter # Parcel number
pn = django_filters.NumberFilter( pn = django_filters.NumberFilter(
method="filter_parcel_number", method="filter_parcel_number",
label=_(""), label=_(""),
@ -112,7 +112,7 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
return queryset return queryset
def filter_district(self, queryset, name, value) -> QuerySet: def filter_district(self, queryset, name, value) -> QuerySet:
""" Filters queryset depending on value for 'Gemarkung' """ Filters queryset depending on value for 'Kreis'
Args: Args:
queryset (): queryset ():
@ -122,10 +122,13 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
Returns: Returns:
""" """
matching_districts = District.objects.filter( values = value.split(",")
Q(name__icontains=value) | q = Q()
Q(key__icontains=value) for val in values:
).distinct() val = val.strip()
q |= Q(name__icontains=val) | Q(key__icontains=val)
matching_districts = District.objects.filter(q).distinct()
matching_parcels = Parcel.objects.filter( matching_parcels = Parcel.objects.filter(
district__in=matching_districts district__in=matching_districts
) )
@ -148,9 +151,14 @@ class GeoReferencedTableFilterMixin(django_filters.FilterSet):
Returns: Returns:
""" """
values = value.split(",")
q = Q()
for val in values:
val = val.strip()
q |= Q(parcel_group__name__icontains=val) | Q(parcel_group__key__icontains=val)
queryset = self._filter_parcel_reference( queryset = self._filter_parcel_reference(
queryset, queryset,
Q(parcel_group__name__icontains=value) | Q(parcel_group__key__icontains=value), q,
) )
return queryset return queryset

@ -24,6 +24,7 @@ class RecordableTableFilterMixin(django_filters.FilterSet):
widget=forms.CheckboxInput( widget=forms.CheckboxInput(
attrs={ attrs={
"class": "form-check-input", "class": "form-check-input",
"title": _("If activated also shows entries which have been already recorded"),
} }
) )
) )

@ -0,0 +1,53 @@
"""
Author: Michel Peltriaux
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
Contact: ksp-servicestelle@sgdnord.rlp.de
Created on: 06.12.22
"""
import django_filters
from django import forms
from django.db.models import QuerySet
from django.utils.translation import gettext_lazy as _
class SelfCreatedTableFilterMixin(django_filters.FilterSet):
""" A mixin for AbstractTableFilter
Specialized on filtering recordable model types
"""
sc = django_filters.BooleanFilter(
method='filter_show_self_created',
label=_("Show only self created"),
label_suffix=_(""),
widget=forms.CheckboxInput(
attrs={
"class": "form-check-input",
"title": _("If activated only shows entries which have been created by you"),
}
),
)
class Meta:
abstract = True
def filter_show_self_created(self, queryset, name, value) -> QuerySet:
""" Filters queryset depending on value of 'self_created' setting
Args:
queryset ():
name ():
value ():
Returns:
"""
if value:
return queryset.filter(
created__user=self.user,
)
else:
return queryset

@ -24,6 +24,7 @@ class ShareableTableFilterMixin(django_filters.FilterSet):
widget=forms.CheckboxInput( widget=forms.CheckboxInput(
attrs={ attrs={
"class": "form-check-input", "class": "form-check-input",
"title": _("If activated also shows entries which are not shared with you"),
} }
) )
) )

@ -12,6 +12,7 @@ from konova.filters.mixins.geo_reference import GeoReferencedTableFilterMixin
from konova.filters.mixins.keyword import KeywordTableFilterMixin from konova.filters.mixins.keyword import KeywordTableFilterMixin
from konova.filters.mixins.office import ConservationOfficeTableFilterMixin, RegistrationOfficeTableFilterMixin from konova.filters.mixins.office import ConservationOfficeTableFilterMixin, RegistrationOfficeTableFilterMixin
from konova.filters.mixins.record import RecordableTableFilterMixin from konova.filters.mixins.record import RecordableTableFilterMixin
from konova.filters.mixins.self_created import SelfCreatedTableFilterMixin
from konova.filters.mixins.share import ShareableTableFilterMixin from konova.filters.mixins.share import ShareableTableFilterMixin
@ -46,8 +47,10 @@ class QueryTableFilter(KeywordTableFilterMixin,
pass pass
class CheckboxTableFilter(ShareableTableFilterMixin, RecordableTableFilterMixin): class CheckboxTableFilter(ShareableTableFilterMixin,
RecordableTableFilterMixin,
SelfCreatedTableFilterMixin):
""" TableFilter holding different filter options for checkbox related filtering """ TableFilter holding different filter options for checkbox related filtering
""" """
pass pass

@ -29,6 +29,7 @@ class BaseForm(forms.Form):
form_attrs = {} # Holds additional attributes, that can be used in the template form_attrs = {} # Holds additional attributes, that can be used in the template
has_required_fields = False # Automatically set. Triggers hint rendering in templates has_required_fields = False # Automatically set. Triggers hint rendering in templates
show_cancel_btn = True show_cancel_btn = True
label_input_ratio = (3, 9) # used for col-sm-xy in the template. Must sum up to 12. Specify on inheriting forms
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.instance = kwargs.pop("instance", None) self.instance = kwargs.pop("instance", None)
@ -42,12 +43,26 @@ class BaseForm(forms.Form):
break break
self.check_for_recorded_instance() self.check_for_recorded_instance()
self.__check_valid_label_input_ratio()
@abstractmethod @abstractmethod
def save(self): def save(self):
# To be implemented in subclasses! # To be implemented in subclasses!
pass pass
def __check_valid_label_input_ratio(self):
""" Checks whether the configured label-input ratio is valid
If not valid an AssertionError will be raised.
The valid sum of label-input ratio is defined by bootstrap's column layout system.
Returns:
"""
ratio = self.label_input_ratio[0] + self.label_input_ratio[1]
if ratio != 12:
raise AssertionError(f"Label-input ratio on form must sum up to 12! It's {self.label_input_ratio}")
def disable_form_field(self, field: str): def disable_form_field(self, field: str):
""" """
Disables a form field for user editing Disables a form field for user editing

@ -24,6 +24,7 @@ class RemoveModalForm(BaseModalForm):
widget=forms.CheckboxInput(), widget=forms.CheckboxInput(),
required=True, required=True,
) )
label_input_ratio = (2, 10)
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.template = "modal/modal_form.html" self.template = "modal/modal_form.html"

@ -60,6 +60,10 @@ a {
color: var(--rlp-red); color: var(--rlp-red);
} }
label {
width: 100%;
}
.form-control:focus{ .form-control:focus{
outline: none; outline: none;
border-color: var(--rlp-red); border-color: var(--rlp-red);

Binary file not shown.

@ -28,8 +28,8 @@
#: konova/filters/mixins/geo_reference.py:79 konova/filters/mixins/office.py:24 #: konova/filters/mixins/geo_reference.py:79 konova/filters/mixins/office.py:24
#: konova/filters/mixins/office.py:25 konova/filters/mixins/office.py:56 #: konova/filters/mixins/office.py:25 konova/filters/mixins/office.py:56
#: konova/filters/mixins/office.py:57 konova/filters/mixins/record.py:23 #: konova/filters/mixins/office.py:57 konova/filters/mixins/record.py:23
#: konova/filters/mixins/share.py:23 konova/forms/geometry_form.py:30 #: konova/filters/mixins/self_created.py:24 konova/filters/mixins/share.py:23
#: konova/forms/modals/document_form.py:25 #: konova/forms/geometry_form.py:31 konova/forms/modals/document_form.py:25
#: konova/forms/modals/document_form.py:35 #: konova/forms/modals/document_form.py:35
#: konova/forms/modals/document_form.py:48 #: konova/forms/modals/document_form.py:48
#: konova/forms/modals/document_form.py:60 #: konova/forms/modals/document_form.py:60
@ -43,7 +43,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-16 13:36+0100\n" "POT-Creation-Date: 2022-12-06 08:23+0100\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"
@ -77,7 +77,7 @@ msgstr "Einträge erstellt bis..."
#: intervention/forms/intervention.py:103 #: intervention/forms/intervention.py:103
#: intervention/templates/intervention/detail/view.html:56 #: intervention/templates/intervention/detail/view.html:56
#: intervention/templates/intervention/report/report.html:37 #: intervention/templates/intervention/report/report.html:37
#: intervention/utils/quality.py:49 konova/filters/mixins/office.py:34 #: intervention/utils/quality.py:62 konova/filters/mixins/office.py:34
msgid "Conservation office" msgid "Conservation office"
msgstr "Eintragungsstelle" msgstr "Eintragungsstelle"
@ -392,7 +392,7 @@ msgstr "Bezeichnung"
msgid "An explanatory name" msgid "An explanatory name"
msgstr "Aussagekräftiger Titel" msgstr "Aussagekräftiger Titel"
#: compensation/forms/compensation.py:48 ema/forms.py:51 ema/forms.py:111 #: compensation/forms/compensation.py:48 ema/forms.py:51 ema/forms.py:114
msgid "Compensation XY; Location ABC" msgid "Compensation XY; Location ABC"
msgstr "Kompensation XY; Flur ABC" msgstr "Kompensation XY; Flur ABC"
@ -438,11 +438,11 @@ 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/compensation.py:113 #: compensation/forms/compensation.py:113
#: compensation/views/compensation/compensation.py:113 #: compensation/views/compensation/compensation.py:115
msgid "New compensation" msgid "New compensation"
msgstr "Neue Kompensation" msgstr "Neue Kompensation"
#: compensation/forms/compensation.py:186 #: compensation/forms/compensation.py:189
msgid "Edit compensation" msgid "Edit compensation"
msgstr "Bearbeite Kompensation" msgstr "Bearbeite Kompensation"
@ -465,7 +465,7 @@ msgid "When did the parties agree on this?"
msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?" msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?"
#: compensation/forms/eco_account.py:70 #: compensation/forms/eco_account.py:70
#: compensation/views/eco_account/eco_account.py:94 #: compensation/views/eco_account/eco_account.py:96
msgid "New Eco-Account" msgid "New Eco-Account"
msgstr "Neues Ökokonto" msgstr "Neues Ökokonto"
@ -473,11 +473,11 @@ msgstr "Neues Ökokonto"
msgid "Eco-Account XY; Location ABC" msgid "Eco-Account XY; Location ABC"
msgstr "Ökokonto XY; Flur ABC" msgstr "Ökokonto XY; Flur ABC"
#: compensation/forms/eco_account.py:143 #: compensation/forms/eco_account.py:145
msgid "Edit Eco-Account" msgid "Edit Eco-Account"
msgstr "Ökokonto bearbeiten" msgstr "Ökokonto bearbeiten"
#: compensation/forms/eco_account.py:228 #: compensation/forms/eco_account.py:230
msgid "The account can not be removed, since there are still deductions." msgid "The account can not be removed, since there are still deductions."
msgstr "" msgstr ""
"Das Ökokonto kann nicht entfernt werden, da hierzu noch Abbuchungen " "Das Ökokonto kann nicht entfernt werden, da hierzu noch Abbuchungen "
@ -491,7 +491,7 @@ msgstr ""
#: intervention/forms/intervention.py:131 #: intervention/forms/intervention.py:131
#: intervention/templates/intervention/detail/view.html:60 #: intervention/templates/intervention/detail/view.html:60
#: intervention/templates/intervention/report/report.html:41 #: intervention/templates/intervention/report/report.html:41
#: intervention/utils/quality.py:42 #: intervention/utils/quality.py:55
msgid "Conservation office file number" msgid "Conservation office file number"
msgstr "Aktenzeichen Eintragungsstelle" msgstr "Aktenzeichen Eintragungsstelle"
@ -725,18 +725,22 @@ msgid "m"
msgstr "" msgstr ""
#: compensation/models/action.py:22 #: compensation/models/action.py:22
msgid "km" msgid "m²"
msgstr "" msgstr ""
#: compensation/models/action.py:23 #: compensation/models/action.py:23
msgid "m²" msgid "m³"
msgstr "" msgstr ""
#: compensation/models/action.py:24 #: compensation/models/action.py:24
msgid "ha" msgid "km"
msgstr "" msgstr ""
#: compensation/models/action.py:25 #: compensation/models/action.py:25
msgid "ha"
msgstr ""
#: compensation/models/action.py:26
msgid "Pieces" msgid "Pieces"
msgstr "Stück" msgstr "Stück"
@ -971,6 +975,7 @@ msgstr "Frist löschen"
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:8 #: compensation/templates/compensation/detail/eco_account/includes/documents.html:8
#: ema/templates/ema/detail/includes/documents.html:8 #: ema/templates/ema/detail/includes/documents.html:8
#: intervention/templates/intervention/detail/includes/documents.html:8 #: intervention/templates/intervention/detail/includes/documents.html:8
#: intervention/utils/quality.py:37
msgid "Documents" msgid "Documents"
msgstr "Dokumente" msgstr "Dokumente"
@ -1135,7 +1140,7 @@ msgstr "Verzeichnet am"
#: ema/templates/ema/detail/view.html:71 #: ema/templates/ema/detail/view.html:71
#: ema/templates/ema/report/report.html:34 #: ema/templates/ema/report/report.html:34
#: intervention/templates/intervention/detail/view.html:113 #: intervention/templates/intervention/detail/view.html:113
#: intervention/templates/intervention/report/report.html:87 #: intervention/templates/intervention/report/report.html:89
msgid "Last modified" msgid "Last modified"
msgstr "Zuletzt bearbeitet" msgstr "Zuletzt bearbeitet"
@ -1240,7 +1245,8 @@ msgstr "Abbuchungen für"
#: compensation/templates/compensation/report/eco_account/report.html:42 #: compensation/templates/compensation/report/eco_account/report.html:42
#: intervention/templates/intervention/report/report.html:53 #: intervention/templates/intervention/report/report.html:53
#: intervention/templates/intervention/report/report.html:74 #: intervention/templates/intervention/report/report.html:66
#: intervention/templates/intervention/report/report.html:76
msgid "None" msgid "None"
msgstr "-" msgstr "-"
@ -1252,7 +1258,7 @@ msgstr "Ungleiche Zustandsflächenmengen"
msgid "Finished deadlines" msgid "Finished deadlines"
msgstr "Umsetzungstermin" msgstr "Umsetzungstermin"
#: compensation/utils/quality.py:85 intervention/utils/quality.py:84 #: compensation/utils/quality.py:85 intervention/utils/quality.py:97
msgid "Legal data" msgid "Legal data"
msgstr "Rechtliche Daten" msgstr "Rechtliche Daten"
@ -1263,22 +1269,22 @@ msgstr ""
"überschreiten" "überschreiten"
#: compensation/utils/quality.py:115 ema/utils/quality.py:30 #: compensation/utils/quality.py:115 ema/utils/quality.py:30
#: intervention/utils/quality.py:55 #: intervention/utils/quality.py:68
msgid "Responsible data" msgid "Responsible data"
msgstr "Daten zu den verantwortlichen Stellen" msgstr "Daten zu den verantwortlichen Stellen"
#: compensation/views/compensation/compensation.py:56 #: compensation/views/compensation/compensation.py:58
msgid "Compensations - Overview" msgid "Compensations - Overview"
msgstr "Kompensationen - Übersicht" msgstr "Kompensationen - Übersicht"
#: compensation/views/compensation/compensation.py:175 #: compensation/views/compensation/compensation.py:177
#: konova/utils/message_templates.py:37 #: konova/utils/message_templates.py:37
msgid "Compensation {} edited" msgid "Compensation {} edited"
msgstr "Kompensation {} bearbeitet" msgstr "Kompensation {} bearbeitet"
#: compensation/views/compensation/compensation.py:185 #: compensation/views/compensation/compensation.py:187
#: compensation/views/eco_account/eco_account.py:159 ema/views/ema.py:210 #: compensation/views/eco_account/eco_account.py:161 ema/views/ema.py:212
#: intervention/views/intervention.py:228 #: intervention/views/intervention.py:230
msgid "Edit {}" msgid "Edit {}"
msgstr "Bearbeite {}" msgstr "Bearbeite {}"
@ -1288,27 +1294,27 @@ msgstr "Bearbeite {}"
msgid "Report {}" msgid "Report {}"
msgstr "Bericht {}" msgstr "Bericht {}"
#: compensation/views/eco_account/eco_account.py:51 #: compensation/views/eco_account/eco_account.py:53
msgid "Eco-account - Overview" msgid "Eco-account - Overview"
msgstr "Ökokonten - Übersicht" msgstr "Ökokonten - Übersicht"
#: compensation/views/eco_account/eco_account.py:84 #: compensation/views/eco_account/eco_account.py:86
msgid "Eco-Account {} added" msgid "Eco-Account {} added"
msgstr "Ökokonto {} hinzugefügt" msgstr "Ökokonto {} hinzugefügt"
#: compensation/views/eco_account/eco_account.py:149 #: compensation/views/eco_account/eco_account.py:151
msgid "Eco-Account {} edited" msgid "Eco-Account {} edited"
msgstr "Ökokonto {} bearbeitet" msgstr "Ökokonto {} bearbeitet"
#: compensation/views/eco_account/eco_account.py:265 #: compensation/views/eco_account/eco_account.py:267
msgid "Eco-account removed" msgid "Eco-account removed"
msgstr "Ökokonto entfernt" msgstr "Ökokonto entfernt"
#: ema/forms.py:42 ema/views/ema.py:93 #: ema/forms.py:42 ema/views/ema.py:95
msgid "New EMA" msgid "New EMA"
msgstr "Neue EMA hinzufügen" msgstr "Neue EMA hinzufügen"
#: ema/forms.py:105 #: ema/forms.py:108
msgid "Edit EMA" msgid "Edit EMA"
msgstr "Bearbeite EMA" msgstr "Bearbeite EMA"
@ -1332,19 +1338,19 @@ msgstr ""
msgid "Payment funded compensation" msgid "Payment funded compensation"
msgstr "Ersatzzahlungsmaßnahme" msgstr "Ersatzzahlungsmaßnahme"
#: ema/views/ema.py:50 #: ema/views/ema.py:52
msgid "EMAs - Overview" msgid "EMAs - Overview"
msgstr "EMAs - Übersicht" msgstr "EMAs - Übersicht"
#: ema/views/ema.py:83 #: ema/views/ema.py:85
msgid "EMA {} added" msgid "EMA {} added"
msgstr "EMA {} hinzugefügt" msgstr "EMA {} hinzugefügt"
#: ema/views/ema.py:200 #: ema/views/ema.py:202
msgid "EMA {} edited" msgid "EMA {} edited"
msgstr "EMA {} bearbeitet" msgstr "EMA {} bearbeitet"
#: ema/views/ema.py:234 #: ema/views/ema.py:236
msgid "EMA removed" msgid "EMA removed"
msgstr "EMA entfernt" msgstr "EMA entfernt"
@ -1355,7 +1361,7 @@ msgstr "Bauvorhaben XY; Flur ABC"
#: intervention/forms/intervention.py:53 #: intervention/forms/intervention.py:53
#: intervention/templates/intervention/detail/view.html:35 #: intervention/templates/intervention/detail/view.html:35
#: intervention/templates/intervention/report/report.html:16 #: intervention/templates/intervention/report/report.html:16
#: intervention/utils/quality.py:82 #: intervention/utils/quality.py:95
msgid "Process type" msgid "Process type"
msgstr "Verfahrenstyp" msgstr "Verfahrenstyp"
@ -1366,14 +1372,14 @@ msgstr "Mehrfachauswahl möglich"
#: intervention/forms/intervention.py:87 #: intervention/forms/intervention.py:87
#: intervention/templates/intervention/detail/view.html:48 #: intervention/templates/intervention/detail/view.html:48
#: intervention/templates/intervention/report/report.html:29 #: intervention/templates/intervention/report/report.html:29
#: intervention/utils/quality.py:46 konova/filters/mixins/office.py:66 #: intervention/utils/quality.py:59 konova/filters/mixins/office.py:66
msgid "Registration office" msgid "Registration office"
msgstr "Zulassungsbehörde" msgstr "Zulassungsbehörde"
#: intervention/forms/intervention.py:119 #: intervention/forms/intervention.py:119
#: intervention/templates/intervention/detail/view.html:52 #: intervention/templates/intervention/detail/view.html:52
#: intervention/templates/intervention/report/report.html:33 #: intervention/templates/intervention/report/report.html:33
#: intervention/utils/quality.py:39 #: intervention/utils/quality.py:52
msgid "Registration office file number" msgid "Registration office file number"
msgstr "Aktenzeichen Zulassungsbehörde" msgstr "Aktenzeichen Zulassungsbehörde"
@ -1395,22 +1401,23 @@ msgstr "Detailangabe zum Eingriffsverursacher"
#: intervention/forms/intervention.py:174 #: intervention/forms/intervention.py:174
#: intervention/templates/intervention/detail/view.html:101 #: intervention/templates/intervention/detail/view.html:101
#: intervention/templates/intervention/report/report.html:79 #: intervention/templates/intervention/report/report.html:81
#: intervention/utils/quality.py:73 #: intervention/utils/quality.py:86
msgid "Registration date" msgid "Registration date"
msgstr "Datum Zulassung bzw. Satzungsbeschluss" msgstr "Datum Zulassung bzw. Satzungsbeschluss"
#: intervention/forms/intervention.py:186 #: intervention/forms/intervention.py:186
#: intervention/templates/intervention/detail/view.html:105 #: intervention/templates/intervention/detail/view.html:105
#: intervention/templates/intervention/report/report.html:83 #: intervention/templates/intervention/report/report.html:85
msgid "Binding on" msgid "Binding on"
msgstr "Datum Bestandskraft bzw. Rechtskraft" msgstr "Datum Bestandskraft bzw. Rechtskraft"
#: intervention/forms/intervention.py:212 intervention/views/intervention.py:98 #: intervention/forms/intervention.py:212
#: intervention/views/intervention.py:100
msgid "New intervention" msgid "New intervention"
msgstr "Neuer Eingriff" msgstr "Neuer Eingriff"
#: intervention/forms/intervention.py:299 #: intervention/forms/intervention.py:302
msgid "Edit intervention" msgid "Edit intervention"
msgstr "Eingriff bearbeiten" msgstr "Eingriff bearbeiten"
@ -1559,10 +1566,11 @@ msgid ""
"You entered a payment. Please upload the legal document which defines the " "You entered a payment. Please upload the legal document which defines the "
"payment`s amount." "payment`s amount."
msgstr "" msgstr ""
"Sie haben Ersatzzahlungen angegeben. Laden Sie bitte den Zahlungsbescheid als Dokument hoch." "Sie haben Ersatzzahlungen angegeben. Laden Sie bitte den Zahlungsbescheid "
"als Dokument hoch."
#: intervention/templates/intervention/detail/includes/payments.html:8 #: intervention/templates/intervention/detail/includes/payments.html:8
#: intervention/templates/intervention/report/report.html:69 #: intervention/templates/intervention/report/report.html:71
msgid "Payments" msgid "Payments"
msgstr "Ersatzzahlungen" msgstr "Ersatzzahlungen"
@ -1598,7 +1606,7 @@ msgid "Remove revocation"
msgstr "Widerspruch entfernen" msgstr "Widerspruch entfernen"
#: intervention/templates/intervention/detail/view.html:64 #: intervention/templates/intervention/detail/view.html:64
#: intervention/utils/quality.py:52 #: intervention/utils/quality.py:65
msgid "Intervention handler" msgid "Intervention handler"
msgstr "Eingriffsverursacher" msgstr "Eingriffsverursacher"
@ -1610,24 +1618,24 @@ msgstr "vorhanden"
msgid "Deductions of eco-accounts" msgid "Deductions of eco-accounts"
msgstr "Abbuchungen von Ökokonten" msgstr "Abbuchungen von Ökokonten"
#: intervention/templates/intervention/report/report.html:72 #: intervention/templates/intervention/report/report.html:74
msgid "Exist" msgid "Exist"
msgstr "Vorhanden" msgstr "Vorhanden"
#: intervention/utils/quality.py:70 #: intervention/utils/quality.py:83
#: templates/table/revocation_warning_col.html:5 #: templates/table/revocation_warning_col.html:5
msgid "Revocations exists" msgid "Revocations exists"
msgstr "Widersprüche liegen vor" msgstr "Widersprüche liegen vor"
#: intervention/utils/quality.py:76 #: intervention/utils/quality.py:89
msgid "Binding date" msgid "Binding date"
msgstr "Datum Bestandskraft bzw. Rechtskraft" msgstr "Datum Bestandskraft bzw. Rechtskraft"
#: intervention/utils/quality.py:79 #: intervention/utils/quality.py:92
msgid "Laws" msgid "Laws"
msgstr "Gesetze" msgstr "Gesetze"
#: intervention/utils/quality.py:101 #: intervention/utils/quality.py:114
msgid "No compensation of any type found (Compensation, Payment, Deduction)" msgid "No compensation of any type found (Compensation, Payment, Deduction)"
msgstr "" msgstr ""
"Kein Ausgleich jeglicher Art gefunden (Kompensation, Ersatzzahlung, " "Kein Ausgleich jeglicher Art gefunden (Kompensation, Ersatzzahlung, "
@ -1637,19 +1645,19 @@ msgstr ""
msgid "Check performed" msgid "Check performed"
msgstr "Prüfung durchgeführt" msgstr "Prüfung durchgeführt"
#: intervention/views/intervention.py:55 #: intervention/views/intervention.py:57
msgid "Interventions - Overview" msgid "Interventions - Overview"
msgstr "Eingriffe - Übersicht" msgstr "Eingriffe - Übersicht"
#: intervention/views/intervention.py:88 #: intervention/views/intervention.py:90
msgid "Intervention {} added" msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt" msgstr "Eingriff {} hinzugefügt"
#: intervention/views/intervention.py:216 #: intervention/views/intervention.py:218
msgid "Intervention {} edited" msgid "Intervention {} edited"
msgstr "Eingriff {} bearbeitet" msgstr "Eingriff {} bearbeitet"
#: intervention/views/intervention.py:253 #: intervention/views/intervention.py:255
msgid "{} removed" msgid "{} removed"
msgstr "{} entfernt" msgstr "{} entfernt"
@ -1734,10 +1742,26 @@ msgstr "Nach Zulassungsbehörde suchen"
msgid "Show recorded" msgid "Show recorded"
msgstr "Verzeichnete anzeigen" msgstr "Verzeichnete anzeigen"
#: konova/filters/mixins/record.py:27
msgid "If activated also shows entries which have been already recorded"
msgstr "Wenn aktiviert werden auch Einträge angezeigt, die bereits verzeichnet wurden"
#: konova/filters/mixins/self_created.py:23
msgid "Show only self created"
msgstr "Nur selbst erstellte anzeigen"
#: konova/filters/mixins/self_created.py:28
msgid "If activated only shows entries which have been created by you"
msgstr "Wenn aktiviert werden nur Einträge angezeigt, die von Ihnen erstellt worden sind"
#: konova/filters/mixins/share.py:22 #: konova/filters/mixins/share.py:22
msgid "Show unshared" msgid "Show unshared"
msgstr "Nicht freigegebene anzeigen" msgstr "Nicht freigegebene anzeigen"
#: konova/filters/mixins/share.py:27
msgid "If activated also shows entries which are not shared with you"
msgstr "Wenn aktiviert werden auch Einträge angezeigt, die nicht für Sie freigegeben sind"
#: konova/forms/base_form.py:23 templates/form/collapsable/form.html:62 #: konova/forms/base_form.py:23 templates/form/collapsable/form.html:62
msgid "Save" msgid "Save"
msgstr "Speichern" msgstr "Speichern"
@ -1746,12 +1770,12 @@ msgstr "Speichern"
msgid "Not editable" msgid "Not editable"
msgstr "Nicht editierbar" msgstr "Nicht editierbar"
#: konova/forms/geometry_form.py:29 konova/utils/quality.py:44 #: konova/forms/geometry_form.py:30 konova/utils/quality.py:44
#: konova/utils/quality.py:46 templates/form/collapsable/form.html:45 #: konova/utils/quality.py:46 templates/form/collapsable/form.html:45
msgid "Geometry" msgid "Geometry"
msgstr "Geometrie" msgstr "Geometrie"
#: konova/forms/geometry_form.py:80 #: konova/forms/geometry_form.py:99
msgid "Only surfaces allowed. Points or lines must be buffered." msgid "Only surfaces allowed. Points or lines must be buffered."
msgstr "" msgstr ""
"Nur Flächen erlaubt. Punkte oder Linien müssen zu Flächen gepuffert werden." "Nur Flächen erlaubt. Punkte oder Linien müssen zu Flächen gepuffert werden."
@ -1904,6 +1928,10 @@ msgstr "Gemarkungsschlüssel"
msgid "Spatial reference" msgid "Spatial reference"
msgstr "Raumreferenz" msgstr "Raumreferenz"
#: konova/templates/konova/includes/parcels/parcels.html:28
msgid "No geometry entry found on database. Please contact an admin!"
msgstr ""
#: konova/templates/konova/includes/quickstart/compensations.html:20 #: konova/templates/konova/includes/quickstart/compensations.html:20
#: konova/templates/konova/includes/quickstart/ecoaccounts.html:20 #: konova/templates/konova/includes/quickstart/ecoaccounts.html:20
#: konova/templates/konova/includes/quickstart/interventions.html:20 #: konova/templates/konova/includes/quickstart/interventions.html:20
@ -2308,7 +2336,9 @@ msgstr ""
#: templates/500.html:10 #: templates/500.html:10
msgid "Something happened. Admins have been informed. We are working on it!" msgid "Something happened. Admins have been informed. We are working on it!"
msgstr "Irgendetwas ist passiert. Die Administratoren wurden informiert. Wir arbeiten daran!" msgstr ""
"Irgendetwas ist passiert. Die Administratoren wurden informiert. Wir "
"arbeiten daran!"
#: templates/email/api/verify_token.html:7 #: templates/email/api/verify_token.html:7
msgid "Hello support" msgid "Hello support"

@ -4,12 +4,18 @@
<tbody> <tbody>
{% for field in form %} {% for field in form %}
<tr title="{{ field.help_text }}" class="{% if field.errors %}alert-danger{% endif %}"> <tr title="{{ field.help_text }}" class="{% if field.errors %}alert-danger{% endif %}">
<th scope="row" class="col-sm-3"> {{form.small_label_column}}
<label for="id_{{ field.name }}">{{ field.label }}<span class="label-required">{% if field.field.required %}*{% endif %}</span></label> <th scope="row" class="col-sm-{{form.label_input_ratio.0}}">
<br> <label for="id_{{ field.name }}">
<small>{{ field.help_text }}</small> {{ field.label }}
<span class="label-required">
{% if field.field.required %}*{% endif %}
</span>
<br>
<small>{{ field.help_text }}</small>
</label>
</th> </th>
<td class="col-sm-9"> <td class="col-sm-{{form.label_input_ratio.1}}">
{{ field }} {{ field }}
{% for error in field.errors %} {% for error in field.errors %}
<br> <br>

@ -4,9 +4,9 @@
Encapsules the rendering and initializing of a geometry view component, e.g. used in the detail views. Encapsules the rendering and initializing of a geometry view component, e.g. used in the detail views.
{% endcomment %} {% endcomment %}
{% if geom_form.empty %} {% if geom_form.empty and geom_form.read_only %}
<div class="w-100"> <div class="w-100">
<div class="alert alert-info"> <div class="alert alert-danger">
{% fa5_icon 'search-location' %} {% fa5_icon 'search-location' %}
{% trans 'No geometry added, yet.' %} {% trans 'No geometry added, yet.' %}
</div> </div>

Loading…
Cancel
Save