EcoAccount index
* renames eco_withdraws to withdraws * adds EcoAccountTableFilter * changes percentage withdraw to surface withdraw --> renames amount to surface * updates EcoAccountTable * adds column for rendering rest of available account using a progress bar * adds progressbar.html to konova/custom_widgets * adds/updates translations
This commit is contained in:
parent
a7aeecde2e
commit
93c02a72ca
@ -52,7 +52,7 @@ class EcoAccountWithdrawAdmin(admin.ModelAdmin):
|
|||||||
"id",
|
"id",
|
||||||
"account",
|
"account",
|
||||||
"intervention",
|
"intervention",
|
||||||
"amount",
|
"surface",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,3 +53,48 @@ class CompensationTableFilter(InterventionTableFilter):
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
class EcoAccountTableFilter(InterventionTableFilter):
|
||||||
|
""" TableFilter for eco accounts
|
||||||
|
|
||||||
|
Based widely on InterventionTableFilter.
|
||||||
|
Just some minor changes for EcoAccount model.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
def _filter_show_all(self, queryset, name, value) -> QuerySet:
|
||||||
|
""" Filters queryset depending on value of 'show_all' setting
|
||||||
|
|
||||||
|
Args:
|
||||||
|
queryset ():
|
||||||
|
name ():
|
||||||
|
value ():
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
"""
|
||||||
|
if not value:
|
||||||
|
return queryset.filter(
|
||||||
|
users__in=[self.user], # requesting user has access
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
def _filter_show_recorded(self, queryset, name, value) -> QuerySet:
|
||||||
|
""" Filters queryset depending on value of 'show_recorded' setting
|
||||||
|
|
||||||
|
Args:
|
||||||
|
queryset ():
|
||||||
|
name ():
|
||||||
|
value ():
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
"""
|
||||||
|
if not value:
|
||||||
|
return queryset.filter(
|
||||||
|
recorded=None,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
return queryset
|
||||||
|
@ -175,6 +175,16 @@ class EcoAccount(AbstractCompensation):
|
|||||||
help_text="Users having access (shared with)"
|
help_text="Users having access (shared with)"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Refers to "verzeichnen"
|
||||||
|
recorded = models.OneToOneField(
|
||||||
|
UserActionLogEntry,
|
||||||
|
on_delete=models.SET_NULL,
|
||||||
|
null=True,
|
||||||
|
blank=True,
|
||||||
|
help_text="Holds data on user and timestamp of this action",
|
||||||
|
related_name="+"
|
||||||
|
)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{}".format(self.identifier)
|
return "{}".format(self.identifier)
|
||||||
|
|
||||||
@ -189,15 +199,14 @@ class EcoAccountWithdraw(BaseResource):
|
|||||||
null=True,
|
null=True,
|
||||||
blank=True,
|
blank=True,
|
||||||
help_text="Withdrawn from",
|
help_text="Withdrawn from",
|
||||||
related_name="eco_withdraws",
|
related_name="withdraws",
|
||||||
)
|
)
|
||||||
amount = models.FloatField(
|
surface = models.FloatField(
|
||||||
null=True,
|
null=True,
|
||||||
blank=True,
|
blank=True,
|
||||||
help_text="Amount withdrawn (percentage)",
|
help_text="Amount withdrawn (m²)",
|
||||||
validators=[
|
validators=[
|
||||||
MinValueValidator(limit_value=0.00),
|
MinValueValidator(limit_value=0.00),
|
||||||
MaxValueValidator(limit_value=100),
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
intervention = models.ForeignKey(
|
intervention = models.ForeignKey(
|
||||||
@ -206,8 +215,8 @@ class EcoAccountWithdraw(BaseResource):
|
|||||||
null=True,
|
null=True,
|
||||||
blank=True,
|
blank=True,
|
||||||
help_text="Withdrawn for",
|
help_text="Withdrawn for",
|
||||||
related_name="eco_withdraws",
|
related_name="withdraws",
|
||||||
)
|
)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{} of {}".format(self.amount, self.account)
|
return "{} of {}".format(self.surface, self.account)
|
||||||
|
@ -5,14 +5,16 @@ Contact: michel.peltriaux@sgdnord.rlp.de
|
|||||||
Created on: 01.12.20
|
Created on: 01.12.20
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
from django.db.models import Sum
|
||||||
from django.http import HttpRequest
|
from django.http import HttpRequest
|
||||||
|
from django.template.loader import render_to_string
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.html import format_html
|
from django.utils.html import format_html
|
||||||
from django.utils.timezone import localtime
|
from django.utils.timezone import localtime
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from compensation.filters import CompensationTableFilter
|
from compensation.filters import CompensationTableFilter, EcoAccountTableFilter
|
||||||
from compensation.models import Compensation
|
from compensation.models import Compensation, EcoAccount
|
||||||
from intervention.filters import InterventionTableFilter
|
from intervention.filters import InterventionTableFilter
|
||||||
from konova.sub_settings.django_settings import DEFAULT_DATE_TIME_FORMAT
|
from konova.sub_settings.django_settings import DEFAULT_DATE_TIME_FORMAT
|
||||||
from konova.utils.tables import BaseTable
|
from konova.utils.tables import BaseTable
|
||||||
@ -57,7 +59,7 @@ class CompensationTable(BaseTable):
|
|||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
template_name = "django_tables2/bootstrap4.html"
|
template_name = "django_tables2/bootstrap4.html"
|
||||||
|
|
||||||
def __init__(self, request:HttpRequest, *args, **kwargs):
|
def __init__(self, request: HttpRequest, *args, **kwargs):
|
||||||
self.title = _("Compensations")
|
self.title = _("Compensations")
|
||||||
self.add_new_url = reverse("compensation:new")
|
self.add_new_url = reverse("compensation:new")
|
||||||
qs = kwargs.get("queryset", None)
|
qs = kwargs.get("queryset", None)
|
||||||
@ -170,43 +172,120 @@ class EcoAccountTable(BaseTable):
|
|||||||
orderable=True,
|
orderable=True,
|
||||||
accessor="title",
|
accessor="title",
|
||||||
)
|
)
|
||||||
d = tables.Column(
|
av = tables.Column(
|
||||||
verbose_name=_("Created on"),
|
verbose_name=_("Available"),
|
||||||
|
orderable=True,
|
||||||
|
empty_values=[],
|
||||||
|
)
|
||||||
|
r = tables.Column(
|
||||||
|
verbose_name=_("Recorded"),
|
||||||
|
orderable=True,
|
||||||
|
empty_values=[],
|
||||||
|
accessor="recorded",
|
||||||
|
)
|
||||||
|
e = tables.Column(
|
||||||
|
verbose_name=_("Editable"),
|
||||||
|
orderable=True,
|
||||||
|
empty_values=[],
|
||||||
|
accessor="users",
|
||||||
|
)
|
||||||
|
lm = tables.Column(
|
||||||
|
verbose_name=_("Last edit"),
|
||||||
orderable=True,
|
orderable=True,
|
||||||
accessor="created__timestamp",
|
accessor="created__timestamp",
|
||||||
)
|
)
|
||||||
ac = tables.Column(
|
|
||||||
verbose_name=_("Actions"),
|
|
||||||
orderable=False,
|
|
||||||
empty_values=[],
|
|
||||||
attrs={"td": {"class": "action-col"}}
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
pass
|
template_name = "django_tables2/bootstrap4.html"
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, request: HttpRequest, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
|
||||||
self.title = _("Eco Accounts")
|
self.title = _("Eco Accounts")
|
||||||
self.add_new_url = reverse("compensation:acc-new")
|
self.add_new_url = reverse("compensation:acc-new")
|
||||||
|
qs = kwargs.get("queryset", None)
|
||||||
|
self.filter = EcoAccountTableFilter(
|
||||||
|
user=request.user,
|
||||||
|
data=request.GET,
|
||||||
|
queryset=qs,
|
||||||
|
)
|
||||||
|
super().__init__(request, self.filter, *args, **kwargs)
|
||||||
|
|
||||||
|
def render_id(self, value, record: EcoAccount):
|
||||||
|
""" Renders the id column for an eco account
|
||||||
|
|
||||||
|
Args:
|
||||||
|
value (str): The identifier value
|
||||||
|
record (EcoAccount): The eco account record
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
def render_ac(self, value, record):
|
|
||||||
"""
|
"""
|
||||||
Renders possible actions for this record, such as delete.
|
|
||||||
"""
|
|
||||||
intervention = _("Compensation")
|
|
||||||
html = ""
|
html = ""
|
||||||
html += self.render_open_btn(
|
html += self.render_link(
|
||||||
_("Open {}").format(intervention),
|
tooltip=_("Open {}").format(_("Eco-account")),
|
||||||
reverse("compensation:open", args=(record.id,)),
|
href=reverse("compensation:acc-open", args=(record.id,)),
|
||||||
new_tab=True
|
txt=value,
|
||||||
)
|
new_tab=False,
|
||||||
html += self.render_edit_btn(
|
)
|
||||||
_("Edit {}").format(intervention),
|
return format_html(html)
|
||||||
reverse("compensation:edit", args=(record.id,)),
|
|
||||||
)
|
def render_av(self, value, record: EcoAccount):
|
||||||
html += self.render_delete_btn(
|
""" Renders the available column for an eco account
|
||||||
_("Delete {}").format(intervention),
|
|
||||||
reverse("compensation:remove", args=(record.id,)),
|
Args:
|
||||||
|
value (str): The identifier value
|
||||||
|
record (EcoAccount): The eco account record
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
"""
|
||||||
|
withdraws = record.withdraws.all()
|
||||||
|
withdraw_surfaces = withdraws.aggregate(Sum("amount"))["amount__sum"] or 0
|
||||||
|
after_states_surfaces = record.after_states.all().aggregate(Sum("surface"))["surface__sum"] or withdraw_surfaces ## no division by zero
|
||||||
|
value = int(((after_states_surfaces - withdraw_surfaces) / after_states_surfaces) * 100)
|
||||||
|
html = render_to_string("konova/custom_widgets/progressbar.html", {"value": value})
|
||||||
|
return format_html(html)
|
||||||
|
|
||||||
|
def render_r(self, value, record: EcoAccount):
|
||||||
|
""" Renders the registered column for an eco account
|
||||||
|
|
||||||
|
Args:
|
||||||
|
value (str): The identifier value
|
||||||
|
record (EcoAccount): The eco account record
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
"""
|
||||||
|
html = ""
|
||||||
|
checked = value is not None
|
||||||
|
tooltip = _("Not recorded yet. Can not be used for withdraws, yet.")
|
||||||
|
if checked:
|
||||||
|
value = value.timestamp
|
||||||
|
value = localtime(value)
|
||||||
|
on = value.strftime(DEFAULT_DATE_TIME_FORMAT)
|
||||||
|
tooltip = _("Recorded on {} by {}").format(on, record.recorded.user)
|
||||||
|
html += self.render_bookmark(
|
||||||
|
tooltip=tooltip,
|
||||||
|
icn_filled=checked,
|
||||||
|
)
|
||||||
|
return format_html(html)
|
||||||
|
|
||||||
|
def render_e(self, value, record: EcoAccount):
|
||||||
|
""" Renders the registered column for an eco account
|
||||||
|
|
||||||
|
Args:
|
||||||
|
value (str): The identifier value
|
||||||
|
record (EcoAccount): The eco account record
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
"""
|
||||||
|
html = ""
|
||||||
|
has_access = value.filter(
|
||||||
|
username=self.user.username
|
||||||
|
).exists()
|
||||||
|
|
||||||
|
html += self.render_icn(
|
||||||
|
tooltip=_("Full access granted") if has_access else _("Access not granted"),
|
||||||
|
icn_class="fas fa-edit rlp-r-inv" if has_access else "far fa-edit",
|
||||||
)
|
)
|
||||||
return format_html(html)
|
return format_html(html)
|
||||||
|
@ -90,7 +90,7 @@ def withdraw_remove_view(request: HttpRequest, id: str, withdraw_id: str):
|
|||||||
"""
|
"""
|
||||||
acc = get_object_or_404(EcoAccount, id=id)
|
acc = get_object_or_404(EcoAccount, id=id)
|
||||||
try:
|
try:
|
||||||
eco_withdraw = acc.eco_withdraws.get(id=withdraw_id)
|
eco_withdraw = acc.withdraws.get(id=withdraw_id)
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
raise Http404("Unknown withdraw")
|
raise Http404("Unknown withdraw")
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<h5>
|
<h5>
|
||||||
<span class="badge badge-light">{{intervention.eco_withdraws.count}}</span>
|
<span class="badge badge-light">{{intervention.withdraws.count}}</span>
|
||||||
{% trans 'Eco Account Withdraws' %}
|
{% trans 'Eco Account Withdraws' %}
|
||||||
</h5>
|
</h5>
|
||||||
</div>
|
</div>
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for withdraw in intervention.eco_withdraws.all %}
|
{% for withdraw in intervention.withdraws.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="align-middle">
|
<td class="align-middle">
|
||||||
<a href="{% url 'compensation:acc-open' withdraw.account.id %}">
|
<a href="{% url 'compensation:acc-open' withdraw.account.id %}">
|
||||||
|
7
konova/templates/konova/custom_widgets/progressbar.html
Normal file
7
konova/templates/konova/custom_widgets/progressbar.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
<div class="progress" title="{% trans 'Available: ' %}{{ value }}%">
|
||||||
|
<div class="progress-bar rlp-r" role="progressbar" style="width: {{ value }}%" aria-valuenow="{{ value }}" aria-valuemin="0" aria-valuemax="100">
|
||||||
|
{{ value }} %
|
||||||
|
</div>
|
||||||
|
</div>
|
Binary file not shown.
@ -8,15 +8,15 @@
|
|||||||
#: intervention/filters.py:26 intervention/filters.py:40
|
#: intervention/filters.py:26 intervention/filters.py:40
|
||||||
#: intervention/filters.py:47 intervention/filters.py:48
|
#: intervention/filters.py:47 intervention/filters.py:48
|
||||||
#: intervention/forms.py:318 intervention/forms.py:330
|
#: intervention/forms.py:318 intervention/forms.py:330
|
||||||
#: intervention/forms.py:342 konova/forms.py:92 konova/forms.py:228
|
#: intervention/forms.py:342 konova/forms.py:91 konova/forms.py:227
|
||||||
#: konova/forms.py:261 konova/forms.py:266 konova/forms.py:278
|
#: konova/forms.py:260 konova/forms.py:265 konova/forms.py:277
|
||||||
#: konova/forms.py:290 konova/forms.py:303 user/forms.py:38
|
#: konova/forms.py:289 konova/forms.py:302 user/forms.py:38
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-08-05 12:43+0200\n"
|
"POT-Creation-Date: 2021-08-09 14:12+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -94,7 +94,7 @@ msgstr "Geben Sie die Daten des neuen Zustandes ein"
|
|||||||
msgid "Added state"
|
msgid "Added state"
|
||||||
msgstr "Zustand hinzugefügt"
|
msgstr "Zustand hinzugefügt"
|
||||||
|
|
||||||
#: compensation/forms.py:133 konova/forms.py:142
|
#: compensation/forms.py:133 konova/forms.py:141
|
||||||
msgid "Object removed"
|
msgid "Object removed"
|
||||||
msgstr "Objekt entfernt"
|
msgstr "Objekt entfernt"
|
||||||
|
|
||||||
@ -123,12 +123,12 @@ msgstr "Datum wählen"
|
|||||||
#: intervention/forms.py:341
|
#: intervention/forms.py:341
|
||||||
#: intervention/templates/intervention/detail/includes/documents.html:31
|
#: intervention/templates/intervention/detail/includes/documents.html:31
|
||||||
#: intervention/templates/intervention/detail/includes/revocation.html:35
|
#: intervention/templates/intervention/detail/includes/revocation.html:35
|
||||||
#: konova/forms.py:289
|
#: konova/forms.py:288
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Kommentar"
|
msgstr "Kommentar"
|
||||||
|
|
||||||
#: compensation/forms.py:204 compensation/forms.py:272
|
#: compensation/forms.py:204 compensation/forms.py:272
|
||||||
#: intervention/forms.py:343 konova/forms.py:291
|
#: intervention/forms.py:343 konova/forms.py:290
|
||||||
msgid "Additional comment, maximum {} letters"
|
msgid "Additional comment, maximum {} letters"
|
||||||
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
|
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
|
||||||
|
|
||||||
@ -200,106 +200,109 @@ msgstr ""
|
|||||||
msgid "Pieces"
|
msgid "Pieces"
|
||||||
msgstr "Stück"
|
msgstr "Stück"
|
||||||
|
|
||||||
#: compensation/tables.py:24 compensation/tables.py:164
|
#: compensation/tables.py:26 compensation/tables.py:166
|
||||||
#: intervention/forms.py:28 intervention/tables.py:23
|
#: intervention/forms.py:28 intervention/tables.py:23
|
||||||
#: intervention/templates/intervention/detail/includes/compensations.html:30
|
#: intervention/templates/intervention/detail/includes/compensations.html:30
|
||||||
msgid "Identifier"
|
msgid "Identifier"
|
||||||
msgstr "Kennung"
|
msgstr "Kennung"
|
||||||
|
|
||||||
#: compensation/tables.py:29 compensation/tables.py:169
|
#: compensation/tables.py:31 compensation/tables.py:171
|
||||||
#: compensation/templates/compensation/detail/includes/documents.html:28
|
#: compensation/templates/compensation/detail/includes/documents.html:28
|
||||||
#: compensation/templates/compensation/detail/view.html:24
|
#: compensation/templates/compensation/detail/view.html:24
|
||||||
#: intervention/forms.py:35 intervention/tables.py:28
|
#: intervention/forms.py:35 intervention/tables.py:28
|
||||||
#: intervention/templates/intervention/detail/includes/compensations.html:33
|
#: intervention/templates/intervention/detail/includes/compensations.html:33
|
||||||
#: intervention/templates/intervention/detail/includes/documents.html:28
|
#: intervention/templates/intervention/detail/includes/documents.html:28
|
||||||
#: intervention/templates/intervention/detail/view.html:24 konova/forms.py:260
|
#: intervention/templates/intervention/detail/view.html:24 konova/forms.py:259
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Bezeichnung"
|
msgstr "Bezeichnung"
|
||||||
|
|
||||||
#: compensation/tables.py:34
|
#: compensation/tables.py:36
|
||||||
#: compensation/templates/compensation/detail/view.html:36
|
#: compensation/templates/compensation/detail/view.html:36
|
||||||
#: intervention/tables.py:33
|
#: intervention/tables.py:33
|
||||||
#: intervention/templates/intervention/detail/view.html:56 user/models.py:48
|
#: intervention/templates/intervention/detail/view.html:56 user/models.py:48
|
||||||
msgid "Checked"
|
msgid "Checked"
|
||||||
msgstr "Geprüft"
|
msgstr "Geprüft"
|
||||||
|
|
||||||
#: compensation/tables.py:40
|
#: compensation/tables.py:42 compensation/tables.py:181
|
||||||
#: compensation/templates/compensation/detail/view.html:50
|
#: compensation/templates/compensation/detail/view.html:50
|
||||||
#: intervention/tables.py:39
|
#: intervention/tables.py:39
|
||||||
#: intervention/templates/intervention/detail/view.html:70 user/models.py:49
|
#: intervention/templates/intervention/detail/view.html:70 user/models.py:49
|
||||||
msgid "Recorded"
|
msgid "Recorded"
|
||||||
msgstr "Verzeichnet"
|
msgstr "Verzeichnet"
|
||||||
|
|
||||||
#: compensation/tables.py:46 intervention/tables.py:45
|
#: compensation/tables.py:48 compensation/tables.py:187
|
||||||
|
#: intervention/tables.py:45
|
||||||
msgid "Editable"
|
msgid "Editable"
|
||||||
msgstr "Freigegeben"
|
msgstr "Freigegeben"
|
||||||
|
|
||||||
#: compensation/tables.py:52 intervention/tables.py:51
|
#: compensation/tables.py:54 compensation/tables.py:193
|
||||||
|
#: intervention/tables.py:51
|
||||||
msgid "Last edit"
|
msgid "Last edit"
|
||||||
msgstr "Zuletzt bearbeitet"
|
msgstr "Zuletzt bearbeitet"
|
||||||
|
|
||||||
#: compensation/tables.py:61
|
#: compensation/tables.py:63
|
||||||
#: intervention/templates/intervention/detail/includes/compensations.html:8
|
#: intervention/templates/intervention/detail/includes/compensations.html:8
|
||||||
msgid "Compensations"
|
msgid "Compensations"
|
||||||
msgstr "Kompensationen"
|
msgstr "Kompensationen"
|
||||||
|
|
||||||
#: compensation/tables.py:83 compensation/tables.py:200
|
#: compensation/tables.py:85 compensation/tables.py:224
|
||||||
#: intervention/tables.py:92 intervention/tables.py:175
|
#: intervention/tables.py:92 intervention/tables.py:175
|
||||||
msgid "Open {}"
|
msgid "Open {}"
|
||||||
msgstr "Öffne {}"
|
msgstr "Öffne {}"
|
||||||
|
|
||||||
#: compensation/tables.py:83 compensation/tables.py:197
|
#: compensation/tables.py:85
|
||||||
#: compensation/templates/compensation/detail/view.html:12
|
#: compensation/templates/compensation/detail/view.html:12
|
||||||
#: konova/templates/konova/home.html:49 templates/navbar.html:28
|
#: konova/templates/konova/home.html:49 templates/navbar.html:28
|
||||||
msgid "Compensation"
|
msgid "Compensation"
|
||||||
msgstr "Kompensation"
|
msgstr "Kompensation"
|
||||||
|
|
||||||
#: compensation/tables.py:104 intervention/tables.py:111
|
#: compensation/tables.py:106 intervention/tables.py:111
|
||||||
msgid "Not checked yet"
|
msgid "Not checked yet"
|
||||||
msgstr "Noch nicht geprüft"
|
msgstr "Noch nicht geprüft"
|
||||||
|
|
||||||
#: compensation/tables.py:109 intervention/tables.py:116
|
#: compensation/tables.py:111 intervention/tables.py:116
|
||||||
msgid "Checked on {} by {}"
|
msgid "Checked on {} by {}"
|
||||||
msgstr "Am {} von {} geprüft worden"
|
msgstr "Am {} von {} geprüft worden"
|
||||||
|
|
||||||
#: compensation/tables.py:128
|
#: compensation/tables.py:130
|
||||||
#: compensation/templates/compensation/detail/view.html:53
|
#: compensation/templates/compensation/detail/view.html:53
|
||||||
#: intervention/tables.py:135
|
#: intervention/tables.py:135
|
||||||
#: intervention/templates/intervention/detail/view.html:73
|
#: intervention/templates/intervention/detail/view.html:73
|
||||||
msgid "Not recorded yet"
|
msgid "Not recorded yet"
|
||||||
msgstr "Noch nicht verzeichnet"
|
msgstr "Noch nicht verzeichnet"
|
||||||
|
|
||||||
#: compensation/tables.py:133 intervention/tables.py:140
|
#: compensation/tables.py:135 compensation/tables.py:265
|
||||||
|
#: intervention/tables.py:140
|
||||||
msgid "Recorded on {} by {}"
|
msgid "Recorded on {} by {}"
|
||||||
msgstr "Am {} von {} verzeichnet worden"
|
msgstr "Am {} von {} verzeichnet worden"
|
||||||
|
|
||||||
#: compensation/tables.py:156 intervention/tables.py:163
|
#: compensation/tables.py:158 compensation/tables.py:288
|
||||||
|
#: intervention/tables.py:163
|
||||||
msgid "Full access granted"
|
msgid "Full access granted"
|
||||||
msgstr "Für Sie freigegeben - Datensatz kann bearbeitet werden"
|
msgstr "Für Sie freigegeben - Datensatz kann bearbeitet werden"
|
||||||
|
|
||||||
#: compensation/tables.py:156 intervention/tables.py:163
|
#: compensation/tables.py:158 compensation/tables.py:288
|
||||||
|
#: intervention/tables.py:163
|
||||||
msgid "Access not granted"
|
msgid "Access not granted"
|
||||||
msgstr "Nicht freigegeben - Datensatz nur lesbar"
|
msgstr "Nicht freigegeben - Datensatz nur lesbar"
|
||||||
|
|
||||||
#: compensation/tables.py:174 konova/forms.py:265
|
#: compensation/tables.py:176
|
||||||
msgid "Created on"
|
msgid "Available"
|
||||||
msgstr "Erstellt"
|
msgstr "Verfügbar"
|
||||||
|
|
||||||
#: compensation/tables.py:179
|
#: compensation/tables.py:202
|
||||||
msgid "Actions"
|
|
||||||
msgstr "Aktionen"
|
|
||||||
|
|
||||||
#: compensation/tables.py:190
|
|
||||||
msgid "Eco Accounts"
|
msgid "Eco Accounts"
|
||||||
msgstr "Ökokonten"
|
msgstr "Ökokonten"
|
||||||
|
|
||||||
#: compensation/tables.py:205 intervention/tables.py:179
|
#: compensation/tables.py:224 konova/templates/konova/home.html:88
|
||||||
msgid "Edit {}"
|
#: templates/navbar.html:34
|
||||||
msgstr "Bearbeite {}"
|
msgid "Eco-account"
|
||||||
|
msgstr "Ökokonto"
|
||||||
|
|
||||||
#: compensation/tables.py:209 intervention/tables.py:183
|
#: compensation/tables.py:260
|
||||||
msgid "Delete {}"
|
msgid "Not recorded yet. Can not be used for withdraws, yet."
|
||||||
msgstr "Lösche {}"
|
msgstr ""
|
||||||
|
"Noch nicht verzeichnet. Kann noch nicht für Abbuchungen genutzt werden."
|
||||||
|
|
||||||
#: compensation/templates/compensation/detail/includes/actions.html:8
|
#: compensation/templates/compensation/detail/includes/actions.html:8
|
||||||
msgctxt "Compensation"
|
msgctxt "Compensation"
|
||||||
@ -353,11 +356,12 @@ msgid "Edit"
|
|||||||
msgstr "Bearbeiten"
|
msgstr "Bearbeiten"
|
||||||
|
|
||||||
#: compensation/templates/compensation/detail/includes/controls.html:21
|
#: compensation/templates/compensation/detail/includes/controls.html:21
|
||||||
|
#: intervention/templates/intervention/detail/includes/controls.html:36
|
||||||
msgid "Show log"
|
msgid "Show log"
|
||||||
msgstr "Log anzeigen"
|
msgstr "Log anzeigen"
|
||||||
|
|
||||||
#: compensation/templates/compensation/detail/includes/controls.html:24
|
#: compensation/templates/compensation/detail/includes/controls.html:24
|
||||||
#: intervention/templates/intervention/detail/includes/controls.html:36
|
#: intervention/templates/intervention/detail/includes/controls.html:39
|
||||||
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
|
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Löschen"
|
msgstr "Löschen"
|
||||||
@ -386,7 +390,7 @@ msgstr "Dokumente"
|
|||||||
|
|
||||||
#: compensation/templates/compensation/detail/includes/documents.html:14
|
#: compensation/templates/compensation/detail/includes/documents.html:14
|
||||||
#: intervention/templates/intervention/detail/includes/documents.html:14
|
#: intervention/templates/intervention/detail/includes/documents.html:14
|
||||||
#: konova/forms.py:302
|
#: konova/forms.py:301
|
||||||
msgid "Add new document"
|
msgid "Add new document"
|
||||||
msgstr "Neues Dokument hinzufügen"
|
msgstr "Neues Dokument hinzufügen"
|
||||||
|
|
||||||
@ -466,50 +470,50 @@ msgstr "Freigegeben für"
|
|||||||
msgid "No geometry added, yet."
|
msgid "No geometry added, yet."
|
||||||
msgstr "Keine Geometrie vorhanden"
|
msgstr "Keine Geometrie vorhanden"
|
||||||
|
|
||||||
#: compensation/views.py:127
|
#: compensation/views/compensation_views.py:121 intervention/views.py:391
|
||||||
msgid "Log"
|
msgid "Log"
|
||||||
msgstr "Log"
|
msgstr "Log"
|
||||||
|
|
||||||
#: compensation/views.py:148
|
#: compensation/views/compensation_views.py:142
|
||||||
msgid "Compensation removed"
|
msgid "Compensation removed"
|
||||||
msgstr "Kompensation entfernt"
|
msgstr "Kompensation entfernt"
|
||||||
|
|
||||||
#: compensation/views.py:228
|
#: compensation/views/compensation_views.py:159 intervention/views.py:96
|
||||||
msgid "Payment added"
|
|
||||||
msgstr "Zahlung hinzugefügt"
|
|
||||||
|
|
||||||
#: compensation/views.py:263
|
|
||||||
msgid "Payment removed"
|
|
||||||
msgstr "Zahlung gelöscht"
|
|
||||||
|
|
||||||
#: compensation/views.py:289
|
|
||||||
msgid "Withdraw removed"
|
|
||||||
msgstr "Abbuchung entfernt"
|
|
||||||
|
|
||||||
#: compensation/views.py:307 intervention/views.py:96
|
|
||||||
msgid "Document added"
|
msgid "Document added"
|
||||||
msgstr "Dokument hinzugefügt"
|
msgstr "Dokument hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views.py:326
|
#: compensation/views/compensation_views.py:178
|
||||||
msgid "State added"
|
msgid "State added"
|
||||||
msgstr "Zustand hinzugefügt"
|
msgstr "Zustand hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views.py:345
|
#: compensation/views/compensation_views.py:197
|
||||||
msgid "Action added"
|
msgid "Action added"
|
||||||
msgstr "Maßnahme hinzugefügt"
|
msgstr "Maßnahme hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views.py:364
|
#: compensation/views/compensation_views.py:216
|
||||||
msgid "Deadline added"
|
msgid "Deadline added"
|
||||||
msgstr "Frist hinzugefügt"
|
msgstr "Frist hinzugefügt"
|
||||||
|
|
||||||
#: compensation/views.py:383
|
#: compensation/views/compensation_views.py:235
|
||||||
msgid "State removed"
|
msgid "State removed"
|
||||||
msgstr "Zustand gelöscht"
|
msgstr "Zustand gelöscht"
|
||||||
|
|
||||||
#: compensation/views.py:402
|
#: compensation/views/compensation_views.py:254
|
||||||
msgid "Action removed"
|
msgid "Action removed"
|
||||||
msgstr "Maßnahme entfernt"
|
msgstr "Maßnahme entfernt"
|
||||||
|
|
||||||
|
#: compensation/views/eco_account_views.py:100
|
||||||
|
msgid "Withdraw removed"
|
||||||
|
msgstr "Abbuchung entfernt"
|
||||||
|
|
||||||
|
#: compensation/views/payment_views.py:43
|
||||||
|
msgid "Payment added"
|
||||||
|
msgstr "Zahlung hinzugefügt"
|
||||||
|
|
||||||
|
#: compensation/views/payment_views.py:78
|
||||||
|
msgid "Payment removed"
|
||||||
|
msgstr "Zahlung gelöscht"
|
||||||
|
|
||||||
#: intervention/filters.py:25
|
#: intervention/filters.py:25
|
||||||
msgid "Show unshared"
|
msgid "Show unshared"
|
||||||
msgstr "Nicht freigegebene anzeigen"
|
msgstr "Nicht freigegebene anzeigen"
|
||||||
@ -622,7 +626,7 @@ msgstr "Datum des Widerspruchs"
|
|||||||
msgid "Document"
|
msgid "Document"
|
||||||
msgstr "Dokument"
|
msgstr "Dokument"
|
||||||
|
|
||||||
#: intervention/forms.py:331 konova/forms.py:279
|
#: intervention/forms.py:331 konova/forms.py:278
|
||||||
msgid "Must be smaller than 15 Mb"
|
msgid "Must be smaller than 15 Mb"
|
||||||
msgstr "Muss kleiner als 15 Mb sein"
|
msgstr "Muss kleiner als 15 Mb sein"
|
||||||
|
|
||||||
@ -653,6 +657,14 @@ msgstr ""
|
|||||||
"wurden:"
|
"wurden:"
|
||||||
|
|
||||||
#: intervention/models.py:216
|
#: intervention/models.py:216
|
||||||
|
#: intervention/templates/intervention/detail/view.html:23
|
||||||
|
#: intervention/templates/intervention/detail/view.html:27
|
||||||
|
#: intervention/templates/intervention/detail/view.html:31
|
||||||
|
#: intervention/templates/intervention/detail/view.html:39
|
||||||
|
#: intervention/templates/intervention/detail/view.html:51
|
||||||
|
#: intervention/templates/intervention/detail/view.html:83
|
||||||
|
#: intervention/templates/intervention/detail/view.html:87
|
||||||
|
#: intervention/templates/intervention/detail/view.html:91
|
||||||
msgid "Missing"
|
msgid "Missing"
|
||||||
msgstr "Fehlt"
|
msgstr "Fehlt"
|
||||||
|
|
||||||
@ -670,6 +682,14 @@ msgstr "Eingriffe"
|
|||||||
msgid "Intervention"
|
msgid "Intervention"
|
||||||
msgstr "Eingriff"
|
msgstr "Eingriff"
|
||||||
|
|
||||||
|
#: intervention/tables.py:179
|
||||||
|
msgid "Edit {}"
|
||||||
|
msgstr "Bearbeite {}"
|
||||||
|
|
||||||
|
#: intervention/tables.py:183
|
||||||
|
msgid "Delete {}"
|
||||||
|
msgstr "Lösche {}"
|
||||||
|
|
||||||
#: intervention/templates/intervention/detail/includes/compensations.html:14
|
#: intervention/templates/intervention/detail/includes/compensations.html:14
|
||||||
msgid "Add new compensation"
|
msgid "Add new compensation"
|
||||||
msgstr "Neue Kompensation hinzufügen"
|
msgstr "Neue Kompensation hinzufügen"
|
||||||
@ -848,36 +868,40 @@ msgstr ""
|
|||||||
msgid "You need to be part of another user group."
|
msgid "You need to be part of another user group."
|
||||||
msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!"
|
msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!"
|
||||||
|
|
||||||
#: konova/forms.py:65
|
#: konova/forms.py:64
|
||||||
msgid "Not editable"
|
msgid "Not editable"
|
||||||
msgstr "Nicht editierbar"
|
msgstr "Nicht editierbar"
|
||||||
|
|
||||||
#: konova/forms.py:91 konova/forms.py:227
|
#: konova/forms.py:90 konova/forms.py:226
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Bestätige"
|
msgstr "Bestätige"
|
||||||
|
|
||||||
#: konova/forms.py:103 konova/forms.py:236
|
#: konova/forms.py:102 konova/forms.py:235
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Löschen"
|
msgstr "Löschen"
|
||||||
|
|
||||||
#: konova/forms.py:105
|
#: konova/forms.py:104
|
||||||
msgid "You are about to remove {} {}"
|
msgid "You are about to remove {} {}"
|
||||||
msgstr "Sie sind dabei {} {} zu löschen"
|
msgstr "Sie sind dabei {} {} zu löschen"
|
||||||
|
|
||||||
#: konova/forms.py:237
|
#: konova/forms.py:236
|
||||||
msgid "Are you sure?"
|
msgid "Are you sure?"
|
||||||
msgstr "Sind Sie sicher?"
|
msgstr "Sind Sie sicher?"
|
||||||
|
|
||||||
#: konova/forms.py:267
|
#: konova/forms.py:264
|
||||||
|
msgid "Created on"
|
||||||
|
msgstr "Erstellt"
|
||||||
|
|
||||||
|
#: konova/forms.py:266
|
||||||
msgid "When has this file been created? Important for photos."
|
msgid "When has this file been created? Important for photos."
|
||||||
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
|
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
|
||||||
|
|
||||||
#: konova/forms.py:277
|
#: konova/forms.py:276
|
||||||
#: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231
|
#: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "Datei"
|
msgstr "Datei"
|
||||||
|
|
||||||
#: konova/forms.py:327
|
#: konova/forms.py:326
|
||||||
msgid "Added document"
|
msgid "Added document"
|
||||||
msgstr "Dokument hinzugefügt"
|
msgstr "Dokument hinzugefügt"
|
||||||
|
|
||||||
@ -921,6 +945,10 @@ msgstr "Kontrolle am"
|
|||||||
msgid "Other"
|
msgid "Other"
|
||||||
msgstr "Sonstige"
|
msgstr "Sonstige"
|
||||||
|
|
||||||
|
#: konova/templates/konova/custom_widgets/progressbar.html:3
|
||||||
|
msgid "Available: "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: konova/templates/konova/custom_widgets/text-to-clipboard-input.html:6
|
#: konova/templates/konova/custom_widgets/text-to-clipboard-input.html:6
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr "In Zwischenablage kopieren"
|
msgstr "In Zwischenablage kopieren"
|
||||||
@ -949,10 +977,6 @@ msgstr "Neu"
|
|||||||
msgid "Show"
|
msgid "Show"
|
||||||
msgstr "Anzeigen"
|
msgstr "Anzeigen"
|
||||||
|
|
||||||
#: konova/templates/konova/home.html:88 templates/navbar.html:34
|
|
||||||
msgid "Eco-account"
|
|
||||||
msgstr "Ökokonto"
|
|
||||||
|
|
||||||
#: konova/templates/konova/home.html:130
|
#: konova/templates/konova/home.html:130
|
||||||
msgid "Withdraw"
|
msgid "Withdraw"
|
||||||
msgstr "Abbuchen"
|
msgstr "Abbuchen"
|
||||||
@ -2377,6 +2401,9 @@ msgstr ""
|
|||||||
msgid "A fontawesome icon field"
|
msgid "A fontawesome icon field"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "Actions"
|
||||||
|
#~ msgstr "Aktionen"
|
||||||
|
|
||||||
#~ msgid "Additional comment"
|
#~ msgid "Additional comment"
|
||||||
#~ msgstr "Zusätzlicher Kommentar"
|
#~ msgstr "Zusätzlicher Kommentar"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user