Intervention revocation
* adds Revocation model to interventions/models.py * adds revocations to interventions detail view * fixes duplicated ids in html includes * refactors controls for detail view into included template files (controls.html) * reduces max length for payment transfer notes from 1000 to 200 * adds RevocationAdmin to intervention/admin.py * adds new form for adding a Revocation to an intervention's legal_data * only one revocation per intervention possible * removes add button in case of an existing revocation * adds revocation routes to intervention app * renames document field in Document model into file for more clarity * adds/updates translations
This commit is contained in:
parent
d7c95c9e70
commit
6818ef290e
@ -47,7 +47,7 @@ class NewPaymentForm(BaseModalForm):
|
||||
)
|
||||
)
|
||||
transfer_note = forms.CharField(
|
||||
max_length=1000,
|
||||
max_length=200,
|
||||
required=False,
|
||||
label_suffix=_(""),
|
||||
label=_("Transfer note"),
|
||||
@ -55,7 +55,6 @@ class NewPaymentForm(BaseModalForm):
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.template = "modal/modal_form.html"
|
||||
super().__init__(*args, **kwargs)
|
||||
self.intervention = self.instance
|
||||
self.form_title = _("Payment")
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 humanize %}
|
||||
<div id="related-documents" class="card">
|
||||
<div id="actions" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -0,0 +1,26 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
|
||||
<div class="d-flex justify-content-end">
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Open in LANIS' %}">
|
||||
LANIS
|
||||
</button>
|
||||
</a>
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Public report' %}">
|
||||
{% fa5_icon 'file-alt' %}
|
||||
</button>
|
||||
</a>
|
||||
{% if has_access %}
|
||||
{% if is_default_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Edit' %}">
|
||||
{% fa5_icon 'edit' %}
|
||||
</button>
|
||||
</a>
|
||||
<button class="btn btn-default btn-modal" data-form-url="{% url 'compensation:remove' comp.id %}" title="{% trans 'Delete' %}">
|
||||
{% fa5_icon 'trash' %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-documents" class="card">
|
||||
<div id="deadlines" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-documents" class="card">
|
||||
<div id="documents" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-documents" class="card">
|
||||
<div id="states-after" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-documents" class="card">
|
||||
<div id="states-before" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -12,30 +12,7 @@
|
||||
<h3>{% trans 'Compensation' %} {{comp.identifier}}</h3>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="d-flex justify-content-end">
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Open in LANIS' %}">
|
||||
LANIS
|
||||
</button>
|
||||
</a>
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Public report' %}">
|
||||
{% fa5_icon 'file-alt' %}
|
||||
</button>
|
||||
</a>
|
||||
{% if has_access %}
|
||||
{% if is_default_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Edit' %}">
|
||||
{% fa5_icon 'edit' %}
|
||||
</button>
|
||||
</a>
|
||||
<button class="btn btn-default btn-modal" data-form-url="{% url 'compensation:remove' comp.id %}" title="{% trans 'Delete' %}">
|
||||
{% fa5_icon 'trash' %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% include 'compensation/detail/includes/controls.html' %}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
|
@ -1,6 +1,6 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from intervention.models import Intervention, ResponsibilityData, LegalData
|
||||
from intervention.models import Intervention, ResponsibilityData, LegalData, Revocation
|
||||
|
||||
|
||||
class InterventionAdmin(admin.ModelAdmin):
|
||||
@ -33,6 +33,16 @@ class LegalAdmin(admin.ModelAdmin):
|
||||
]
|
||||
|
||||
|
||||
class RevocationAdmin(admin.ModelAdmin):
|
||||
list_display = [
|
||||
"id",
|
||||
"date",
|
||||
"comment",
|
||||
"created",
|
||||
]
|
||||
|
||||
|
||||
admin.site.register(Intervention, InterventionAdmin)
|
||||
admin.site.register(ResponsibilityData, ResponsibilityAdmin)
|
||||
admin.site.register(LegalData, LegalAdmin)
|
||||
admin.site.register(Revocation, RevocationAdmin)
|
||||
|
@ -14,7 +14,7 @@ from django.db import transaction
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from intervention.models import Intervention
|
||||
from intervention.models import Intervention, Revocation
|
||||
from konova.forms import BaseForm, BaseModalForm
|
||||
from konova.models import Document
|
||||
from konova.settings import DEFAULT_LAT, DEFAULT_LON, DEFAULT_ZOOM, ZB_GROUP, ETS_GROUP
|
||||
@ -315,3 +315,71 @@ class ShareInterventionForm(BaseModalForm):
|
||||
id__in=self.cleaned_data["users"]
|
||||
)
|
||||
self.instance.users.set(accessing_users)
|
||||
|
||||
|
||||
class NewRevocationForm(BaseModalForm):
|
||||
date = forms.DateField(
|
||||
label=_("Date"),
|
||||
label_suffix=_(""),
|
||||
help_text=_("Date of revocation"),
|
||||
widget=forms.DateInput(
|
||||
attrs={
|
||||
"type": "date",
|
||||
"data-provide": "datepicker",
|
||||
},
|
||||
format="%d.%m.%Y"
|
||||
)
|
||||
)
|
||||
file = forms.FileField(
|
||||
label=_("Document"),
|
||||
label_suffix=_(""),
|
||||
help_text=_("Must be smaller than 15 Mb"),
|
||||
widget=forms.FileInput(
|
||||
attrs={
|
||||
"class": "w-75"
|
||||
}
|
||||
)
|
||||
)
|
||||
comment = forms.CharField(
|
||||
required=False,
|
||||
max_length=200,
|
||||
label=_("Comment"),
|
||||
label_suffix=_(""),
|
||||
help_text=_("Additional comment, maximum {} letters").format(200),
|
||||
widget=forms.Textarea(
|
||||
attrs={
|
||||
"cols": 30,
|
||||
"rows": 5,
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.form_title = _("Add revocation")
|
||||
self.form_caption = ""
|
||||
self.form_attrs = {
|
||||
"enctype": "multipart/form-data", # important for file upload
|
||||
}
|
||||
|
||||
def save(self):
|
||||
with transaction.atomic():
|
||||
user_action = UserActionLogEntry.objects.create(
|
||||
user=self.user,
|
||||
action=UserAction.CREATED
|
||||
)
|
||||
document = Document.objects.create(
|
||||
title="revocation_of_{}".format(self.instance.identifier),
|
||||
date_of_creation=self.cleaned_data["date"],
|
||||
comment=self.cleaned_data["comment"],
|
||||
file=self.cleaned_data["file"],
|
||||
)
|
||||
revocation = Revocation.objects.create(
|
||||
date=self.cleaned_data["date"],
|
||||
comment=self.cleaned_data["comment"],
|
||||
document=document,
|
||||
created=user_action,
|
||||
)
|
||||
self.instance.legal.revocation = revocation
|
||||
self.instance.legal.save()
|
||||
return revocation
|
||||
|
@ -12,7 +12,7 @@ from django.utils import timezone
|
||||
from django.utils.timezone import now
|
||||
|
||||
from intervention.settings import INTERVENTION_IDENTIFIER_LENGTH, INTERVENTION_IDENTIFIER_TEMPLATE
|
||||
from konova.models import BaseObject, Geometry, UuidModel
|
||||
from konova.models import BaseObject, Geometry, UuidModel, BaseResource
|
||||
from konova.utils import generators
|
||||
from konova.utils.generators import generate_random_string
|
||||
from organisation.models import Organisation
|
||||
@ -38,6 +38,20 @@ class ResponsibilityData(UuidModel):
|
||||
)
|
||||
|
||||
|
||||
class Revocation(BaseResource):
|
||||
"""
|
||||
Holds revocation data e.g. for intervention objects
|
||||
"""
|
||||
date = models.DateField(null=True, blank=True, help_text="Revocation from")
|
||||
comment = models.TextField(null=True, blank=True)
|
||||
document = models.ForeignKey("konova.Document", blank=True, null=True, on_delete=models.SET_NULL)
|
||||
|
||||
def delete(self):
|
||||
# Make sure related objects are being removed as well
|
||||
self.document.delete()
|
||||
super().delete()
|
||||
|
||||
|
||||
class LegalData(UuidModel):
|
||||
"""
|
||||
Holds intervention legal data such as important dates, laws or responsible handler
|
||||
@ -51,6 +65,8 @@ class LegalData(UuidModel):
|
||||
process_type = models.CharField(max_length=500, null=True, blank=True)
|
||||
law = models.CharField(max_length=500, null=True, blank=True)
|
||||
|
||||
revocation = models.ForeignKey(Revocation, null=True, blank=True, help_text="Refers to 'Widerspruch am'", on_delete=models.SET_NULL)
|
||||
|
||||
def __str__(self):
|
||||
return "{} | {} | {}".format(
|
||||
self.process_type,
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-compensations" class="card">
|
||||
<div id="compensations" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -0,0 +1,43 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
|
||||
<div class="d-flex justify-content-end">
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Open in LANIS' %}">
|
||||
LANIS
|
||||
</button>
|
||||
</a>
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Public report' %}">
|
||||
{% fa5_icon 'file-alt' %}
|
||||
</button>
|
||||
</a>
|
||||
{% if has_access %}
|
||||
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Share' %}" data-form-url="{% url 'intervention:share-create' intervention.id %}">
|
||||
{% fa5_icon 'share-alt' %}
|
||||
</button>
|
||||
{% if is_zb_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Run check' %}">
|
||||
{% fa5_icon 'star' %}
|
||||
</button>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if is_ets_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Record' %}">
|
||||
{% fa5_icon 'bookmark' %}
|
||||
</button>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if is_default_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Edit' %}">
|
||||
{% fa5_icon 'edit' %}
|
||||
</button>
|
||||
</a>
|
||||
<button class="btn btn-default btn-modal" data-form-url="{% url 'intervention:remove' intervention.id %}" title="{% trans 'Delete' %}">
|
||||
{% fa5_icon 'trash' %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-documents" class="card">
|
||||
<div id="documents" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-eco-account-withdraws" class="card">
|
||||
<div id="eco-account-withdraws" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="related-payments" class="card">
|
||||
<div id="payments" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
|
@ -0,0 +1,70 @@
|
||||
{% load i18n l10n fontawesome_5 %}
|
||||
<div id="revocation" class="card">
|
||||
<div class="card-header rlp-r">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<h5>
|
||||
<span class="badge badge-light">{% if intervention.legal.revocation %}1{% else %}0{% endif %}</span>
|
||||
{% trans 'Revocation' %}
|
||||
</h5>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="d-flex justify-content-end">
|
||||
{% comment %}
|
||||
Only show add-button if no revocation exists, yet.
|
||||
{% endcomment %}
|
||||
{% if is_default_member and has_access and not intervention.legal.revocation %}
|
||||
<button class="btn btn-outline-default btn-modal" data-form-url="{% url 'intervention:revocation-new' intervention.id %}" title="{% trans 'Add revocation' %}">
|
||||
{% fa5_icon 'plus' %}
|
||||
{% fa5_icon 'ban' %}
|
||||
</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body scroll-300">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">
|
||||
{% trans 'From' context 'Revocation' %}
|
||||
</th>
|
||||
<th scope="col">
|
||||
{% trans 'Comment' %}
|
||||
</th>
|
||||
<th scope="col">
|
||||
{% trans 'Document' %}
|
||||
</th>
|
||||
<th scope="col">
|
||||
{% trans 'Action' %}
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if intervention.legal.revocation %}
|
||||
{% with intervention.legal.revocation as rev %}
|
||||
<tr>
|
||||
<td class="align-middle">
|
||||
{{ rev.date }}
|
||||
</td>
|
||||
<td class="align-middle">{{ rev.comment }}</td>
|
||||
<td class="align-middle">
|
||||
<a href="{% url 'doc-open' rev.document.id %}">
|
||||
{{ rev.document.file }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
{% if is_default_member and has_access %}
|
||||
<button data-form-url="{% url 'intervention:revocation-remove' rev.id %}" class="btn btn-default btn-modal" title="{% trans 'Remove revocation' %}">
|
||||
{% fa5_icon 'trash' %}
|
||||
</button>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
@ -12,47 +12,7 @@
|
||||
<h3>{% trans 'Intervention' %} {{intervention.identifier}}</h3>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
<div class="d-flex justify-content-end">
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Open in LANIS' %}">
|
||||
LANIS
|
||||
</button>
|
||||
</a>
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Public report' %}">
|
||||
{% fa5_icon 'file-alt' %}
|
||||
</button>
|
||||
</a>
|
||||
{% if has_access %}
|
||||
<button class="btn btn-default btn-modal mr-2" title="{% trans 'Share' %}" data-form-url="{% url 'intervention:share-create' intervention.id %}">
|
||||
{% fa5_icon 'share-alt' %}
|
||||
</button>
|
||||
{% if is_zb_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Run check' %}">
|
||||
{% fa5_icon 'star' %}
|
||||
</button>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if is_ets_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Record' %}">
|
||||
{% fa5_icon 'bookmark' %}
|
||||
</button>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if is_default_member %}
|
||||
<a href="{% url 'home' %}" class="mr-2">
|
||||
<button class="btn btn-default" title="{% trans 'Edit' %}">
|
||||
{% fa5_icon 'edit' %}
|
||||
</button>
|
||||
</a>
|
||||
<button class="btn btn-default btn-modal" data-form-url="{% url 'intervention:remove' intervention.id %}" title="{% trans 'Delete' %}">
|
||||
{% fa5_icon 'trash' %}
|
||||
</button>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% include 'intervention/detail/includes/controls.html' %}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
@ -128,6 +88,10 @@
|
||||
<th scope="row">{% trans 'Binding on' %}</th>
|
||||
<td class="align-middle">{{intervention.legal.binding_date|default_if_none:""}}</td>
|
||||
</tr>
|
||||
<tr {% if intervention.legal.revocation %}class="alert alert-danger"{% endif %}>
|
||||
<th scope="row">{% trans 'Revocation' %}</th>
|
||||
<td class="align-middle">{{intervention.legal.revocation.date|naturalday|default_if_none:""}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{% trans 'Last modified' %}</th>
|
||||
<td class="align-middle">
|
||||
@ -171,9 +135,16 @@
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
{% include 'intervention/detail/includes/eco-account-withdraws.html' %}
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
{% include 'intervention/detail/includes/revocation.html' %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
{% include 'intervention/detail/includes/documents.html' %}
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-6">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@ Created on: 30.11.20
|
||||
from django.urls import path
|
||||
|
||||
from intervention.views import index_view, new_view, open_view, edit_view, remove_view, new_document_view, share_view, \
|
||||
create_share_view
|
||||
create_share_view, remove_revocation_view, new_revocation_view
|
||||
|
||||
app_name = "intervention"
|
||||
urlpatterns = [
|
||||
@ -20,4 +20,8 @@ urlpatterns = [
|
||||
path('<id>/remove', remove_view, name='remove'),
|
||||
path('<id>/share/<token>', share_view, name='share'),
|
||||
path('<id>/share', create_share_view, name='share-create'),
|
||||
|
||||
# Revocation routes
|
||||
path('<id>/revocation/new', new_revocation_view, name='revocation-new'),
|
||||
path('revocation/<id>/remove', remove_revocation_view, name='revocation-remove'),
|
||||
]
|
@ -4,12 +4,14 @@ from django.utils.translation import gettext_lazy as _
|
||||
from django.http import HttpRequest
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
|
||||
from intervention.forms import NewInterventionForm, EditInterventionForm, ShareInterventionForm
|
||||
from intervention.models import Intervention
|
||||
from intervention.forms import NewInterventionForm, EditInterventionForm, ShareInterventionForm, NewRevocationForm
|
||||
from intervention.models import Intervention, Revocation
|
||||
from intervention.tables import InterventionTable
|
||||
from konova.contexts import BaseContext
|
||||
from konova.decorators import *
|
||||
from konova.forms import SimpleGeomForm, NewDocumentForm, RemoveModalForm
|
||||
from konova.sub_settings.django_settings import DEFAULT_DATE_TIME_FORMAT, DEFAULT_DATE_FORMAT
|
||||
from konova.utils.message_templates import FORM_INVALID
|
||||
from konova.utils.user_checks import in_group
|
||||
|
||||
|
||||
@ -117,6 +119,14 @@ def open_view(request: HttpRequest, id: str):
|
||||
instance=intervention
|
||||
)
|
||||
|
||||
# Inform user about revocation
|
||||
if intervention.legal.revocation:
|
||||
messages.error(
|
||||
request,
|
||||
_("This intervention has a revocation from {}").format(intervention.legal.revocation.date.strftime(DEFAULT_DATE_FORMAT)),
|
||||
extra_tags="danger",
|
||||
)
|
||||
|
||||
context = {
|
||||
"intervention": intervention,
|
||||
"compensations": compensations,
|
||||
@ -185,6 +195,26 @@ def remove_view(request: HttpRequest, id: str):
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
@default_group_required
|
||||
def remove_revocation_view(request: HttpRequest, id: str):
|
||||
""" Renders a remove view for a revocation
|
||||
|
||||
Args:
|
||||
request (HttpRequest): The incoming request
|
||||
id (str): The revocation's id as string
|
||||
|
||||
Returns:
|
||||
|
||||
"""
|
||||
obj = Revocation.objects.get(id=id)
|
||||
form = RemoveModalForm(request.POST or None, instance=obj, user=request.user)
|
||||
return form.process_request(
|
||||
request,
|
||||
_("Revocation removed"),
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
def share_view(request: HttpRequest, id: str, token: str):
|
||||
""" Performs sharing of an intervention
|
||||
@ -256,3 +286,40 @@ def create_share_view(request: HttpRequest, id: str):
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
@login_required
|
||||
def new_revocation_view(request: HttpRequest, id: str):
|
||||
""" Renders sharing form for an intervention
|
||||
|
||||
Args:
|
||||
request (HttpRequest): The incoming request
|
||||
id (str): Intervention's id
|
||||
|
||||
Returns:
|
||||
|
||||
"""
|
||||
intervention = get_object_or_404(Intervention, id=id)
|
||||
form = NewRevocationForm(request.POST or None, request.FILES or None, instance=intervention, user=request.user)
|
||||
if request.method == "POST":
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
messages.info(
|
||||
request,
|
||||
_("Revocation added")
|
||||
)
|
||||
else:
|
||||
messages.error(
|
||||
request,
|
||||
FORM_INVALID,
|
||||
extra_tags="danger",
|
||||
)
|
||||
return redirect(request.META.get("HTTP_REFERER", "home"))
|
||||
elif request.method == "GET":
|
||||
context = {
|
||||
"form": form,
|
||||
}
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, form.template, context)
|
||||
else:
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
|
@ -300,7 +300,7 @@ class NewDocumentForm(BaseModalForm):
|
||||
self.form_caption = _("")
|
||||
self.template = "modal/modal_form.html"
|
||||
self.form_attrs = {
|
||||
"enctype": "multipart/form-data",
|
||||
"enctype": "multipart/form-data", # important for file upload
|
||||
}
|
||||
|
||||
def save(self):
|
||||
|
@ -98,7 +98,7 @@ class Document(BaseResource):
|
||||
"""
|
||||
title = models.CharField(max_length=500, null=True, blank=True)
|
||||
date_of_creation = models.DateField()
|
||||
document = models.FileField()
|
||||
file = models.FileField()
|
||||
comment = models.TextField()
|
||||
|
||||
def delete(self, using=None, keep_parents=False):
|
||||
@ -111,7 +111,7 @@ class Document(BaseResource):
|
||||
Returns:
|
||||
|
||||
"""
|
||||
os.remove(self.document.file.name)
|
||||
os.remove(self.file.file.name)
|
||||
super().delete(using=using, keep_parents=keep_parents)
|
||||
|
||||
|
||||
|
@ -38,8 +38,8 @@ ALLOWED_HOSTS = []
|
||||
LOGIN_URL = "/login/"
|
||||
|
||||
# Session settings
|
||||
SESSION_COOKIE_AGE = 30 * 60 # 30 minutes
|
||||
SESSION_SAVE_EVERY_REQUEST = True
|
||||
#SESSION_COOKIE_AGE = 30 * 60 # 30 minutes
|
||||
#SESSION_SAVE_EVERY_REQUEST = True
|
||||
|
||||
# Application definition
|
||||
|
||||
@ -149,7 +149,7 @@ LANGUAGE_CODE = 'de'
|
||||
USE_THOUSAND_SEPARATOR = True
|
||||
|
||||
DEFAULT_DATE_TIME_FORMAT = '%d.%m.%Y %H:%M:%S'
|
||||
DATE_FORMAT = '%d.%m.%Y'
|
||||
DEFAULT_DATE_FORMAT = '%d.%m.%Y'
|
||||
|
||||
TIME_ZONE = 'Europe/Berlin'
|
||||
|
||||
|
Binary file not shown.
@ -3,18 +3,20 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#: compensation/forms.py:35 compensation/forms.py:40 compensation/forms.py:53
|
||||
#: compensation/forms.py:184 compensation/forms.py:246
|
||||
#: compensation/forms.py:34 compensation/forms.py:39 compensation/forms.py:52
|
||||
#: compensation/forms.py:182 compensation/forms.py:244
|
||||
#: intervention/filters.py:26 intervention/filters.py:40
|
||||
#: intervention/filters.py:47 intervention/filters.py:48 konova/forms.py:91
|
||||
#: konova/forms.py:227 konova/forms.py:258 konova/forms.py:263
|
||||
#: konova/forms.py:275 konova/forms.py:287 konova/forms.py:300 user/forms.py:38
|
||||
#: intervention/filters.py:47 intervention/filters.py:48
|
||||
#: intervention/forms.py:323 intervention/forms.py:335
|
||||
#: intervention/forms.py:347 konova/forms.py:91 konova/forms.py:227
|
||||
#: konova/forms.py:258 konova/forms.py:263 konova/forms.py:275
|
||||
#: konova/forms.py:287 konova/forms.py:300 user/forms.py:38
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-08-04 11:52+0200\n"
|
||||
"POT-Creation-Date: 2021-08-04 13:27+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -24,133 +26,137 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: compensation/forms.py:34 compensation/forms.py:235
|
||||
#: compensation/forms.py:33 compensation/forms.py:233
|
||||
#: intervention/templates/intervention/detail/includes/eco-account-withdraws.html:33
|
||||
msgid "Amount"
|
||||
msgstr "Menge"
|
||||
|
||||
#: compensation/forms.py:36
|
||||
#: compensation/forms.py:35
|
||||
msgid "Amount in Euro"
|
||||
msgstr "Betrag in Euro"
|
||||
|
||||
#: compensation/forms.py:39
|
||||
#: compensation/forms.py:38
|
||||
#: intervention/templates/intervention/detail/includes/payments.html:31
|
||||
msgid "Due on"
|
||||
msgstr "Fällig am"
|
||||
|
||||
#: compensation/forms.py:41
|
||||
#: compensation/forms.py:40
|
||||
msgid "Due on which date"
|
||||
msgstr "Zahlung wird an diesem Datum erwartet"
|
||||
|
||||
#: compensation/forms.py:54
|
||||
#: compensation/forms.py:53
|
||||
msgid "Transfer note"
|
||||
msgstr "Verwendungszweck"
|
||||
|
||||
#: compensation/forms.py:55
|
||||
#: compensation/forms.py:54
|
||||
msgid "Note for money transfer"
|
||||
msgstr "Verwendungszweck für Überweisung"
|
||||
|
||||
#: compensation/forms.py:62
|
||||
#: compensation/forms.py:60
|
||||
msgid "Payment"
|
||||
msgstr "Zahlung"
|
||||
|
||||
#: compensation/forms.py:63
|
||||
#: compensation/forms.py:61
|
||||
msgid "Add a payment for intervention '{}'"
|
||||
msgstr "Neue Ersatzzahlung zu Eingriff '{}' hinzufügen"
|
||||
|
||||
#: compensation/forms.py:83
|
||||
#: compensation/forms.py:81
|
||||
msgid "Biotope Type"
|
||||
msgstr "Biotoptyp"
|
||||
|
||||
#: compensation/forms.py:86
|
||||
#: compensation/forms.py:84
|
||||
msgid "Select the biotope type"
|
||||
msgstr "Biotoptyp wählen"
|
||||
|
||||
#: compensation/forms.py:91
|
||||
#: compensation/forms.py:89
|
||||
#: compensation/templates/compensation/detail/includes/states-after.html:36
|
||||
#: compensation/templates/compensation/detail/includes/states-before.html:36
|
||||
msgid "Surface"
|
||||
msgstr "Fläche"
|
||||
|
||||
#: compensation/forms.py:94
|
||||
#: compensation/forms.py:92
|
||||
msgid "in m²"
|
||||
msgstr ""
|
||||
|
||||
#: compensation/forms.py:99
|
||||
#: compensation/forms.py:97
|
||||
msgid "New state"
|
||||
msgstr "Neuer Zustand"
|
||||
|
||||
#: compensation/forms.py:100
|
||||
#: compensation/forms.py:98
|
||||
msgid "Insert data for the new state"
|
||||
msgstr "Geben Sie die Daten des neuen Zustandes ein"
|
||||
|
||||
#: compensation/forms.py:114 konova/forms.py:141
|
||||
#: compensation/forms.py:112 konova/forms.py:141
|
||||
msgid "Object removed"
|
||||
msgstr "Objekt entfernt"
|
||||
|
||||
#: compensation/forms.py:156
|
||||
#: compensation/forms.py:154
|
||||
msgid "Deadline Type"
|
||||
msgstr "Fristart"
|
||||
|
||||
#: compensation/forms.py:159
|
||||
#: compensation/forms.py:157
|
||||
msgid "Select the deadline type"
|
||||
msgstr "Fristart wählen"
|
||||
|
||||
#: compensation/forms.py:168
|
||||
#: compensation/forms.py:166
|
||||
#: compensation/templates/compensation/detail/includes/deadlines.html:31
|
||||
#: intervention/forms.py:322
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: compensation/forms.py:171
|
||||
#: compensation/forms.py:169
|
||||
msgid "Select date"
|
||||
msgstr "Datum wählen"
|
||||
|
||||
#: compensation/forms.py:183 compensation/forms.py:245
|
||||
#: compensation/forms.py:181 compensation/forms.py:243
|
||||
#: compensation/templates/compensation/detail/includes/actions.html:34
|
||||
#: compensation/templates/compensation/detail/includes/deadlines.html:34
|
||||
#: compensation/templates/compensation/detail/includes/documents.html:31
|
||||
#: intervention/forms.py:346
|
||||
#: intervention/templates/intervention/detail/includes/documents.html:31
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:35
|
||||
#: konova/forms.py:286
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: compensation/forms.py:185 compensation/forms.py:247 konova/forms.py:288
|
||||
#: compensation/forms.py:183 compensation/forms.py:245
|
||||
#: intervention/forms.py:348 konova/forms.py:288
|
||||
msgid "Additional comment, maximum {} letters"
|
||||
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
|
||||
|
||||
#: compensation/forms.py:196
|
||||
#: compensation/forms.py:194
|
||||
msgid "New deadline"
|
||||
msgstr "Neue Frist"
|
||||
|
||||
#: compensation/forms.py:197
|
||||
#: compensation/forms.py:195
|
||||
msgid "Insert data for the new deadline"
|
||||
msgstr "Geben Sie die Daten der neuen Frist ein"
|
||||
|
||||
#: compensation/forms.py:217
|
||||
#: compensation/forms.py:215
|
||||
msgid "Action Type"
|
||||
msgstr "Maßnahmentyp"
|
||||
|
||||
#: compensation/forms.py:220
|
||||
#: compensation/forms.py:218
|
||||
msgid "Select the action type"
|
||||
msgstr "Maßnahmentyp wählen"
|
||||
|
||||
#: compensation/forms.py:223
|
||||
#: compensation/forms.py:221
|
||||
msgid "Unit"
|
||||
msgstr "Einheit"
|
||||
|
||||
#: compensation/forms.py:226
|
||||
#: compensation/forms.py:224
|
||||
msgid "Select the unit"
|
||||
msgstr "Einheit wählen"
|
||||
|
||||
#: compensation/forms.py:238
|
||||
#: compensation/forms.py:236
|
||||
msgid "Insert the amount"
|
||||
msgstr "Menge eingeben"
|
||||
|
||||
#: compensation/forms.py:258
|
||||
#: compensation/forms.py:256
|
||||
msgid "New action"
|
||||
msgstr "Neue Maßnahme"
|
||||
|
||||
#: compensation/forms.py:259
|
||||
#: compensation/forms.py:257
|
||||
msgid "Insert data for the new action"
|
||||
msgstr "Geben Sie die Daten der neuen Maßnahme ein"
|
||||
|
||||
@ -186,25 +192,25 @@ msgstr "Kennung"
|
||||
|
||||
#: compensation/tables.py:29 compensation/tables.py:169
|
||||
#: compensation/templates/compensation/detail/includes/documents.html:28
|
||||
#: compensation/templates/compensation/detail/view.html:47
|
||||
#: compensation/templates/compensation/detail/view.html:24
|
||||
#: intervention/forms.py:35 intervention/tables.py:28
|
||||
#: intervention/templates/intervention/detail/includes/compensations.html:33
|
||||
#: intervention/templates/intervention/detail/includes/documents.html:28
|
||||
#: intervention/templates/intervention/detail/view.html:64 konova/forms.py:257
|
||||
#: intervention/templates/intervention/detail/view.html:24 konova/forms.py:257
|
||||
msgid "Title"
|
||||
msgstr "Bezeichnung"
|
||||
|
||||
#: compensation/tables.py:34
|
||||
#: compensation/templates/compensation/detail/view.html:59
|
||||
#: compensation/templates/compensation/detail/view.html:36
|
||||
#: intervention/tables.py:33
|
||||
#: intervention/templates/intervention/detail/view.html:96 user/models.py:48
|
||||
#: intervention/templates/intervention/detail/view.html:56 user/models.py:48
|
||||
msgid "Checked"
|
||||
msgstr "Geprüft"
|
||||
|
||||
#: compensation/tables.py:40
|
||||
#: compensation/templates/compensation/detail/view.html:73
|
||||
#: compensation/templates/compensation/detail/view.html:50
|
||||
#: intervention/tables.py:39
|
||||
#: intervention/templates/intervention/detail/view.html:110 user/models.py:49
|
||||
#: intervention/templates/intervention/detail/view.html:70 user/models.py:49
|
||||
msgid "Recorded"
|
||||
msgstr "Verzeichnet"
|
||||
|
||||
@ -241,9 +247,9 @@ msgid "Checked on {} by {}"
|
||||
msgstr "Am {} von {} geprüft worden"
|
||||
|
||||
#: compensation/tables.py:128
|
||||
#: compensation/templates/compensation/detail/view.html:76
|
||||
#: compensation/templates/compensation/detail/view.html:53
|
||||
#: intervention/tables.py:135
|
||||
#: intervention/templates/intervention/detail/view.html:113
|
||||
#: intervention/templates/intervention/detail/view.html:73
|
||||
msgid "Not recorded yet"
|
||||
msgstr "Noch nicht verzeichnet"
|
||||
|
||||
@ -306,6 +312,7 @@ msgstr "Menge"
|
||||
#: intervention/templates/intervention/detail/includes/documents.html:34
|
||||
#: intervention/templates/intervention/detail/includes/eco-account-withdraws.html:36
|
||||
#: intervention/templates/intervention/detail/includes/payments.html:37
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:41
|
||||
msgid "Action"
|
||||
msgstr "Aktionen"
|
||||
|
||||
@ -313,6 +320,27 @@ msgstr "Aktionen"
|
||||
msgid "Remove action"
|
||||
msgstr "Maßnahme entfernen"
|
||||
|
||||
#: compensation/templates/compensation/detail/includes/controls.html:5
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:5
|
||||
msgid "Open in LANIS"
|
||||
msgstr "In LANIS öffnen"
|
||||
|
||||
#: compensation/templates/compensation/detail/includes/controls.html:10
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:10
|
||||
msgid "Public report"
|
||||
msgstr "Öffentlicher Bericht"
|
||||
|
||||
#: compensation/templates/compensation/detail/includes/controls.html:17
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:34
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: compensation/templates/compensation/detail/includes/controls.html:21
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:38
|
||||
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: compensation/templates/compensation/detail/includes/deadlines.html:8
|
||||
msgid "Deadlines"
|
||||
msgstr "Termine und Fristen"
|
||||
@ -380,61 +408,40 @@ msgstr "Neuen Ausgangszustand hinzufügen"
|
||||
msgid "Missing surfaces according to states after: "
|
||||
msgstr "Fehlende Flächenmengen aus Zielzustand: "
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:17
|
||||
#: intervention/templates/intervention/detail/view.html:17
|
||||
msgid "Open in LANIS"
|
||||
msgstr "In LANIS öffnen"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:22
|
||||
#: intervention/templates/intervention/detail/view.html:22
|
||||
msgid "Public report"
|
||||
msgstr "Öffentlicher Bericht"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:29
|
||||
#: intervention/templates/intervention/detail/view.html:46
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:33
|
||||
#: intervention/templates/intervention/detail/view.html:50
|
||||
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:51
|
||||
#: compensation/templates/compensation/detail/view.html:28
|
||||
msgid "compensates intervention"
|
||||
msgstr "kompensiert Eingriff"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:66
|
||||
#: intervention/templates/intervention/detail/view.html:103
|
||||
#: compensation/templates/compensation/detail/view.html:43
|
||||
#: intervention/templates/intervention/detail/view.html:63
|
||||
msgid "Checked on "
|
||||
msgstr "Geprüft am "
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:66
|
||||
#: compensation/templates/compensation/detail/view.html:80
|
||||
#: intervention/templates/intervention/detail/view.html:103
|
||||
#: intervention/templates/intervention/detail/view.html:117
|
||||
#: compensation/templates/compensation/detail/view.html:43
|
||||
#: compensation/templates/compensation/detail/view.html:57
|
||||
#: intervention/templates/intervention/detail/view.html:63
|
||||
#: intervention/templates/intervention/detail/view.html:77
|
||||
msgid "by"
|
||||
msgstr "von"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:80
|
||||
#: intervention/templates/intervention/detail/view.html:117
|
||||
#: compensation/templates/compensation/detail/view.html:57
|
||||
#: intervention/templates/intervention/detail/view.html:77
|
||||
msgid "Recorded on "
|
||||
msgstr "Verzeichnet am"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:87
|
||||
#: intervention/templates/intervention/detail/view.html:132
|
||||
#: compensation/templates/compensation/detail/view.html:64
|
||||
#: intervention/templates/intervention/detail/view.html:96
|
||||
msgid "Last modified"
|
||||
msgstr "Zuletzt bearbeitet"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:97
|
||||
#: compensation/templates/compensation/detail/view.html:74
|
||||
#: intervention/forms.py:256
|
||||
#: intervention/templates/intervention/detail/view.html:142
|
||||
#: intervention/templates/intervention/detail/view.html:106
|
||||
msgid "Shared with"
|
||||
msgstr "Freigegeben für"
|
||||
|
||||
#: compensation/templates/compensation/detail/view.html:109
|
||||
#: intervention/templates/intervention/detail/view.html:154
|
||||
#: compensation/templates/compensation/detail/view.html:86
|
||||
#: intervention/templates/intervention/detail/view.html:118
|
||||
msgid "No geometry added, yet."
|
||||
msgstr "Keine Geometrie vorhanden"
|
||||
|
||||
@ -503,7 +510,7 @@ msgid "Which intervention type is this"
|
||||
msgstr "Welcher Eingriffstyp"
|
||||
|
||||
#: intervention/forms.py:46
|
||||
#: intervention/templates/intervention/detail/view.html:72
|
||||
#: intervention/templates/intervention/detail/view.html:32
|
||||
msgid "Law"
|
||||
msgstr "Gesetz"
|
||||
|
||||
@ -512,7 +519,7 @@ msgid "Based on which law"
|
||||
msgstr "Basiert auf welchem Recht"
|
||||
|
||||
#: intervention/forms.py:52
|
||||
#: intervention/templates/intervention/detail/view.html:92
|
||||
#: intervention/templates/intervention/detail/view.html:52
|
||||
msgid "Intervention handler"
|
||||
msgstr "Eingriffsverursacher"
|
||||
|
||||
@ -573,7 +580,7 @@ msgid "Remove check to remove access for this user"
|
||||
msgstr "Wählen Sie die Nutzer ab, die keinen Zugriff mehr haben sollen"
|
||||
|
||||
#: intervention/forms.py:270
|
||||
#: intervention/templates/intervention/detail/view.html:27
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:15
|
||||
msgid "Share"
|
||||
msgstr "Freigabe"
|
||||
|
||||
@ -581,6 +588,24 @@ msgstr "Freigabe"
|
||||
msgid "Share settings for {}"
|
||||
msgstr "Freigabe Einstellungen für {}"
|
||||
|
||||
#: intervention/forms.py:324
|
||||
msgid "Date of revocation"
|
||||
msgstr "Datum des Widerspruchs"
|
||||
|
||||
#: intervention/forms.py:334
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:38
|
||||
msgid "Document"
|
||||
msgstr "Dokument"
|
||||
|
||||
#: intervention/forms.py:336 konova/forms.py:276
|
||||
msgid "Must be smaller than 15 Mb"
|
||||
msgstr "Muss kleiner als 15 Mb sein"
|
||||
|
||||
#: intervention/forms.py:359
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:18
|
||||
msgid "Add revocation"
|
||||
msgstr "Widerspruch hinzufügen"
|
||||
|
||||
#: intervention/tables.py:70
|
||||
msgid "Interventions"
|
||||
msgstr "Eingriffe"
|
||||
@ -599,6 +624,14 @@ msgstr "Neue Kompensation hinzufügen"
|
||||
msgid "Remove compensation"
|
||||
msgstr "Kompensation entfernen"
|
||||
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:20
|
||||
msgid "Run check"
|
||||
msgstr "Prüfung vornehmen"
|
||||
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:27
|
||||
msgid "Record"
|
||||
msgstr "Verzeichnen"
|
||||
|
||||
#: intervention/templates/intervention/detail/includes/eco-account-withdraws.html:8
|
||||
msgid "Eco Account Withdraws"
|
||||
msgstr "Ökokonto Abbuchungen"
|
||||
@ -636,51 +669,61 @@ msgstr "Verwendungszweck"
|
||||
msgid "Remove payment"
|
||||
msgstr "Zahlung entfernen"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:32
|
||||
msgid "Run check"
|
||||
msgstr "Prüfung vornehmen"
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:8
|
||||
#: intervention/templates/intervention/detail/view.html:92
|
||||
msgid "Revocation"
|
||||
msgstr "Widerspruch"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:39
|
||||
msgid "Record"
|
||||
msgstr "Verzeichnen"
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:32
|
||||
msgctxt "Revocation"
|
||||
msgid "From"
|
||||
msgstr "Vom"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:68
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:60
|
||||
msgid "Remove revocation"
|
||||
msgstr "Widerspruch entfernen"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:28
|
||||
msgid "Process type"
|
||||
msgstr "Verfahrenstyp"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:76
|
||||
#: intervention/templates/intervention/detail/view.html:36
|
||||
msgid "Registration office"
|
||||
msgstr "Zulassungsbehörde"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:80
|
||||
#: intervention/templates/intervention/detail/view.html:40
|
||||
msgid "Registration office file number"
|
||||
msgstr "Aktenzeichen Zulassungsbehörde"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:84
|
||||
#: intervention/templates/intervention/detail/view.html:44
|
||||
msgid "Conservation office"
|
||||
msgstr "Naturschutzbehörde"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:88
|
||||
#: intervention/templates/intervention/detail/view.html:48
|
||||
msgid "Conversation office file number"
|
||||
msgstr "Aktenzeichen Naturschutzbehörde"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:124
|
||||
#: intervention/templates/intervention/detail/view.html:84
|
||||
msgid "Registration date"
|
||||
msgstr "Datum Zulassung bzw. Satzungsbeschluss"
|
||||
|
||||
#: intervention/templates/intervention/detail/view.html:128
|
||||
#: intervention/templates/intervention/detail/view.html:88
|
||||
msgid "Binding on"
|
||||
msgstr "Datum Bestandskraft"
|
||||
|
||||
#: intervention/views.py:65
|
||||
#: intervention/views.py:67
|
||||
msgid "Intervention {} added"
|
||||
msgstr "Eingriff {} hinzugefügt"
|
||||
|
||||
#: intervention/views.py:68 intervention/views.py:157
|
||||
#: intervention/views.py:70 intervention/views.py:167
|
||||
msgid "Invalid input"
|
||||
msgstr "Eingabe fehlerhaft"
|
||||
|
||||
#: intervention/views.py:131
|
||||
#: intervention/views.py:126
|
||||
msgid "This intervention has a revocation from {}"
|
||||
msgstr "Es existiert ein Widerspruch vom {}"
|
||||
|
||||
#: intervention/views.py:141
|
||||
msgid ""
|
||||
"Remember: This data has not been shared with you, yet. This means you can "
|
||||
"only read but can not edit or perform any actions like running a check or "
|
||||
@ -690,30 +733,38 @@ msgstr ""
|
||||
"bedeutet, dass Sie nur lesenden Zugriff hierauf haben und weder bearbeiten, "
|
||||
"noch Prüfungen durchführen oder verzeichnen können."
|
||||
|
||||
#: intervention/views.py:154
|
||||
#: intervention/views.py:164
|
||||
msgid "{} edited"
|
||||
msgstr "{} bearbeitet"
|
||||
|
||||
#: intervention/views.py:183
|
||||
#: intervention/views.py:193
|
||||
msgid "{} removed"
|
||||
msgstr "{} entfernt"
|
||||
|
||||
#: intervention/views.py:210
|
||||
#: intervention/views.py:214
|
||||
msgid "Revocation removed"
|
||||
msgstr "Widerspruch entfernt"
|
||||
|
||||
#: intervention/views.py:240
|
||||
msgid "{} has already been shared with you"
|
||||
msgstr "{} wurde bereits für Sie freigegeben"
|
||||
|
||||
#: intervention/views.py:215
|
||||
#: intervention/views.py:245
|
||||
msgid "{} has been shared with you"
|
||||
msgstr "{} ist nun für Sie freigegeben"
|
||||
|
||||
#: intervention/views.py:222
|
||||
#: intervention/views.py:252
|
||||
msgid "Share link invalid"
|
||||
msgstr "Freigabelink ungültig"
|
||||
|
||||
#: intervention/views.py:246
|
||||
#: intervention/views.py:276
|
||||
msgid "Share settings updated"
|
||||
msgstr "Freigabe Einstellungen aktualisiert"
|
||||
|
||||
#: intervention/views.py:307
|
||||
msgid "Revocation added"
|
||||
msgstr "Widerspruch hinzugefügt"
|
||||
|
||||
#: konova/decorators.py:29
|
||||
msgid "You need to be staff to perform this action!"
|
||||
msgstr "Hierfür müssen Sie Mitarbeiter sein!"
|
||||
@ -764,10 +815,6 @@ msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
|
||||
msgid "File"
|
||||
msgstr "Datei"
|
||||
|
||||
#: konova/forms.py:276
|
||||
msgid "Must be smaller than 15 Mb"
|
||||
msgstr "Muss kleiner als 15 Mb sein"
|
||||
|
||||
#: konova/management/commands/setup_data.py:42
|
||||
msgid "On new related data"
|
||||
msgstr "Wenn neue Daten für mich angelegt werden"
|
||||
|
Loading…
Reference in New Issue
Block a user