Compare commits

..

No commits in common. "a160f3fe6ca1caeb4082d7c526ec03c04403b883" and "95856c9ee94cdb999b48d245f5cea0026081d88e" have entirely different histories.

14 changed files with 116 additions and 258 deletions

View File

@ -410,7 +410,7 @@ class NewActionModalForm(BaseModalForm):
label=_("Action Type"), label=_("Action Type"),
label_suffix="", label_suffix="",
required=True, required=True,
help_text=_("An action can consist of multiple different action types. All the selected action types are expected to be performed according to the amount and unit below on this form."), help_text=_("Select the action type"),
choices=[], choices=[],
widget=CompensationActionTreeCheckboxSelectMultiple(), widget=CompensationActionTreeCheckboxSelectMultiple(),
) )

View File

@ -48,13 +48,13 @@
{% for state in after_states %} {% for state in after_states %}
<tr> <tr>
<td> <td>
<span>{{ state.biotope_type.parent.long_name }} {% fa5_icon 'angle-right' %} {{ state.biotope_type.long_name }} ({{state.biotope_type.short_name}})</span> <span>{{ state.biotope_type }}</span>
<br> {% if state.biotope_type_details.count > 0 %}
{% for detail in state.biotope_type_details.all %} <br>
<span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span> {% for detail in state.biotope_type_details.all %}
{% empty %} <span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span>
<span class="badge badge-pill rlp-r-outline" title="{% trans 'No biotope type details' %}">{% trans 'No biotope type details' %}</span> {% endfor %}
{% endfor %} {% endif %}
</td> </td>
<td>{{ state.surface|floatformat:2 }} m²</td> <td>{{ state.surface|floatformat:2 }} m²</td>
<td class="align-middle float-right"> <td class="align-middle float-right">

View File

@ -48,13 +48,13 @@
{% for state in before_states %} {% for state in before_states %}
<tr> <tr>
<td> <td>
<span>{{ state.biotope_type.parent.long_name }} {% fa5_icon 'angle-right' %} {{ state.biotope_type.long_name }} ({{state.biotope_type.short_name}})</span> <span>{{ state.biotope_type }}</span>
<br> {% if state.biotope_type_details.count > 0 %}
{% for detail in state.biotope_type_details.all %} <br>
<span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span> {% for detail in state.biotope_type_details.all %}
{% empty %} <span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span>
<span class="badge badge-pill rlp-r-outline" title="{% trans 'No biotope type details' %}">{% trans 'No biotope type details' %}</span> {% endfor %}
{% endfor %} {% endif %}
</td> </td>
<td>{{ state.surface|floatformat:2 }} m²</td> <td>{{ state.surface|floatformat:2 }} m²</td>
<td class="align-middle float-right"> <td class="align-middle float-right">

View File

@ -48,13 +48,13 @@
{% for state in after_states %} {% for state in after_states %}
<tr> <tr>
<td> <td>
<span>{{ state.biotope_type.parent.long_name }} {% fa5_icon 'angle-right' %} {{ state.biotope_type.long_name }} ({{state.biotope_type.short_name}})</span> <span>{{ state.biotope_type }}</span>
<br> {% if state.biotope_type_details.count > 0 %}
{% for detail in state.biotope_type_details.all %} <br>
<span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span> {% for detail in state.biotope_type_details.all %}
{% empty %} <span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span>
<span class="badge badge-pill rlp-r-outline" title="{% trans 'No biotope type details' %}">{% trans 'No biotope type details' %}</span> {% endfor %}
{% endfor %} {% endif %}
</td> </td>
<td>{{ state.surface|floatformat:2 }} m²</td> <td>{{ state.surface|floatformat:2 }} m²</td>
<td class="align-middle float-right"> <td class="align-middle float-right">

View File

