#38 User requests
* implements 2) "Multiple revocations for interventions"
This commit is contained in:
parent
e922b983dd
commit
36470f819c
@ -162,14 +162,13 @@ class NewRevocationModalForm(BaseModalForm):
|
||||
)
|
||||
revocation = Revocation.objects.create(
|
||||
date=self.cleaned_data["date"],
|
||||
legal=self.instance.legal,
|
||||
comment=self.cleaned_data["comment"],
|
||||
created=created_action,
|
||||
)
|
||||
self.instance.modified = edited_action
|
||||
self.instance.save()
|
||||
self.instance.log.add(edited_action)
|
||||
self.instance.legal.revocation = revocation
|
||||
self.instance.legal.save()
|
||||
|
||||
if self.cleaned_data["file"]:
|
||||
RevocationDocument.objects.create(
|
||||
|
@ -68,6 +68,7 @@ class Revocation(BaseResource):
|
||||
Holds revocation data e.g. for intervention objects
|
||||
"""
|
||||
date = models.DateField(null=True, blank=True, help_text="Revocation from")
|
||||
legal = models.ForeignKey("LegalData", null=False, blank=False, on_delete=models.CASCADE, help_text="Refers to 'Widerspruch am'", related_name="revocations")
|
||||
comment = models.TextField(null=True, blank=True)
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
@ -99,7 +100,7 @@ class RevocationDocument(AbstractDocument):
|
||||
Returns:
|
||||
intervention (Intervention)
|
||||
"""
|
||||
return self.instance.legaldata.intervention
|
||||
return self.instance.legal.intervention
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
"""
|
||||
@ -118,8 +119,9 @@ class RevocationDocument(AbstractDocument):
|
||||
# Remove the file itself
|
||||
super().delete(*args, **kwargs)
|
||||
|
||||
# Always remove 'revocation' folder
|
||||
# Always remove 'revocation' folder if the one revocation we just processed is the only one left
|
||||
folder_path = self.file.path.split("/")
|
||||
if revoc_docs.count() == 0:
|
||||
try:
|
||||
shutil.rmtree("/".join(folder_path[:-1]))
|
||||
except FileNotFoundError:
|
||||
@ -167,8 +169,6 @@ class LegalData(UuidModel):
|
||||
}
|
||||
)
|
||||
|
||||
revocation = models.OneToOneField(Revocation, null=True, blank=True, help_text="Refers to 'Widerspruch am'", on_delete=models.SET_NULL)
|
||||
|
||||
|
||||
class Intervention(BaseObject, ShareableObject, RecordableObject, CheckableObject):
|
||||
"""
|
||||
@ -277,7 +277,7 @@ class Intervention(BaseObject, ShareableObject, RecordableObject, CheckableObjec
|
||||
regular_docs (QuerySet): The queryset of regular other documents
|
||||
"""
|
||||
revoc_docs = RevocationDocument.objects.filter(
|
||||
instance=self.legal.revocation
|
||||
instance__in=self.legal.revocations.all()
|
||||
)
|
||||
regular_docs = InterventionDocument.objects.filter(
|
||||
instance=self
|
||||
@ -366,6 +366,7 @@ class InterventionDocument(AbstractDocument):
|
||||
if folder_path is not None:
|
||||
try:
|
||||
shutil.rmtree(folder_path)
|
||||
pass
|
||||
except FileNotFoundError:
|
||||
# Folder seems to be missing already...
|
||||
pass
|
||||
|
@ -4,8 +4,8 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<h5>
|
||||
<span class="badge badge-light">{% if obj.legal.revocation %}1{% else %}0{% endif %}</span>
|
||||
{% trans 'Revocation' %}
|
||||
<span class="badge badge-light">{{obj.legal.revocations.count}}</span>
|
||||
{% trans 'Revocations' %}
|
||||
</h5>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
@ -44,8 +44,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if obj.legal.revocation %}
|
||||
{% with obj.legal.revocation as rev %}
|
||||
{% for rev in obj.legal.revocations.all %}
|
||||
<tr>
|
||||
<td class="align-middle">
|
||||
{{ rev.date }}
|
||||
@ -66,8 +65,7 @@
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
@ -99,9 +99,9 @@
|
||||
<th scope="row">{% trans 'Binding on' %}</th>
|
||||
<td class="align-middle">{{obj.legal.binding_date|default_if_none:""}}</td>
|
||||
</tr>
|
||||
<tr {% if obj.legal.revocation %}class="alert alert-danger" title="{% trans 'Exists' %}" {% endif %}>
|
||||
<th scope="row">{% trans 'Revocation' %}</th>
|
||||
<td class="align-middle">{{obj.legal.revocation.date|naturalday|default_if_none:""}}</td>
|
||||
<tr {% if obj.legal.revocations.all %}class="alert alert-danger" title="{% trans 'Exists' %}" {% endif %}>
|
||||
<th scope="row">{% trans 'Revocations' %}</th>
|
||||
<td class="align-middle">{{obj.legal.revocations.count}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{% trans 'Last modified' %}</th>
|
||||
|
@ -66,8 +66,8 @@ class InterventionQualityChecker(AbstractQualityChecker):
|
||||
try:
|
||||
legal = self.obj.legal
|
||||
# Check for a revocation
|
||||
if legal.revocation:
|
||||
self.messages.append(_("Revocation exists"))
|
||||
if legal.revocations.exists():
|
||||
self.messages.append(_("Revocations exists"))
|
||||
|
||||
if legal.registration_date is None:
|
||||
self._add_missing_attr_name(_("Registration date"))
|
||||
|
@ -147,7 +147,7 @@ def get_revocation_view(request: HttpRequest, doc_id: str):
|
||||
"""
|
||||
doc = get_object_or_404(RevocationDocument, id=doc_id)
|
||||
# File download only possible if related instance is shared with user
|
||||
if not doc.instance.users.filter(id=request.user.id):
|
||||
if not doc.instance.legal.intervention.users.filter(id=request.user.id):
|
||||
messages.info(
|
||||
request,
|
||||
DATA_UNSHARED
|
||||
@ -238,10 +238,10 @@ def detail_view(request: HttpRequest, id: str):
|
||||
)
|
||||
|
||||
# Inform user about revocation
|
||||
if intervention.legal.revocation:
|
||||
if intervention.legal.revocations.exists():
|
||||
messages.error(
|
||||
request,
|
||||
_("This intervention has a revocation from {}").format(intervention.legal.revocation.date.strftime(DEFAULT_DATE_FORMAT)),
|
||||
_("This intervention has {} revocations").format(intervention.legal.revocations.count()),
|
||||
extra_tags="danger",
|
||||
)
|
||||
|
||||
|
Binary file not shown.
@ -9,8 +9,8 @@
|
||||
#: intervention/filters.py:26 intervention/filters.py:40
|
||||
#: intervention/filters.py:47 intervention/filters.py:48
|
||||
#: intervention/forms/forms.py:53 intervention/forms/forms.py:155
|
||||
#: intervention/forms/forms.py:167 intervention/forms/modalForms.py:107
|
||||
#: intervention/forms/modalForms.py:120 intervention/forms/modalForms.py:133
|
||||
#: intervention/forms/forms.py:167 intervention/forms/modalForms.py:108
|
||||
#: intervention/forms/modalForms.py:121 intervention/forms/modalForms.py:134
|
||||
#: konova/forms.py:142 konova/forms.py:247 konova/forms.py:313
|
||||
#: konova/forms.py:340 konova/forms.py:350 konova/forms.py:363
|
||||
#: konova/forms.py:375 konova/forms.py:396 user/forms.py:38
|
||||
@ -19,7 +19,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-10-25 17:10+0200\n"
|
||||
"POT-Creation-Date: 2021-11-15 11:46+0100\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"
|
||||
@ -37,7 +37,7 @@ msgstr "Vom"
|
||||
msgid "To"
|
||||
msgstr "Bis"
|
||||
|
||||
#: analysis/forms.py:47 compensation/forms/forms.py:93
|
||||
#: analysis/forms.py:47 compensation/forms/forms.py:76
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:58
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:16
|
||||
#: compensation/utils/quality.py:100 ema/templates/ema/detail/view.html:42
|
||||
@ -49,14 +49,14 @@ msgstr "Bis"
|
||||
msgid "Conservation office"
|
||||
msgstr "Eintragungsstelle"
|
||||
|
||||
#: analysis/forms.py:49 compensation/forms/forms.py:95
|
||||
#: analysis/forms.py:49 compensation/forms/forms.py:78
|
||||
msgid "Select the responsible office"
|
||||
msgstr "Verantwortliche Stelle"
|
||||
|
||||
#: analysis/forms.py:58 compensation/forms/forms.py:67
|
||||
#: compensation/forms/forms.py:104 compensation/forms/forms.py:155
|
||||
#: intervention/forms/forms.py:63 intervention/forms/forms.py:80
|
||||
#: intervention/forms/forms.py:96 intervention/forms/forms.py:112
|
||||
#: analysis/forms.py:58 compensation/forms/forms.py:87
|
||||
#: compensation/forms/forms.py:138 intervention/forms/forms.py:63
|
||||
#: intervention/forms/forms.py:80 intervention/forms/forms.py:96
|
||||
#: intervention/forms/forms.py:112
|
||||
msgid "Click for selection"
|
||||
msgstr "Auswählen..."
|
||||
|
||||
@ -210,7 +210,7 @@ msgstr "Abbuchungen"
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/states-before.html:36
|
||||
#: ema/templates/ema/detail/includes/states-after.html:36
|
||||
#: ema/templates/ema/detail/includes/states-before.html:36
|
||||
#: intervention/forms/modalForms.py:282
|
||||
#: intervention/forms/modalForms.py:276
|
||||
msgid "Surface"
|
||||
msgstr "Fläche"
|
||||
|
||||
@ -273,7 +273,7 @@ msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: analysis/templates/analysis/reports/includes/old_data/amount.html:24
|
||||
#: intervention/forms/modalForms.py:293 intervention/forms/modalForms.py:300
|
||||
#: intervention/forms/modalForms.py:287 intervention/forms/modalForms.py:294
|
||||
#: intervention/tables.py:88
|
||||
#: intervention/templates/intervention/detail/view.html:19
|
||||
#: konova/templates/konova/home.html:11 templates/navbars/navbar.html:22
|
||||
@ -283,7 +283,7 @@ msgstr "Eingriff"
|
||||
#: analysis/templates/analysis/reports/includes/old_data/amount.html:34
|
||||
#: compensation/tables.py:224
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:19
|
||||
#: intervention/forms/modalForms.py:266 intervention/forms/modalForms.py:273
|
||||
#: intervention/forms/modalForms.py:260 intervention/forms/modalForms.py:267
|
||||
#: konova/templates/konova/home.html:88 templates/navbars/navbar.html:34
|
||||
msgid "Eco-account"
|
||||
msgstr "Ökokonto"
|
||||
@ -335,19 +335,11 @@ msgstr "Bezeichnung"
|
||||
msgid "An explanatory name"
|
||||
msgstr "Aussagekräftiger Titel"
|
||||
|
||||
#: compensation/forms/forms.py:49 ema/forms.py:47 ema/forms.py:105
|
||||
#: compensation/forms/forms.py:49 ema/forms.py:49 ema/forms.py:105
|
||||
msgid "Compensation XY; Location ABC"
|
||||
msgstr "Kompensation XY; Flur ABC"
|
||||
|
||||
#: compensation/forms/forms.py:55
|
||||
msgid "Fundings"
|
||||
msgstr "Förderungen"
|
||||
|
||||
#: compensation/forms/forms.py:58
|
||||
msgid "Select fundings for this compensation"
|
||||
msgstr "Wählen Sie ggf. Fördermittelprojekte"
|
||||
|
||||
#: compensation/forms/forms.py:73 compensation/forms/modalForms.py:61
|
||||
#: compensation/forms/forms.py:56 compensation/forms/modalForms.py:61
|
||||
#: compensation/forms/modalForms.py:272 compensation/forms/modalForms.py:367
|
||||
#: compensation/templates/compensation/detail/compensation/includes/actions.html:34
|
||||
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:34
|
||||
@ -358,7 +350,7 @@ msgstr "Wählen Sie ggf. Fördermittelprojekte"
|
||||
#: ema/templates/ema/detail/includes/actions.html:34
|
||||
#: ema/templates/ema/detail/includes/deadlines.html:34
|
||||
#: ema/templates/ema/detail/includes/documents.html:31
|
||||
#: intervention/forms/forms.py:179 intervention/forms/modalForms.py:132
|
||||
#: intervention/forms/forms.py:179 intervention/forms/modalForms.py:133
|
||||
#: intervention/templates/intervention/detail/includes/documents.html:31
|
||||
#: intervention/templates/intervention/detail/includes/payments.html:34
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:38
|
||||
@ -366,11 +358,11 @@ msgstr "Wählen Sie ggf. Fördermittelprojekte"
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: compensation/forms/forms.py:75 intervention/forms/forms.py:181
|
||||
#: compensation/forms/forms.py:58 intervention/forms/forms.py:181
|
||||
msgid "Additional comment"
|
||||
msgstr "Zusätzlicher Kommentar"
|
||||
|
||||
#: compensation/forms/forms.py:109
|
||||
#: compensation/forms/forms.py:92
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:62
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:20
|
||||
#: compensation/utils/quality.py:102 ema/templates/ema/detail/view.html:46
|
||||
@ -382,67 +374,67 @@ msgstr "Zusätzlicher Kommentar"
|
||||
msgid "Conservation office file number"
|
||||
msgstr "Aktenzeichen Eintragungsstelle"
|
||||
|
||||
#: compensation/forms/forms.py:115 intervention/forms/forms.py:135
|
||||
#: compensation/forms/forms.py:98 intervention/forms/forms.py:135
|
||||
msgid "ETS-123/ABC.456"
|
||||
msgstr ""
|
||||
|
||||
#: compensation/forms/forms.py:121
|
||||
#: compensation/forms/forms.py:104
|
||||
msgid "Eco-account handler"
|
||||
msgstr "Maßnahmenträger"
|
||||
|
||||
#: compensation/forms/forms.py:125
|
||||
#: compensation/forms/forms.py:108
|
||||
msgid "Who handles the eco-account"
|
||||
msgstr "Wer für die Herrichtung des Ökokontos verantwortlich ist"
|
||||
|
||||
#: compensation/forms/forms.py:128 intervention/forms/forms.py:148
|
||||
#: compensation/forms/forms.py:111 intervention/forms/forms.py:148
|
||||
msgid "Company Mustermann"
|
||||
msgstr "Firma Mustermann"
|
||||
|
||||
#: compensation/forms/forms.py:146
|
||||
#: compensation/forms/forms.py:129
|
||||
#: compensation/templates/compensation/detail/compensation/view.html:35
|
||||
#: compensation/templates/compensation/report/compensation/report.html:16
|
||||
msgid "compensates intervention"
|
||||
msgstr "kompensiert Eingriff"
|
||||
|
||||
#: compensation/forms/forms.py:148
|
||||
#: compensation/forms/forms.py:131
|
||||
msgid "Select the intervention for which this compensation compensates"
|
||||
msgstr "Wählen Sie den Eingriff, für den diese Kompensation bestimmt ist"
|
||||
|
||||
#: compensation/forms/forms.py:173
|
||||
#: compensation/forms/forms.py:155
|
||||
msgid "New compensation"
|
||||
msgstr "Neue Kompensation"
|
||||
|
||||
#: compensation/forms/forms.py:231
|
||||
#: compensation/forms/forms.py:211
|
||||
msgid "Edit compensation"
|
||||
msgstr "Bearbeite Kompensation"
|
||||
|
||||
#: compensation/forms/forms.py:290 compensation/utils/quality.py:84
|
||||
#: compensation/forms/forms.py:267 compensation/utils/quality.py:84
|
||||
msgid "Available Surface"
|
||||
msgstr "Verfügbare Fläche"
|
||||
|
||||
#: compensation/forms/forms.py:293
|
||||
#: compensation/forms/forms.py:270
|
||||
msgid "The amount that can be used for deductions"
|
||||
msgstr "Die für Abbuchungen zur Verfügung stehende Menge"
|
||||
|
||||
#: compensation/forms/forms.py:302
|
||||
#: compensation/forms/forms.py:279
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:66
|
||||
#: compensation/utils/quality.py:72
|
||||
msgid "Agreement date"
|
||||
msgstr "Vereinbarungsdatum"
|
||||
|
||||
#: compensation/forms/forms.py:304
|
||||
#: compensation/forms/forms.py:281
|
||||
msgid "When did the parties agree on this?"
|
||||
msgstr "Wann wurde dieses Ökokonto offiziell vereinbart?"
|
||||
|
||||
#: compensation/forms/forms.py:329
|
||||
#: compensation/forms/forms.py:305
|
||||
msgid "New Eco-Account"
|
||||
msgstr "Neues Ökokonto"
|
||||
|
||||
#: compensation/forms/forms.py:338
|
||||
#: compensation/forms/forms.py:314
|
||||
msgid "Eco-Account XY; Location ABC"
|
||||
msgstr "Ökokonto XY; Flur ABC"
|
||||
|
||||
#: compensation/forms/forms.py:397
|
||||
#: compensation/forms/forms.py:371
|
||||
msgid "Edit Eco-Account"
|
||||
msgstr "Ökokonto bearbeiten"
|
||||
|
||||
@ -460,7 +452,7 @@ msgid "Due on which date"
|
||||
msgstr "Zahlung wird an diesem Datum erwartet"
|
||||
|
||||
#: compensation/forms/modalForms.py:63 compensation/forms/modalForms.py:274
|
||||
#: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:134
|
||||
#: compensation/forms/modalForms.py:369 intervention/forms/modalForms.py:135
|
||||
#: konova/forms.py:376
|
||||
msgid "Additional comment, maximum {} letters"
|
||||
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
|
||||
@ -485,7 +477,7 @@ msgstr "Biotoptyp"
|
||||
msgid "Select the biotope type"
|
||||
msgstr "Biotoptyp wählen"
|
||||
|
||||
#: compensation/forms/modalForms.py:155 intervention/forms/modalForms.py:284
|
||||
#: compensation/forms/modalForms.py:155 intervention/forms/modalForms.py:278
|
||||
msgid "in m²"
|
||||
msgstr ""
|
||||
|
||||
@ -517,7 +509,7 @@ msgstr "Fristart wählen"
|
||||
#: compensation/templates/compensation/detail/compensation/includes/deadlines.html:31
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/deadlines.html:31
|
||||
#: ema/templates/ema/detail/includes/deadlines.html:31
|
||||
#: intervention/forms/modalForms.py:106
|
||||
#: intervention/forms/modalForms.py:107
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
@ -595,38 +587,38 @@ msgstr "Geben Sie die Daten der neuen Maßnahme ein"
|
||||
msgid "Added action"
|
||||
msgstr "Maßnahme hinzugefügt"
|
||||
|
||||
#: compensation/models.py:83
|
||||
#: compensation/models.py:82
|
||||
msgid "cm"
|
||||
msgstr ""
|
||||
|
||||
#: compensation/models.py:84
|
||||
#: compensation/models.py:83
|
||||
msgid "m"
|
||||
msgstr ""
|
||||
|
||||
#: compensation/models.py:85
|
||||
#: compensation/models.py:84
|
||||
msgid "km"
|
||||
msgstr ""
|
||||
|
||||
#: compensation/models.py:86
|
||||
#: compensation/models.py:85
|
||||
msgid "m²"
|
||||
msgstr ""
|
||||
|
||||
#: compensation/models.py:87
|
||||
#: compensation/models.py:86
|
||||
msgid "ha"
|
||||
msgstr ""
|
||||
|
||||
#: compensation/models.py:88
|
||||
#: compensation/models.py:87
|
||||
msgid "Pieces"
|
||||
msgstr "Stück"
|
||||
|
||||
#: compensation/models.py:359
|
||||
#: compensation/models.py:345
|
||||
msgid ""
|
||||
"Deductable surface can not be larger than existing surfaces in after states"
|
||||
msgstr ""
|
||||
"Die abbuchbare Fläche darf die Gesamtfläche der Zielzustände nicht "
|
||||
"überschreiten"
|
||||
|
||||
#: compensation/models.py:366
|
||||
#: compensation/models.py:352
|
||||
msgid ""
|
||||
"Deductable surface can not be smaller than the sum of already existing "
|
||||
"deductions. Please contact the responsible users for the deductions!"
|
||||
@ -744,22 +736,22 @@ msgid "Public report"
|
||||
msgstr "Öffentlicher Bericht"
|
||||
|
||||
#: compensation/templates/compensation/detail/compensation/includes/controls.html:17
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:28
|
||||
#: ema/templates/ema/detail/includes/controls.html:28
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:31
|
||||
#: ema/templates/ema/detail/includes/controls.html:31
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:36
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: compensation/templates/compensation/detail/compensation/includes/controls.html:21
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:32
|
||||
#: ema/templates/ema/detail/includes/controls.html:32
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:35
|
||||
#: ema/templates/ema/detail/includes/controls.html:35
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:40
|
||||
msgid "Show log"
|
||||
msgstr "Log anzeigen"
|
||||
|
||||
#: compensation/templates/compensation/detail/compensation/includes/controls.html:24
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:35
|
||||
#: ema/templates/ema/detail/includes/controls.html:35
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:38
|
||||
#: ema/templates/ema/detail/includes/controls.html:38
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:43
|
||||
#: venv/lib/python3.7/site-packages/django/forms/formsets.py:391
|
||||
msgid "Delete"
|
||||
@ -886,50 +878,36 @@ msgstr "Verzeichnet am"
|
||||
#: compensation/templates/compensation/detail/compensation/view.html:71
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:74
|
||||
#: compensation/templates/compensation/report/compensation/report.html:24
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:28
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:41
|
||||
#: ema/templates/ema/detail/view.html:54
|
||||
#: ema/templates/ema/report/report.html:28
|
||||
msgid "Funded by"
|
||||
msgstr "Gefördert mit"
|
||||
|
||||
#: compensation/templates/compensation/detail/compensation/view.html:79
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:82
|
||||
#: compensation/templates/compensation/report/compensation/report.html:31
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:35
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:49
|
||||
#: ema/templates/ema/detail/view.html:62
|
||||
#: ema/templates/ema/report/report.html:35
|
||||
#: intervention/templates/intervention/report/report.html:57
|
||||
#: intervention/templates/intervention/report/report.html:78
|
||||
msgid "None"
|
||||
msgstr "-"
|
||||
|
||||
#: compensation/templates/compensation/detail/compensation/view.html:84
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:87
|
||||
#: compensation/templates/compensation/report/compensation/report.html:37
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:54
|
||||
#: ema/templates/ema/detail/view.html:67
|
||||
#: ema/templates/ema/report/report.html:41
|
||||
#: intervention/templates/intervention/detail/view.html:108
|
||||
#: intervention/templates/intervention/report/report.html:91
|
||||
msgid "Last modified"
|
||||
msgstr "Zuletzt bearbeitet"
|
||||
|
||||
#: compensation/templates/compensation/detail/compensation/view.html:92
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:95
|
||||
#: ema/templates/ema/detail/view.html:82 intervention/forms/modalForms.py:40
|
||||
#: compensation/templates/compensation/detail/compensation/view.html:79
|
||||
#: compensation/templates/compensation/detail/eco_account/view.html:82
|
||||
#: ema/templates/ema/detail/view.html:69 intervention/forms/modalForms.py:40
|
||||
#: intervention/templates/intervention/detail/view.html:116
|
||||
msgid "Shared with"
|
||||
msgstr "Freigegeben für"
|
||||
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:17
|
||||
#: ema/templates/ema/detail/includes/controls.html:17
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:15
|
||||
#: ema/templates/ema/detail/includes/controls.html:15
|
||||
#: intervention/forms/modalForms.py:54
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:15
|
||||
msgid "Share"
|
||||
msgstr "Freigabe"
|
||||
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:20
|
||||
#: ema/templates/ema/detail/includes/controls.html:20
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:25
|
||||
msgid "Unrecord"
|
||||
msgstr "Entzeichnen"
|
||||
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:21
|
||||
#: ema/templates/ema/detail/includes/controls.html:21
|
||||
#: compensation/templates/compensation/detail/eco_account/includes/controls.html:24
|
||||
#: ema/templates/ema/detail/includes/controls.html:24
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:29
|
||||
msgid "Record"
|
||||
msgstr "Verzeichnen"
|
||||
@ -1000,24 +978,30 @@ msgstr "Maßnahmenträger"
|
||||
msgid "Report"
|
||||
msgstr "Bericht"
|
||||
|
||||
#: compensation/templates/compensation/report/compensation/report.html:55
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:72
|
||||
#: ema/templates/ema/report/report.html:59
|
||||
#: compensation/templates/compensation/report/compensation/report.html:42
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:59
|
||||
#: ema/templates/ema/report/report.html:46
|
||||
#: intervention/templates/intervention/report/report.html:105
|
||||
msgid "Open in browser"
|
||||
msgstr "Im Browser öffnen"
|
||||
|
||||
#: compensation/templates/compensation/report/compensation/report.html:59
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:76
|
||||
#: ema/templates/ema/report/report.html:63
|
||||
#: compensation/templates/compensation/report/compensation/report.html:46
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:63
|
||||
#: ema/templates/ema/report/report.html:50
|
||||
#: intervention/templates/intervention/report/report.html:109
|
||||
msgid "View in LANIS"
|
||||
msgstr "In LANIS öffnen"
|
||||
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:41
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:28
|
||||
msgid "Deductions for"
|
||||
msgstr "Abbuchungen für"
|
||||
|
||||
#: compensation/templates/compensation/report/eco_account/report.html:36
|
||||
#: intervention/templates/intervention/report/report.html:57
|
||||
#: intervention/templates/intervention/report/report.html:78
|
||||
msgid "None"
|
||||
msgstr "-"
|
||||
|
||||
#: compensation/utils/quality.py:34
|
||||
msgid "States unequal"
|
||||
msgstr "Ungleiche Zustandsflächenmengen"
|
||||
@ -1041,79 +1025,101 @@ msgstr "Daten zu den verantwortlichen Stellen"
|
||||
msgid "Compensation {} added"
|
||||
msgstr "Kompensation {} hinzugefügt"
|
||||
|
||||
#: compensation/views/compensation_views.py:132
|
||||
#: compensation/views/compensation_views.py:134
|
||||
msgid "Compensation {} edited"
|
||||
msgstr "Kompensation {} bearbeitet"
|
||||
|
||||
#: compensation/views/compensation_views.py:216
|
||||
#: compensation/views/eco_account_views.py:290 ema/views.py:178
|
||||
#: intervention/views.py:448
|
||||
#: compensation/views/compensation_views.py:220
|
||||
#: compensation/views/eco_account_views.py:307 ema/views.py:182
|
||||
#: intervention/views.py:476
|
||||
msgid "Log"
|
||||
msgstr "Log"
|
||||
|
||||
#: compensation/views/compensation_views.py:237
|
||||
#: compensation/views/compensation_views.py:243
|
||||
msgid "Compensation removed"
|
||||
msgstr "Kompensation entfernt"
|
||||
|
||||
#: compensation/views/compensation_views.py:256
|
||||
#: compensation/views/eco_account_views.py:389 ema/views.py:331
|
||||
#: intervention/views.py:127
|
||||
#: compensation/views/compensation_views.py:264
|
||||
#: compensation/views/eco_account_views.py:459 ema/views.py:349
|
||||
#: intervention/views.py:130
|
||||
msgid "Document added"
|
||||
msgstr "Dokument hinzugefügt"
|
||||
|
||||
#: compensation/views/compensation_views.py:321
|
||||
#: compensation/views/eco_account_views.py:333 ema/views.py:275
|
||||
#: compensation/views/compensation_views.py:333
|
||||
#: compensation/views/eco_account_views.py:353 ema/views.py:287
|
||||
msgid "State added"
|
||||
msgstr "Zustand hinzugefügt"
|
||||
|
||||
#: compensation/views/compensation_views.py:340
|
||||
#: compensation/views/eco_account_views.py:352 ema/views.py:294
|
||||
#: compensation/views/compensation_views.py:354
|
||||
#: compensation/views/eco_account_views.py:374 ema/views.py:308
|
||||
msgid "Action added"
|
||||
msgstr "Maßnahme hinzugefügt"
|
||||
|
||||
#: compensation/views/compensation_views.py:359
|
||||
#: compensation/views/eco_account_views.py:371 ema/views.py:313
|
||||
#: compensation/views/compensation_views.py:375
|
||||
#: compensation/views/eco_account_views.py:439 ema/views.py:329
|
||||
msgid "Deadline added"
|
||||
msgstr "Frist/Termin hinzugefügt"
|
||||
|
||||
#: compensation/views/compensation_views.py:378
|
||||
#: compensation/views/compensation_views.py:397
|
||||
#: compensation/views/eco_account_views.py:396 ema/views.py:419
|
||||
msgid "State removed"
|
||||
msgstr "Zustand gelöscht"
|
||||
|
||||
#: compensation/views/compensation_views.py:397
|
||||
#: compensation/views/compensation_views.py:419
|
||||
#: compensation/views/eco_account_views.py:418 ema/views.py:441
|
||||
msgid "Action removed"
|
||||
msgstr "Maßnahme entfernt"
|
||||
|
||||
#: compensation/views/eco_account_views.py:86
|
||||
#: compensation/views/eco_account_views.py:88
|
||||
msgid "Eco-Account {} added"
|
||||
msgstr "Ökokonto {} hinzugefügt"
|
||||
|
||||
#: compensation/views/eco_account_views.py:141
|
||||
#: compensation/views/eco_account_views.py:145
|
||||
msgid "Eco-Account {} edited"
|
||||
msgstr "Ökokonto {} bearbeitet"
|
||||
|
||||
#: compensation/views/eco_account_views.py:240
|
||||
#: compensation/views/eco_account_views.py:255
|
||||
msgid "Eco-account removed"
|
||||
msgstr "Ökokonto entfernt"
|
||||
|
||||
#: compensation/views/eco_account_views.py:267
|
||||
#: compensation/views/eco_account_views.py:283
|
||||
msgid "Deduction removed"
|
||||
msgstr "Abbuchung entfernt"
|
||||
|
||||
#: compensation/views/eco_account_views.py:310 ema/views.py:252
|
||||
#: intervention/views.py:488
|
||||
#: compensation/views/eco_account_views.py:328 ema/views.py:262
|
||||
#: intervention/views.py:518
|
||||
msgid "{} unrecorded"
|
||||
msgstr "{} entzeichnet"
|
||||
|
||||
#: compensation/views/eco_account_views.py:310 ema/views.py:252
|
||||
#: intervention/views.py:488
|
||||
#: compensation/views/eco_account_views.py:328 ema/views.py:262
|
||||
#: intervention/views.py:518
|
||||
msgid "{} recorded"
|
||||
msgstr "{} verzeichnet"
|
||||
|
||||
#: compensation/views/eco_account_views.py:455 intervention/views.py:470
|
||||
#: compensation/views/eco_account_views.py:529 intervention/views.py:499
|
||||
msgid "Deduction added"
|
||||
msgstr "Abbuchung hinzugefügt"
|
||||
|
||||
#: compensation/views/eco_account_views.py:612 ema/views.py:517
|
||||
#: intervention/views.py:374
|
||||
msgid "{} has already been shared with you"
|
||||
msgstr "{} wurde bereits für Sie freigegeben"
|
||||
|
||||
#: compensation/views/eco_account_views.py:617 ema/views.py:522
|
||||
#: intervention/views.py:379
|
||||
msgid "{} has been shared with you"
|
||||
msgstr "{} ist nun für Sie freigegeben"
|
||||
|
||||
#: compensation/views/eco_account_views.py:624 ema/views.py:529
|
||||
#: intervention/views.py:386
|
||||
msgid "Share link invalid"
|
||||
msgstr "Freigabelink ungültig"
|
||||
|
||||
#: compensation/views/eco_account_views.py:647 ema/views.py:552
|
||||
#: intervention/views.py:409
|
||||
msgid "Share settings updated"
|
||||
msgstr "Freigabe Einstellungen aktualisiert"
|
||||
|
||||
#: compensation/views/payment_views.py:36
|
||||
msgid "Payment added"
|
||||
msgstr "Zahlung hinzugefügt"
|
||||
@ -1122,7 +1128,7 @@ msgstr "Zahlung hinzugefügt"
|
||||
msgid "Payment removed"
|
||||
msgstr "Zahlung gelöscht"
|
||||
|
||||
#: ema/forms.py:38
|
||||
#: ema/forms.py:40
|
||||
msgid "New EMA"
|
||||
msgstr "Neue EMA hinzufügen"
|
||||
|
||||
@ -1150,15 +1156,15 @@ msgstr ""
|
||||
msgid "Payment funded compensation"
|
||||
msgstr "Ersatzzahlungsmaßnahme"
|
||||
|
||||
#: ema/views.py:78
|
||||
#: ema/views.py:79
|
||||
msgid "EMA {} added"
|
||||
msgstr "EMA {} hinzugefügt"
|
||||
|
||||
#: ema/views.py:205
|
||||
#: ema/views.py:211
|
||||
msgid "EMA {} edited"
|
||||
msgstr "EMA {} bearbeitet"
|
||||
|
||||
#: ema/views.py:235
|
||||
#: ema/views.py:243
|
||||
msgid "EMA removed"
|
||||
msgstr "EMA entfernt"
|
||||
|
||||
@ -1255,47 +1261,42 @@ msgstr "Andere Nutzer erhalten über diesen Link Zugriff auf die Daten"
|
||||
msgid "Remove check to remove access for this user"
|
||||
msgstr "Wählen Sie die Nutzer ab, die keinen Zugriff mehr haben sollen"
|
||||
|
||||
#: intervention/forms/modalForms.py:54
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:15
|
||||
msgid "Share"
|
||||
msgstr "Freigabe"
|
||||
|
||||
#: intervention/forms/modalForms.py:55
|
||||
msgid "Share settings for {}"
|
||||
msgstr "Freigabe Einstellungen für {}"
|
||||
|
||||
#: intervention/forms/modalForms.py:108
|
||||
#: intervention/forms/modalForms.py:109
|
||||
msgid "Date of revocation"
|
||||
msgstr "Datum des Widerspruchs"
|
||||
|
||||
#: intervention/forms/modalForms.py:119
|
||||
#: intervention/forms/modalForms.py:120
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:35
|
||||
msgid "Document"
|
||||
msgstr "Dokument"
|
||||
|
||||
#: intervention/forms/modalForms.py:122 konova/forms.py:364
|
||||
#: intervention/forms/modalForms.py:123 konova/forms.py:364
|
||||
msgid "Must be smaller than 15 Mb"
|
||||
msgstr "Muss kleiner als 15 Mb sein"
|
||||
|
||||
#: intervention/forms/modalForms.py:146
|
||||
#: intervention/forms/modalForms.py:147
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:18
|
||||
msgid "Add revocation"
|
||||
msgstr "Widerspruch hinzufügen"
|
||||
|
||||
#: intervention/forms/modalForms.py:186
|
||||
#: intervention/forms/modalForms.py:189
|
||||
msgid "Checked intervention data"
|
||||
msgstr "Eingriffsdaten geprüft"
|
||||
|
||||
#: intervention/forms/modalForms.py:192
|
||||
#: intervention/forms/modalForms.py:195
|
||||
msgid "Checked compensations data and payments"
|
||||
msgstr "Kompensationen und Zahlungen geprüft"
|
||||
|
||||
#: intervention/forms/modalForms.py:200
|
||||
#: intervention/forms/modalForms.py:203
|
||||
#: intervention/templates/intervention/detail/includes/controls.html:19
|
||||
msgid "Run check"
|
||||
msgstr "Prüfung vornehmen"
|
||||
|
||||
#: intervention/forms/modalForms.py:201 konova/forms.py:449
|
||||
#: intervention/forms/modalForms.py:204 konova/forms.py:449
|
||||
msgid ""
|
||||
"I, {} {}, confirm that all necessary control steps have been performed by "
|
||||
"myself."
|
||||
@ -1303,23 +1304,23 @@ msgstr ""
|
||||
"Ich, {} {}, bestätige, dass die notwendigen Kontrollschritte durchgeführt "
|
||||
"wurden:"
|
||||
|
||||
#: intervention/forms/modalForms.py:268
|
||||
#: intervention/forms/modalForms.py:262
|
||||
msgid "Only recorded accounts can be selected for deductions"
|
||||
msgstr "Nur verzeichnete Ökokonten können für Abbuchungen verwendet werden."
|
||||
|
||||
#: intervention/forms/modalForms.py:295
|
||||
#: intervention/forms/modalForms.py:289
|
||||
msgid "Only shared interventions can be selected"
|
||||
msgstr "Nur freigegebene Eingriffe können gewählt werden"
|
||||
|
||||
#: intervention/forms/modalForms.py:308
|
||||
#: intervention/forms/modalForms.py:302
|
||||
msgid "New Deduction"
|
||||
msgstr "Neue Abbuchung"
|
||||
|
||||
#: intervention/forms/modalForms.py:309
|
||||
#: intervention/forms/modalForms.py:303
|
||||
msgid "Enter the information for a new deduction from a chosen eco-account"
|
||||
msgstr "Geben Sie die Informationen für eine neue Abbuchung ein."
|
||||
|
||||
#: intervention/forms/modalForms.py:342
|
||||
#: intervention/forms/modalForms.py:336
|
||||
msgid ""
|
||||
"Eco-account {} is not recorded yet. You can only deduct from recorded "
|
||||
"accounts."
|
||||
@ -1327,7 +1328,7 @@ msgstr ""
|
||||
"Ökokonto {} ist noch nicht verzeichnet. Abbuchungen können nur von "
|
||||
"verzeichneten Ökokonten erfolgen."
|
||||
|
||||
#: intervention/forms/modalForms.py:355
|
||||
#: intervention/forms/modalForms.py:349
|
||||
msgid ""
|
||||
"The account {} has not enough surface for a deduction of {} m². There are "
|
||||
"only {} m² left"
|
||||
@ -1336,9 +1337,7 @@ msgstr ""
|
||||
"Restfläche. Es stehen noch {} m² zur Verfügung."
|
||||
|
||||
#: intervention/tables.py:45
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:8
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:57
|
||||
#: intervention/templates/intervention/detail/view.html:104
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:56
|
||||
msgid "Revocation"
|
||||
msgstr "Widerspruch"
|
||||
|
||||
@ -1388,12 +1387,17 @@ msgstr "Betrag"
|
||||
msgid "Remove payment"
|
||||
msgstr "Zahlung entfernen"
|
||||
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:8
|
||||
#: intervention/templates/intervention/detail/view.html:104
|
||||
msgid "Revocations"
|
||||
msgstr "Widersprüche"
|
||||
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:32
|
||||
msgctxt "Revocation"
|
||||
msgid "From"
|
||||
msgstr "Vom"
|
||||
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:64
|
||||
#: intervention/templates/intervention/detail/includes/revocation.html:63
|
||||
msgid "Remove revocation"
|
||||
msgstr "Widerspruch entfernen"
|
||||
|
||||
@ -1410,8 +1414,8 @@ msgid "Exist"
|
||||
msgstr "Vorhanden"
|
||||
|
||||
#: intervention/utils/quality.py:70
|
||||
msgid "Revocation exists"
|
||||
msgstr "Widerspruch liegt vor"
|
||||
msgid "Revocations exists"
|
||||
msgstr "Widersprüche liegen vor"
|
||||
|
||||
#: intervention/utils/quality.py:76
|
||||
msgid "Binding date"
|
||||
@ -1431,51 +1435,31 @@ msgstr ""
|
||||
msgid "Intervention {} added"
|
||||
msgstr "Eingriff {} hinzugefügt"
|
||||
|
||||
#: intervention/views.py:231
|
||||
msgid "This intervention has a revocation from {}"
|
||||
msgstr "Es existiert ein Widerspruch vom {}"
|
||||
#: intervention/views.py:244
|
||||
msgid "This intervention has {} revocations"
|
||||
msgstr "Dem Eingriff liegen {} Widersprüche vor"
|
||||
|
||||
#: intervention/views.py:274
|
||||
#: intervention/views.py:292
|
||||
msgid "Intervention {} edited"
|
||||
msgstr "Eingriff {} bearbeitet"
|
||||
|
||||
#: intervention/views.py:275
|
||||
msgid "Status of Checked and Recorded reseted"
|
||||
msgstr "'Geprüft' und 'Verzeichnet' sind zurückgesetzt worden"
|
||||
|
||||
#: intervention/views.py:307
|
||||
#: intervention/views.py:327
|
||||
msgid "{} removed"
|
||||
msgstr "{} entfernt"
|
||||
|
||||
#: intervention/views.py:328
|
||||
#: intervention/views.py:348
|
||||
msgid "Revocation removed"
|
||||
msgstr "Widerspruch entfernt"
|
||||
|
||||
#: intervention/views.py:354
|
||||
msgid "{} has already been shared with you"
|
||||
msgstr "{} wurde bereits für Sie freigegeben"
|
||||
|
||||
#: intervention/views.py:359
|
||||
msgid "{} has been shared with you"
|
||||
msgstr "{} ist nun für Sie freigegeben"
|
||||
|
||||
#: intervention/views.py:366
|
||||
msgid "Share link invalid"
|
||||
msgstr "Freigabelink ungültig"
|
||||
|
||||
#: intervention/views.py:387
|
||||
msgid "Share settings updated"
|
||||
msgstr "Freigabe Einstellungen aktualisiert"
|
||||
|
||||
#: intervention/views.py:406
|
||||
#: intervention/views.py:430
|
||||
msgid "Check performed"
|
||||
msgstr "Prüfung durchgeführt"
|
||||
|
||||
#: intervention/views.py:426
|
||||
#: intervention/views.py:452
|
||||
msgid "Revocation added"
|
||||
msgstr "Widerspruch hinzugefügt"
|
||||
|
||||
#: intervention/views.py:493
|
||||
#: intervention/views.py:523
|
||||
msgid "There are errors on this intervention:"
|
||||
msgstr "Es liegen Fehler in diesem Eingriff vor:"
|
||||
|
||||
@ -1587,19 +1571,19 @@ msgstr "Wenn meine freigegebenen Daten gelöscht wurden"
|
||||
msgid "On registered data edited"
|
||||
msgstr "Wenn meine freigegebenen Daten bearbeitet wurden"
|
||||
|
||||
#: konova/models.py:206
|
||||
#: konova/models.py:231
|
||||
msgid "Finished"
|
||||
msgstr "Umgesetzt bis"
|
||||
|
||||
#: konova/models.py:207
|
||||
#: konova/models.py:232
|
||||
msgid "Maintain"
|
||||
msgstr "Unterhaltung bis"
|
||||
|
||||
#: konova/models.py:208
|
||||
#: konova/models.py:233
|
||||
msgid "Control"
|
||||
msgstr "Kontrolle am"
|
||||
|
||||
#: konova/models.py:209
|
||||
#: konova/models.py:234
|
||||
msgid "Other"
|
||||
msgstr "Sonstige"
|
||||
|
||||
@ -1684,6 +1668,16 @@ msgstr ""
|
||||
msgid "You need to be part of another user group."
|
||||
msgstr "Hierfür müssen Sie einer anderen Nutzergruppe angehören!"
|
||||
|
||||
#: konova/utils/message_templates.py:19
|
||||
msgid "Status of Checked and Recorded reseted"
|
||||
msgstr "'Geprüft' und 'Verzeichnet' sind zurückgesetzt worden"
|
||||
|
||||
#: konova/utils/message_templates.py:22
|
||||
msgid ""
|
||||
"Action canceled. Eco account is recorded or deductions exist. Only "
|
||||
"conservation office member can perform this action."
|
||||
msgstr ""
|
||||
|
||||
#: konova/utils/messenger.py:69
|
||||
msgid "{} checked"
|
||||
msgstr "{} geprüft"
|
||||
@ -3146,3 +3140,12 @@ msgstr ""
|
||||
#: venv/lib/python3.7/site-packages/fontawesome_5/fields.py:16
|
||||
msgid "A fontawesome icon field"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Fundings"
|
||||
#~ msgstr "Förderungen"
|
||||
|
||||
#~ msgid "Select fundings for this compensation"
|
||||
#~ msgstr "Wählen Sie ggf. Fördermittelprojekte"
|
||||
|
||||
#~ msgid "Funded by"
|
||||
#~ msgstr "Gefördert mit"
|
||||
|
Loading…
Reference in New Issue
Block a user