@ -48,13 +48,13 @@
{% for state in before_states %} {% for state in before_states %}
<tr> <tr>
<td> <td>
<span>{{ state.biotope_type.parent.long_name }} {% fa5_icon 'angle-right' %} {{ state.biotope_type.long_name }} ({{state.biotope_type.short_name}})</span> <span>{{ state.biotope_type }}</span>
<br> {% if state.biotope_type_details.count > 0 %}
{% for detail in state.biotope_type_details.all %} <br>
<span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span> {% for detail in state.biotope_type_details.all %}
{% empty %} <span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span>
<span class="badge badge-pill rlp-r-outline" title="{% trans 'No biotope type details' %}">{% trans 'No biotope type details' %}</span> {% endfor %}
{% endfor %} {% endif %}
</td> </td>
<td>{{ state.surface|floatformat:2 }} m²</td> <td>{{ state.surface|floatformat:2 }} m²</td>
<td class="align-middle float-right"> <td class="align-middle float-right">

View File

@ -46,13 +46,13 @@
{% for state in after_states %} {% for state in after_states %}
<tr> <tr>
<td> <td>
<span>{{ state.biotope_type.parent.long_name }} {% fa5_icon 'angle-right' %} {{ state.biotope_type.long_name }} ({{state.biotope_type.short_name}})</span> <span>{{ state.biotope_type }}</span>
<br> {% if state.biotope_type_details.count > 0 %}
{% for detail in state.biotope_type_details.all %} <br>
<span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span> {% for detail in state.biotope_type_details.all %}
{% empty %} <span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span>
<span class="badge badge-pill rlp-r-outline" title="{% trans 'No biotope type details' %}">{% trans 'No biotope type details' %}</span> {% endfor %}
{% endfor %} {% endif %}
</td> </td>
<td>{{ state.surface|floatformat:2 }} m²</td> <td>{{ state.surface|floatformat:2 }} m²</td>
<td class="align-middle float-right"> <td class="align-middle float-right">

View File

@ -46,13 +46,13 @@
{% for state in before_states %} {% for state in before_states %}
<tr> <tr>
<td> <td>
<span>{{ state.biotope_type.parent.long_name }} {% fa5_icon 'angle-right' %} {{ state.biotope_type.long_name }} ({{state.biotope_type.short_name}})</span> <span>{{ state.biotope_type }}</span>
<br> {% if state.biotope_type_details.count > 0 %}
{% for detail in state.biotope_type_details.all %} <br>
<span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span> {% for detail in state.biotope_type_details.all %}
{% empty %} <span class="badge badge-pill rlp-r" title="{{detail}}">{{detail.long_name}}</span>
<span class="badge badge-pill rlp-r-outline" title="{% trans 'No biotope type details' %}">{% trans 'No biotope type details' %}</span> {% endfor %}
{% endfor %} {% endif %}
</td> </td>
<td>{{ state.surface|floatformat:2 }} m²</td> <td>{{ state.surface|floatformat:2 }} m²</td>
<td class="align-middle float-right"> <td class="align-middle float-right">

View File

@ -5,12 +5,7 @@ Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 07.12.20 Created on: 07.12.20
""" """
import collections
from dal_select2.views import Select2QuerySetView, Select2GroupQuerySetView from dal_select2.views import Select2QuerySetView, Select2GroupQuerySetView
from django.core.exceptions import ImproperlyConfigured
from konova.utils.message_templates import UNGROUPED
from user.models import User from user.models import User
from django.db.models import Q from django.db.models import Q
@ -144,8 +139,6 @@ class KonovaCodeAutocomplete(Select2GroupQuerySetView):
q_or |= Q(short_name__icontains=keyword) q_or |= Q(short_name__icontains=keyword)
q_or |= Q(parent__long_name__icontains=keyword) q_or |= Q(parent__long_name__icontains=keyword)
q_or |= Q(parent__short_name__icontains=keyword) q_or |= Q(parent__short_name__icontains=keyword)
q_or |= Q(parent__parent__long_name__icontains=keyword)
q_or |= Q(parent__parent__short_name__icontains=keyword)
_filter.add(q_or, Q.AND) _filter.add(q_or, Q.AND)
qs = qs.filter(_filter).distinct() qs = qs.filter(_filter).distinct()
return qs return qs
@ -221,41 +214,6 @@ class BiotopeCodeAutocomplete(KonovaCodeAutocomplete):
def get_result_label(self, result): def get_result_label(self, result):
return f"{result.long_name} ({result.short_name})" return f"{result.long_name} ({result.short_name})"
def get_results(self, context):
"""Return the options grouped by a common related model.
Raises ImproperlyConfigured if self.group_by_name is not configured
"""
if not self.group_by_related:
raise ImproperlyConfigured("Missing group_by_related.")
super_groups = collections.OrderedDict()
object_list = context['object_list']
for result in object_list:
group = result.parent if result.parent else None
group_name = f"{group.long_name} ({group.short_name})" if group else UNGROUPED
super_group = result.parent.parent if result.parent else None
super_group_name = f"{super_group.long_name} ({super_group.short_name})" if super_group else UNGROUPED
super_groups.setdefault(super_group_name, {})
super_groups[super_group_name].setdefault(group_name, [])
super_groups[super_group_name][group_name].append(result)
return [{
'id': None,
'text': super_group,
'children': [{
"id": None,
"text": group,
"children": [{
'id': self.get_result_value(result),
'text': self.get_result_label(result),
'selected_text': self.get_selected_result_label(result),
} for result in results]
} for group, results in groups.items()]
} for super_group, groups in super_groups.items()]
class BiotopeExtraCodeAutocomplete(KonovaCodeAutocomplete): class BiotopeExtraCodeAutocomplete(KonovaCodeAutocomplete):
""" """
@ -326,11 +284,6 @@ class RegistrationOfficeCodeAutocomplete(KonovaCodeAutocomplete):
self.c = CODELIST_REGISTRATION_OFFICE_ID self.c = CODELIST_REGISTRATION_OFFICE_ID
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
def order_by(self, qs):
return qs.order_by(
"parent__long_name"
)
class ConservationOfficeCodeAutocomplete(KonovaCodeAutocomplete): class ConservationOfficeCodeAutocomplete(KonovaCodeAutocomplete):
""" """
@ -344,4 +297,4 @@ class ConservationOfficeCodeAutocomplete(KonovaCodeAutocomplete):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
def get_result_label(self, result): def get_result_label(self, result):
return f"{result.long_name} ({result.short_name})" return f"{result.long_name} ({result.short_name})"

View File

@ -242,24 +242,15 @@ Similar to bootstraps 'shadow-lg'
.select2-results__option--highlighted{ .select2-results__option--highlighted{
background-color: var(--rlp-red) !important; background-color: var(--rlp-red) !important;
} }
/*
.select2-container--default .select2-results__group{ .select2-container--default .select2-results__group{
background-color: var(--rlp-gray-light); background-color: var(--rlp-gray-light);
} }
.select2-container--default .select2-results__option .select2-results__option{ .select2-container--default .select2-results__option .select2-results__option{
padding-left: 1em !important; padding-left: 2em !important;
}
*/
.select2-results__options--nested{
padding-left: 1em !important;
} }
.select2-container--default .select2-results > .select2-results__options{ .select2-container--default .select2-results > .select2-results__options{
max-height: 500px !important; max-height: 500px !important;
} }
/*
.select2-container--default .select2-results__option .select2-results__option{ .select2-container--default .select2-results__option .select2-results__option{
padding-left: 2em; padding-left: 2em;
} }
*/

View File

@ -1,21 +0,0 @@
{% load l10n fontawesome_5 %}
{% for code in codes %}
<div class="ml-4 tree-element">
<label class="tree-label" role="{% if not code.is_leaf%}button{% endif %}" for="input_{{code.pk|unlocalize}}" id="{{code.pk|unlocalize}}" data-toggle="collapse" data-target="#children_{{code.pk|unlocalize}}" aria-expanded="true" aria-controls="children_{{code.pk|unlocalize}}">
{% if code.is_leaf%}
<input class="tree-input" id="input_{{code.pk|unlocalize}}" name="{{ widget.name }}" type="checkbox" value="{{code.pk|unlocalize}}" {% if code.pk|unlocalize in widget.value %}checked{% endif %}/>
{% else %}
{% fa5_icon 'angle-right' %}
{% endif %}
{{code.long_name}}
</label>
{% if not code.is_leaf %}
<div id="children_{{code.pk|unlocalize}}" data-toggle="collapse" class="collapse tree-element-children">
{% with code.children as codes %}
{% include 'konova/widgets/checkbox-tree-select-content.html' %}
{% endwith %}
</div>
{% endif %}
</div>
{% endfor %}

View File

@ -1,64 +1,23 @@
{% load i18n %} {% load l10n fontawesome_5 %}
<div class="ml-4 mb-4"> <div>
<input id="tree-search-input" class="form-control" type="text" placeholder="{% trans 'Search' %}"/> {% for code in codes %}
</div> <div class="ml-4">
<label role="{% if not code.is_leaf%}button{% endif %}" for="input_{{code.pk|unlocalize}}" id="{{code.pk|unlocalize}}" data-toggle="collapse" data-target="#children_{{code.pk|unlocalize}}" aria-expanded="true" aria-controls="children_{{code.pk|unlocalize}}">
<div id="tree-root"> {% if code.is_leaf%}
{% include 'konova/widgets/checkbox-tree-select-content.html' %} <input id="input_{{code.pk|unlocalize}}" name="{{ widget.name }}" type="checkbox" value="{{code.pk|unlocalize}}" {% if code.pk|unlocalize in widget.value %}checked{% endif %}/>
</div> {% else %}
{% fa5_icon 'angle-right' %}
<script> {% endif %}
function toggleSelectedCssClass(element){ {{code.long_name}}
element = $(element); </label>
var cssClass = "badge rlp-r" {% if not code.is_leaf %}
<div id="children_{{code.pk|unlocalize}}" data-toggle="collapse" class="collapse">
var directParent = element.closest(".tree-element-children") {% with code.children as codes %}
var root = element.parents(".tree-element-children") {% include 'konova/widgets/checkbox-tree-select.html' %}
{% endwith %}
var otherCheckedInputsOfParent = directParent.find('.tree-input:checked'); </div>
var otherCheckedInputsOfRoot = root.find('.tree-input:checked'); {% endif %}
</div>
if(otherCheckedInputsOfParent.length == 0){ {% endfor %}
var parentLabel = directParent.siblings(".tree-label"); </div>
parentLabel.removeClass(cssClass)
if(otherCheckedInputsOfRoot.length == 0){
var rootLabel = root.siblings(".tree-label")
rootLabel.removeClass(cssClass)
}
}else{
var rootAndParentLabel = root.siblings(".tree-label");
rootAndParentLabel.addClass(cssClass);
}
}
function changeHandler(event){
toggleSelectedCssClass(this);
}
function searchInputHandler(event){
var elem = $(this);
var val = elem.val()
var allTreeElements = $(".tree-element")
var allTreeElementsContain = $(".tree-element:contains(" + val + ")")
if(val.length > 0){
allTreeElements.hide()
allTreeElementsContain.show()
}else{
allTreeElements.show()
}
}
// Add event listener on search input
$("#tree-search-input").keyup(searchInputHandler)
// Add event listener on changed checkboxes
$(".tree-input").change(changeHandler);
// initialize all pre-checked checkboxes (e.g. on an edit form)
var preCheckedElements = $(".tree-input:checked");
preCheckedElements.each(function (index, element){
toggleSelectedCssClass(element);
})
</script>

View File

@ -7,7 +7,7 @@ Created on: 02.08.21
""" """
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
UNGROUPED = _("Ungrouped")
FORM_INVALID = _("There was an error on this form.") FORM_INVALID = _("There was an error on this form.")
PARAMS_INVALID = _("Invalid parameters") PARAMS_INVALID = _("Invalid parameters")
INTERVENTION_INVALID = _("There are errors in this intervention.") INTERVENTION_INVALID = _("There are errors in this intervention.")

Binary file not shown.

View File

@ -3,9 +3,9 @@
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#: compensation/filters.py:122 compensation/forms/modalForms.py:36 #: compensation/filters.py:122 compensation/forms/modalForms.py:37
#: compensation/forms/modalForms.py:47 compensation/forms/modalForms.py:63 #: compensation/forms/modalForms.py:48 compensation/forms/modalForms.py:64
#: compensation/forms/modalForms.py:356 compensation/forms/modalForms.py:463 #: compensation/forms/modalForms.py:357 compensation/forms/modalForms.py:469
#: intervention/forms/forms.py:54 intervention/forms/forms.py:156 #: intervention/forms/forms.py:54 intervention/forms/forms.py:156
#: intervention/forms/forms.py:168 intervention/forms/modalForms.py:127 #: intervention/forms/forms.py:168 intervention/forms/modalForms.py:127
#: intervention/forms/modalForms.py:140 intervention/forms/modalForms.py:153 #: intervention/forms/modalForms.py:140 intervention/forms/modalForms.py:153
@ -26,7 +26,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-02-15 15:29+0100\n" "POT-Creation-Date: 2022-02-15 10:08+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"
@ -95,7 +95,7 @@ msgstr ""
#: analysis/templates/analysis/reports/includes/eco_account/amount.html:3 #: analysis/templates/analysis/reports/includes/eco_account/amount.html:3
#: analysis/templates/analysis/reports/includes/intervention/amount.html:3 #: analysis/templates/analysis/reports/includes/intervention/amount.html:3
#: analysis/templates/analysis/reports/includes/old_data/amount.html:3 #: analysis/templates/analysis/reports/includes/old_data/amount.html:3
#: compensation/forms/modalForms.py:447 #: compensation/forms/modalForms.py:453
#: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34 #: compensation/templates/compensation/detail/eco_account/includes/deductions.html:34
#: intervention/templates/intervention/detail/includes/deductions.html:31 #: intervention/templates/intervention/detail/includes/deductions.html:31
msgid "Amount" msgid "Amount"
@ -213,7 +213,7 @@ msgstr "Abbuchungen"
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:9 #: analysis/templates/analysis/reports/includes/eco_account/deductions.html:9
#: analysis/templates/analysis/reports/includes/eco_account/deductions.html:11 #: analysis/templates/analysis/reports/includes/eco_account/deductions.html:11
#: compensation/forms/modalForms.py:194 #: compensation/forms/modalForms.py:195
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:36 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:36
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:36 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:36
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:36 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:36
@ -246,7 +246,7 @@ msgid "Compensation"
msgstr "Kompensation" msgstr "Kompensation"
#: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:21 #: analysis/templates/analysis/reports/includes/intervention/compensated_by.html:21
#: compensation/forms/modalForms.py:76 #: compensation/forms/modalForms.py:77
msgid "Payment" msgid "Payment"
msgstr "Zahlung" msgstr "Zahlung"
@ -352,8 +352,8 @@ msgstr "Aussagekräftiger Titel"
msgid "Compensation XY; Location ABC" msgid "Compensation XY; Location ABC"
msgstr "Kompensation XY; Flur ABC" msgstr "Kompensation XY; Flur ABC"
#: compensation/forms/forms.py:57 compensation/forms/modalForms.py:62 #: compensation/forms/forms.py:57 compensation/forms/modalForms.py:63
#: compensation/forms/modalForms.py:355 compensation/forms/modalForms.py:462 #: compensation/forms/modalForms.py:356 compensation/forms/modalForms.py:468
#: compensation/templates/compensation/detail/compensation/includes/actions.html:35 #: compensation/templates/compensation/detail/compensation/includes/actions.html:35
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34
#: compensation/templates/compensation/detail/compensation/includes/documents.html:34 #: compensation/templates/compensation/detail/compensation/includes/documents.html:34
@ -371,7 +371,7 @@ msgstr "Kompensation XY; Flur ABC"
msgid "Comment" msgid "Comment"
msgstr "Kommentar" msgstr "Kommentar"
#: compensation/forms/forms.py:59 compensation/forms/modalForms.py:464 #: compensation/forms/forms.py:59 compensation/forms/modalForms.py:470
#: intervention/forms/forms.py:182 #: intervention/forms/forms.py:182
msgid "Additional comment" msgid "Additional comment"
msgstr "Zusätzlicher Kommentar" msgstr "Zusätzlicher Kommentar"
@ -469,73 +469,73 @@ msgstr "Ökokonto XY; Flur ABC"
msgid "Edit Eco-Account" msgid "Edit Eco-Account"
msgstr "Ökokonto bearbeiten" msgstr "Ökokonto bearbeiten"
#: compensation/forms/modalForms.py:37 #: compensation/forms/modalForms.py:38
msgid "in Euro" msgid "in Euro"
msgstr "in Euro" msgstr "in Euro"
#: compensation/forms/modalForms.py:46 #: compensation/forms/modalForms.py:47
#: intervention/templates/intervention/detail/includes/payments.html:31 #: intervention/templates/intervention/detail/includes/payments.html:31
msgid "Due on" msgid "Due on"
msgstr "Fällig am" msgstr "Fällig am"
#: compensation/forms/modalForms.py:49 #: compensation/forms/modalForms.py:50
msgid "Due on which date" msgid "Due on which date"
msgstr "Zahlung wird an diesem Datum erwartet" msgstr "Zahlung wird an diesem Datum erwartet"
#: compensation/forms/modalForms.py:64 compensation/forms/modalForms.py:357 #: compensation/forms/modalForms.py:65 compensation/forms/modalForms.py:358
#: intervention/forms/modalForms.py:154 konova/forms.py:395 #: intervention/forms/modalForms.py:154 konova/forms.py:395
msgid "Additional comment, maximum {} letters" msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen" msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
#: compensation/forms/modalForms.py:77 #: compensation/forms/modalForms.py:78
msgid "Add a payment for intervention '{}'" msgid "Add a payment for intervention '{}'"
msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen" msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen"
#: compensation/forms/modalForms.py:97 #: compensation/forms/modalForms.py:98
msgid "If there is no date you can enter, please explain why." msgid "If there is no date you can enter, please explain why."
msgstr "Falls Sie kein Datum angeben können, erklären Sie bitte weshalb." msgstr "Falls Sie kein Datum angeben können, erklären Sie bitte weshalb."
#: compensation/forms/modalForms.py:158 compensation/forms/modalForms.py:170 #: compensation/forms/modalForms.py:159 compensation/forms/modalForms.py:171
msgid "Biotope Type" msgid "Biotope Type"
msgstr "Biotoptyp" msgstr "Biotoptyp"
#: compensation/forms/modalForms.py:161 #: compensation/forms/modalForms.py:162
msgid "Select the biotope type" msgid "Select the biotope type"
msgstr "Biotoptyp wählen" msgstr "Biotoptyp wählen"
#: compensation/forms/modalForms.py:175 compensation/forms/modalForms.py:187 #: compensation/forms/modalForms.py:176 compensation/forms/modalForms.py:188
msgid "Biotope additional type" msgid "Biotope additional type"
msgstr "Zusatzbezeichnung" msgstr "Zusatzbezeichnung"
#: compensation/forms/modalForms.py:178 #: compensation/forms/modalForms.py:179
msgid "Select an additional biotope type" msgid "Select an additional biotope type"
msgstr "Zusatzbezeichnung wählen" msgstr "Zusatzbezeichnung wählen"
#: compensation/forms/modalForms.py:197 intervention/forms/modalForms.py:340 #: compensation/forms/modalForms.py:198 intervention/forms/modalForms.py:340
msgid "in m²" msgid "in m²"
msgstr "" msgstr ""
#: compensation/forms/modalForms.py:208 #: compensation/forms/modalForms.py:209
msgid "New state" msgid "New state"
msgstr "Neuer Zustand" msgstr "Neuer Zustand"
#: compensation/forms/modalForms.py:209 #: compensation/forms/modalForms.py:210
msgid "Insert data for the new state" msgid "Insert data for the new state"
msgstr "Geben Sie die Daten des neuen Zustandes ein" msgstr "Geben Sie die Daten des neuen Zustandes ein"
#: compensation/forms/modalForms.py:216 konova/forms.py:193 #: compensation/forms/modalForms.py:217 konova/forms.py:193
msgid "Object removed" msgid "Object removed"
msgstr "Objekt entfernt" msgstr "Objekt entfernt"
#: compensation/forms/modalForms.py:327 #: compensation/forms/modalForms.py:328
msgid "Deadline Type" msgid "Deadline Type"
msgstr "Fristart" msgstr "Fristart"
#: compensation/forms/modalForms.py:330 #: compensation/forms/modalForms.py:331
msgid "Select the deadline type" msgid "Select the deadline type"
msgstr "Fristart wählen" msgstr "Fristart wählen"
#: compensation/forms/modalForms.py:339 #: compensation/forms/modalForms.py:340
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:31 #: compensation/templates/compensation/detail/compensation/includes/deadlines.html:31
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:31 #: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:31
#: ema/templates/ema/detail/includes/deadlines.html:31 #: ema/templates/ema/detail/includes/deadlines.html:31
@ -543,57 +543,51 @@ msgstr "Fristart wählen"
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
#: compensation/forms/modalForms.py:342 #: compensation/forms/modalForms.py:343
msgid "Select date" msgid "Select date"
msgstr "Datum wählen" msgstr "Datum wählen"
#: compensation/forms/modalForms.py:369 #: compensation/forms/modalForms.py:370
msgid "New deadline" msgid "New deadline"
msgstr "Neue Frist" msgstr "Neue Frist"
#: compensation/forms/modalForms.py:370 #: compensation/forms/modalForms.py:371
msgid "Insert data for the new deadline" msgid "Insert data for the new deadline"
msgstr "Geben Sie die Daten der neuen Frist ein" msgstr "Geben Sie die Daten der neuen Frist ein"
#: compensation/forms/modalForms.py:410 #: compensation/forms/modalForms.py:411
msgid "Action Type" msgid "Action Type"
msgstr "Maßnahmentyp" msgstr "Maßnahmentyp"
#: compensation/forms/modalForms.py:413 #: compensation/forms/modalForms.py:414
msgid "" msgid "Select the action type"
"An action can consist of multiple different action types. All the selected " msgstr "Maßnahmentyp wählen"
"action types are expected to be performed according to the amount and unit "
"below on this form."
msgstr ""
"Eine Maßnahme kann aus mehreren verschiedenen Maßnahmentypen bestehen. Alle "
"hier gewählten Einträge sollen mit der weiter unten angegebenen Einheit und "
"Menge umgesetzt werden. "
#: compensation/forms/modalForms.py:418 compensation/forms/modalForms.py:430 #: compensation/forms/modalForms.py:424 compensation/forms/modalForms.py:436
msgid "Action Type detail" msgid "Action Type detail"
msgstr "Zusatzmerkmal" msgstr "Zusatzmerkmal"
#: compensation/forms/modalForms.py:421 #: compensation/forms/modalForms.py:427
msgid "Select the action type detail" msgid "Select the action type detail"
msgstr "Zusatzmerkmal wählen" msgstr "Zusatzmerkmal wählen"
#: compensation/forms/modalForms.py:435 #: compensation/forms/modalForms.py:441
msgid "Unit" msgid "Unit"
msgstr "Einheit" msgstr "Einheit"
#: compensation/forms/modalForms.py:438 #: compensation/forms/modalForms.py:444
msgid "Select the unit" msgid "Select the unit"
msgstr "Einheit wählen" msgstr "Einheit wählen"
#: compensation/forms/modalForms.py:450 #: compensation/forms/modalForms.py:456
msgid "Insert the amount" msgid "Insert the amount"
msgstr "Menge eingeben" msgstr "Menge eingeben"
#: compensation/forms/modalForms.py:475 #: compensation/forms/modalForms.py:481
msgid "New action" msgid "New action"
msgstr "Neue Maßnahme" msgstr "Neue Maßnahme"
#: compensation/forms/modalForms.py:476 #: compensation/forms/modalForms.py:482
msgid "Insert data for the new action" msgid "Insert data for the new action"
msgstr "Geben Sie die Daten der neuen Maßnahme ein" msgstr "Geben Sie die Daten der neuen Maßnahme ein"
@ -757,19 +751,18 @@ msgstr "Aktionen"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:57 #: compensation/templates/compensation/detail/compensation/includes/actions.html:57
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:56 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:56
#: ema/templates/ema/detail/includes/actions.html:54
msgid "No action type details" msgid "No action type details"
msgstr "Keine Zusatzmerkmale" msgstr "Keine Zusatzmerkmale"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:68 #: compensation/templates/compensation/detail/compensation/includes/actions.html:68
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:67 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:67
#: ema/templates/ema/detail/includes/actions.html:65 #: ema/templates/ema/detail/includes/actions.html:67
msgid "Edit action" msgid "Edit action"
msgstr "Maßnahme bearbeiten" msgstr "Maßnahme bearbeiten"
#: compensation/templates/compensation/detail/compensation/includes/actions.html:71 #: compensation/templates/compensation/detail/compensation/includes/actions.html:71
#: compensation/templates/compensation/detail/eco_account/includes/actions.html:70 #: compensation/templates/compensation/detail/eco_account/includes/actions.html:70
#: ema/templates/ema/detail/includes/actions.html:68 #: ema/templates/ema/detail/includes/actions.html:70
msgid "Remove action" msgid "Remove action"
msgstr "Maßnahme entfernen" msgstr "Maßnahme entfernen"
@ -898,15 +891,6 @@ msgstr "Fehlende Flächenmengen laut Ausgangszustand: "
msgid "Biotope type" msgid "Biotope type"
msgstr "Biotoptyp" msgstr "Biotoptyp"
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:56
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:56
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:56
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:56
#: ema/templates/ema/detail/includes/states-after.html:54
#: ema/templates/ema/detail/includes/states-before.html:54
msgid "No biotope type details"
msgstr "Keine Zusatzbezeichnungen"
#: compensation/templates/compensation/detail/compensation/includes/states-after.html:62 #: compensation/templates/compensation/detail/compensation/includes/states-after.html:62
#: compensation/templates/compensation/detail/compensation/includes/states-before.html:62 #: compensation/templates/compensation/detail/compensation/includes/states-before.html:62
#: compensation/templates/compensation/detail/eco_account/includes/states-after.html:62 #: compensation/templates/compensation/detail/eco_account/includes/states-after.html:62
@ -1766,11 +1750,6 @@ msgstr "Neu"
msgid "Show" msgid "Show"
msgstr "Anzeigen" msgstr "Anzeigen"
#: konova/templates/konova/widgets/checkbox-tree-select.html:4
#: templates/generic_index.html:56
msgid "Search"
msgstr "Suchen"
#: konova/templates/konova/widgets/generate-content-input.html:6 #: konova/templates/konova/widgets/generate-content-input.html:6
msgid "Generate new" msgid "Generate new"
msgstr "Neu generieren" msgstr "Neu generieren"
@ -1811,10 +1790,6 @@ msgstr "{} - Freigegebene Daten geprüft"
msgid "Request for new API token" msgid "Request for new API token"
msgstr "Anfrage für neuen API Token" msgstr "Anfrage für neuen API Token"
#: konova/utils/message_templates.py:10
msgid "Ungrouped"
msgstr "Ohne Zuordnung"
#: konova/utils/message_templates.py:11 #: konova/utils/message_templates.py:11
msgid "There was an error on this form." msgid "There was an error on this form."
msgstr "Es gab einen Fehler im Formular." msgstr "Es gab einen Fehler im Formular."
@ -2280,6 +2255,10 @@ msgstr "Neu"
msgid "Search for keywords" msgid "Search for keywords"
msgstr "Nach Schlagwörtern suchen" msgstr "Nach Schlagwörtern suchen"
#: templates/generic_index.html:56
msgid "Search"
msgstr "Suchen"
#: templates/generic_index.html:57 #: templates/generic_index.html:57
msgid "Start search" msgid "Start search"
msgstr "Starte Suche" msgstr "Starte Suche"
@ -4009,9 +3988,6 @@ msgstr ""
msgid "Unable to connect to qpid with SASL mechanism %s" msgid "Unable to connect to qpid with SASL mechanism %s"
msgstr "" msgstr ""
#~ msgid "Select the action type"
#~ msgstr "Maßnahmentyp wählen"
#~ msgid "No revocation" #~ msgid "No revocation"
#~ msgstr "Kein Widerspruch" #~ msgstr "Kein Widerspruch"