diff --git a/compensation/models/compensation.py b/compensation/models/compensation.py
index 703f7cd4..65a62b6e 100644
--- a/compensation/models/compensation.py
+++ b/compensation/models/compensation.py
@@ -170,7 +170,7 @@ class AbstractCompensation(BaseObject, GeoReferencedMixin):
"""
if not self.is_shared_with(request.user):
messages.info(request, DATA_UNSHARED_EXPLANATION)
- request = self._set_geometry_conflict_message(request)
+ request = self.set_geometry_conflict_message(request)
return request
diff --git a/compensation/templates/compensation/detail/compensation/view.html b/compensation/templates/compensation/detail/compensation/view.html
index 581bf799..c210986a 100644
--- a/compensation/templates/compensation/detail/compensation/view.html
+++ b/compensation/templates/compensation/detail/compensation/view.html
@@ -110,7 +110,10 @@
{% include 'map/geom_form.html' %}
- {% include 'konova/comment_card.html' %}
+ {% include 'konova/includes/parcels.html' %}
+
+
+ {% include 'konova/includes/comment_card.html' %}
diff --git a/compensation/templates/compensation/detail/eco_account/view.html b/compensation/templates/compensation/detail/eco_account/view.html
index 717d6d53..493a9292 100644
--- a/compensation/templates/compensation/detail/eco_account/view.html
+++ b/compensation/templates/compensation/detail/eco_account/view.html
@@ -93,7 +93,10 @@
{% include 'map/geom_form.html' %}
- {% include 'konova/comment_card.html' %}
+ {% include 'konova/includes/parcels.html' %}
+
+
+ {% include 'konova/includes/comment_card.html' %}
diff --git a/compensation/views/compensation.py b/compensation/views/compensation.py
index b5efc984..bfd7ba62 100644
--- a/compensation/views/compensation.py
+++ b/compensation/views/compensation.py
@@ -170,6 +170,7 @@ def detail_view(request: HttpRequest, id: str):
template = "compensation/detail/compensation/view.html"
comp = get_object_or_404(Compensation, id=id)
geom_form = SimpleGeomForm(instance=comp)
+ parcels = comp.get_underlying_parcels()
_user = request.user
is_data_shared = comp.intervention.is_shared_with(_user)
@@ -189,6 +190,7 @@ def detail_view(request: HttpRequest, id: str):
context = {
"obj": comp,
"geom_form": geom_form,
+ "parcels": parcels,
"has_access": is_data_shared,
"actions": actions,
"before_states": before_states,
diff --git a/compensation/views/eco_account.py b/compensation/views/eco_account.py
index 7b4c27e2..118a9f6e 100644
--- a/compensation/views/eco_account.py
+++ b/compensation/views/eco_account.py
@@ -181,6 +181,7 @@ def detail_view(request: HttpRequest, id: str):
id=id
)
geom_form = SimpleGeomForm(instance=acc)
+ parcels = acc.get_underlying_parcels()
_user = request.user
is_data_shared = acc.is_shared_with(_user)
@@ -207,6 +208,7 @@ def detail_view(request: HttpRequest, id: str):
context = {
"obj": acc,
"geom_form": geom_form,
+ "parcels": parcels,
"has_access": is_data_shared,
"before_states": before_states,
"after_states": after_states,
diff --git a/ema/models/ema.py b/ema/models/ema.py
index 8bc4ac65..2c61a241 100644
--- a/ema/models/ema.py
+++ b/ema/models/ema.py
@@ -106,7 +106,7 @@ class Ema(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin):
"""
if not self.is_shared_with(request.user):
messages.info(request, DATA_UNSHARED_EXPLANATION)
- self._set_geometry_conflict_message(request)
+ self.set_geometry_conflict_message(request)
return request
diff --git a/ema/templates/ema/detail/view.html b/ema/templates/ema/detail/view.html
index 6635569a..230363b4 100644
--- a/ema/templates/ema/detail/view.html
+++ b/ema/templates/ema/detail/view.html
@@ -77,7 +77,15 @@
+
{% include 'map/geom_form.html' %}
+
+
+ {% include 'konova/includes/parcels.html' %}
+
+
+ {% include 'konova/includes/comment_card.html' %}
+
diff --git a/ema/views.py b/ema/views.py
index dc2fa49a..fc94686b 100644
--- a/ema/views.py
+++ b/ema/views.py
@@ -125,6 +125,7 @@ def detail_view(request: HttpRequest, id: str):
ema = get_object_or_404(Ema, id=id, deleted=None)
geom_form = SimpleGeomForm(instance=ema)
+ parcels = ema.get_underlying_parcels()
_user = request.user
is_data_shared = ema.is_shared_with(_user)
@@ -143,6 +144,7 @@ def detail_view(request: HttpRequest, id: str):
context = {
"obj": ema,
"geom_form": geom_form,
+ "parcels": parcels,
"has_access": is_data_shared,
"before_states": before_states,
"after_states": after_states,
diff --git a/intervention/models/intervention.py b/intervention/models/intervention.py
index a31eb9a3..b54bbcf5 100644
--- a/intervention/models/intervention.py
+++ b/intervention/models/intervention.py
@@ -278,7 +278,7 @@ class Intervention(BaseObject, ShareableObjectMixin, RecordableObjectMixin, Chec
"""
if not self.is_shared_with(request.user):
messages.info(request, DATA_UNSHARED_EXPLANATION)
- request = self._set_geometry_conflict_message(request)
+ request = self.set_geometry_conflict_message(request)
return request
diff --git a/intervention/templates/intervention/detail/view.html b/intervention/templates/intervention/detail/view.html
index 408b3939..e51f3ecd 100644
--- a/intervention/templates/intervention/detail/view.html
+++ b/intervention/templates/intervention/detail/view.html
@@ -127,7 +127,10 @@
{% include 'map/geom_form.html' %}
- {% include 'konova/comment_card.html' %}
+ {% include 'konova/includes/parcels.html' %}
+
+
+ {% include 'konova/includes/comment_card.html' %}
diff --git a/intervention/views.py b/intervention/views.py
index 60d75249..d18dce23 100644
--- a/intervention/views.py
+++ b/intervention/views.py
@@ -236,6 +236,8 @@ def detail_view(request: HttpRequest, id: str):
instance=intervention,
)
+ parcels = intervention.get_underlying_parcels()
+
# Inform user about revocation
if intervention.legal.revocations.exists():
messages.error(
@@ -249,6 +251,7 @@ def detail_view(request: HttpRequest, id: str):
"compensations": compensations,
"has_access": is_data_shared,
"geom_form": geom_form,
+ "parcels": parcels,
"is_default_member": in_group(_user, DEFAULT_GROUP),
"is_zb_member": in_group(_user, ZB_GROUP),
"is_ets_member": in_group(_user, ETS_GROUP),
diff --git a/konova/admin.py b/konova/admin.py
index 23e29a65..02568de9 100644
--- a/konova/admin.py
+++ b/konova/admin.py
@@ -20,6 +20,7 @@ class GeometryAdmin(admin.ModelAdmin):
class ParcelAdmin(admin.ModelAdmin):
list_display = [
"id",
+ "gmrkng",
"flr",
"flrstck_nnr",
"flrstck_zhlr",
@@ -30,7 +31,6 @@ class ParcelAdmin(admin.ModelAdmin):
class DistrictAdmin(admin.ModelAdmin):
list_display = [
"id",
- "gmrkng",
"gmnd",
"krs",
]
diff --git a/konova/models/geometry.py b/konova/models/geometry.py
index e9d8c61c..aad39d6f 100644
--- a/konova/models/geometry.py
+++ b/konova/models/geometry.py
@@ -111,12 +111,12 @@ class Geometry(BaseResource):
for result in fetched_parcels:
fetched_parcel = result[typename]
parcel_obj = Parcel.objects.get_or_create(
+ gmrkng=fetched_parcel["ave:gemarkung"],
flr=fetched_parcel["ave:flur"],
flrstck_nnr=fetched_parcel['ave:flstnrnen'],
flrstck_zhlr=fetched_parcel['ave:flstnrzae'],
)[0]
district = District.objects.get_or_create(
- gmrkng=fetched_parcel["ave:gemarkung"],
gmnd=fetched_parcel["ave:gemeinde"],
krs=fetched_parcel["ave:kreis"],
)[0]
@@ -127,6 +127,20 @@ class Geometry(BaseResource):
self.parcels.set(underlying_parcels)
+ def get_underlying_parcels(self):
+ """ Getter for related parcels and their districts
+
+ Returns:
+ parcels (QuerySet): The related parcels as queryset
+ """
+ parcels = self.parcels.all().prefetch_related(
+ "district"
+ ).order_by(
+ "gmrkng",
+ )
+
+ return parcels
+
class GeometryConflict(UuidModel):
"""
diff --git a/konova/models/object.py b/konova/models/object.py
index ded39ad1..49c1f4e0 100644
--- a/konova/models/object.py
+++ b/konova/models/object.py
@@ -420,13 +420,29 @@ class GeoReferencedMixin(models.Model):
class Meta:
abstract = True
- def _set_geometry_conflict_message(self, request: HttpRequest):
+ def get_underlying_parcels(self):
+ """ Getter for related parcels
+
+ Returns:
+ parcels (Iterable): An empty list or a Queryset
+ """
+ if self.geometry is not None:
+ return self.geometry.get_underlying_parcels()
+ else:
+ return []
+
+ def set_geometry_conflict_message(self, request: HttpRequest):
+ if self.geometry is None:
+ return request
+
instance_objs = []
add_message = False
conflicts = self.geometry.conflicts_geometries.all()
+
for conflict in conflicts:
instance_objs += conflict.affected_geometry.get_data_objects()
add_message = True
+
conflicts = self.geometry.conflicted_by_geometries.all()
for conflict in conflicts:
instance_objs += conflict.conflicting_geometry.get_data_objects()
diff --git a/konova/models/parcel.py b/konova/models/parcel.py
index 35f5978b..487225e6 100644
--- a/konova/models/parcel.py
+++ b/konova/models/parcel.py
@@ -24,6 +24,12 @@ class Parcel(UuidModel):
"""
geometries = models.ManyToManyField("konova.Geometry", related_name="parcels", blank=True)
district = models.ForeignKey("konova.District", on_delete=models.SET_NULL, null=True, blank=True, related_name="parcels")
+ gmrkng = models.CharField(
+ max_length=1000,
+ help_text="Gemarkung",
+ null=True,
+ blank=True,
+ )
flrstck_nnr = models.CharField(
max_length=1000,
help_text="Flurstücksnenner",
@@ -45,7 +51,7 @@ class Parcel(UuidModel):
updated_on = models.DateTimeField(auto_now_add=True)
def __str__(self):
- return f"{self.flr} | {self.flrstck_nnr} | {self.flrstck_zhlr}"
+ return f"{self.gmrkng} | {self.flr} | {self.flrstck_zhlr} | {self.flrstck_nnr}"
class District(UuidModel):
@@ -56,12 +62,6 @@ class District(UuidModel):
District.
"""
- gmrkng = models.CharField(
- max_length=1000,
- help_text="Gemarkung",
- null=True,
- blank=True,
- )
gmnd = models.CharField(
max_length=1000,
help_text="Gemeinde",
@@ -76,4 +76,4 @@ class District(UuidModel):
)
def __str__(self):
- return f"{self.gmrkng} | {self.gmnd} | {self.krs}"
+ return f"{self.gmnd} | {self.krs}"
diff --git a/konova/templates/konova/comment_card.html b/konova/templates/konova/includes/comment_card.html
similarity index 100%
rename from konova/templates/konova/comment_card.html
rename to konova/templates/konova/includes/comment_card.html
diff --git a/konova/templates/konova/includes/parcels.html b/konova/templates/konova/includes/parcels.html
new file mode 100644
index 00000000..e15fa3d0
--- /dev/null
+++ b/konova/templates/konova/includes/parcels.html
@@ -0,0 +1,29 @@
+{% load i18n %}
+
+
{% trans 'Spatial reference' %}
+
+
\ No newline at end of file
diff --git a/konova/utils/wfs/spatial.py b/konova/utils/wfs/spatial.py
index ed64f3cf..6d0ddda9 100644
--- a/konova/utils/wfs/spatial.py
+++ b/konova/utils/wfs/spatial.py
@@ -22,7 +22,6 @@ class AbstractWFSFetcher:
# base_url represents not the capabilities url but the parameter-free base url
base_url = None
version = None
- wfs = None
auth_user = None
auth_pw = None
auth_digest_obj = None
diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo
index bd3e82d8..b03903cb 100644
Binary files a/locale/de/LC_MESSAGES/django.mo and b/locale/de/LC_MESSAGES/django.mo differ
diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po
index 04aefdf0..fbfccf67 100644
--- a/locale/de/LC_MESSAGES/django.po
+++ b/locale/de/LC_MESSAGES/django.po
@@ -11,15 +11,15 @@
#: intervention/forms/forms.py:52 intervention/forms/forms.py:154
#: intervention/forms/forms.py:166 intervention/forms/modalForms.py:125
#: intervention/forms/modalForms.py:138 intervention/forms/modalForms.py:151
-#: konova/forms.py:139 konova/forms.py:240 konova/forms.py:308
-#: konova/forms.py:335 konova/forms.py:345 konova/forms.py:358
-#: konova/forms.py:370 konova/forms.py:388 user/forms.py:38
+#: konova/forms.py:139 konova/forms.py:240 konova/forms.py:309
+#: konova/forms.py:336 konova/forms.py:346 konova/forms.py:359
+#: konova/forms.py:371 konova/forms.py:389 user/forms.py:38
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-12-16 09:17+0100\n"
+"POT-Creation-Date: 2022-01-05 14:04+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -329,7 +329,7 @@ msgstr "Automatisch generiert"
#: intervention/templates/intervention/detail/includes/documents.html:28
#: intervention/templates/intervention/detail/view.html:31
#: intervention/templates/intervention/report/report.html:12
-#: konova/forms.py:334
+#: konova/forms.py:335
msgid "Title"
msgstr "Bezeichnung"
@@ -356,7 +356,7 @@ msgstr "Kompensation XY; Flur ABC"
#: intervention/templates/intervention/detail/includes/documents.html:31
#: intervention/templates/intervention/detail/includes/payments.html:34
#: intervention/templates/intervention/detail/includes/revocation.html:38
-#: konova/forms.py:369 konova/templates/konova/comment_card.html:16
+#: konova/forms.py:370 konova/templates/konova/includes/comment_card.html:16
msgid "Comment"
msgstr "Kommentar"
@@ -472,7 +472,7 @@ msgstr "Zahlung wird an diesem Datum erwartet"
#: compensation/forms/modalForms.py:62 compensation/forms/modalForms.py:239
#: compensation/forms/modalForms.py:317 intervention/forms/modalForms.py:152
-#: konova/forms.py:371
+#: konova/forms.py:372
msgid "Additional comment, maximum {} letters"
msgstr "Zusätzlicher Kommentar, maximal {} Zeichen"
@@ -793,7 +793,7 @@ msgstr "Dokumente"
#: compensation/templates/compensation/detail/eco_account/includes/documents.html:14
#: ema/templates/ema/detail/includes/documents.html:14
#: intervention/templates/intervention/detail/includes/documents.html:14
-#: konova/forms.py:387
+#: konova/forms.py:388
msgid "Add new document"
msgstr "Neues Dokument hinzufügen"
@@ -1056,41 +1056,41 @@ msgstr "Kompensation {} hinzugefügt"
msgid "Compensation {} edited"
msgstr "Kompensation {} bearbeitet"
-#: compensation/views/compensation.py:228 compensation/views/eco_account.py:307
-#: ema/views.py:181 intervention/views.py:474
+#: compensation/views/compensation.py:230 compensation/views/eco_account.py:309
+#: ema/views.py:181 intervention/views.py:477
msgid "Log"
msgstr "Log"
-#: compensation/views/compensation.py:251
+#: compensation/views/compensation.py:253
msgid "Compensation removed"
msgstr "Kompensation entfernt"
-#: compensation/views/compensation.py:272 compensation/views/eco_account.py:459
+#: compensation/views/compensation.py:274 compensation/views/eco_account.py:461
#: ema/views.py:348 intervention/views.py:129
msgid "Document added"
msgstr "Dokument hinzugefügt"
-#: compensation/views/compensation.py:341 compensation/views/eco_account.py:353
+#: compensation/views/compensation.py:343 compensation/views/eco_account.py:355
#: ema/views.py:286
msgid "State added"
msgstr "Zustand hinzugefügt"
-#: compensation/views/compensation.py:362 compensation/views/eco_account.py:374
+#: compensation/views/compensation.py:364 compensation/views/eco_account.py:376
#: ema/views.py:307
msgid "Action added"
msgstr "Maßnahme hinzugefügt"
-#: compensation/views/compensation.py:383 compensation/views/eco_account.py:439
+#: compensation/views/compensation.py:385 compensation/views/eco_account.py:441
#: ema/views.py:328
msgid "Deadline added"
msgstr "Frist/Termin hinzugefügt"
-#: compensation/views/compensation.py:405 compensation/views/eco_account.py:396
+#: compensation/views/compensation.py:407 compensation/views/eco_account.py:398
#: ema/views.py:418
msgid "State removed"
msgstr "Zustand gelöscht"
-#: compensation/views/compensation.py:427 compensation/views/eco_account.py:418
+#: compensation/views/compensation.py:429 compensation/views/eco_account.py:420
#: ema/views.py:440
msgid "Action removed"
msgstr "Maßnahme entfernt"
@@ -1103,45 +1103,45 @@ msgstr "Ökokonto {} hinzugefügt"
msgid "Eco-Account {} edited"
msgstr "Ökokonto {} bearbeitet"
-#: compensation/views/eco_account.py:255
+#: compensation/views/eco_account.py:257
msgid "Eco-account removed"
msgstr "Ökokonto entfernt"
-#: compensation/views/eco_account.py:283
+#: compensation/views/eco_account.py:285
msgid "Deduction removed"
msgstr "Abbuchung entfernt"
-#: compensation/views/eco_account.py:328 ema/views.py:261
-#: intervention/views.py:516
+#: compensation/views/eco_account.py:330 ema/views.py:261
+#: intervention/views.py:519
msgid "{} unrecorded"
msgstr "{} entzeichnet"
-#: compensation/views/eco_account.py:328 ema/views.py:261
-#: intervention/views.py:516
+#: compensation/views/eco_account.py:330 ema/views.py:261
+#: intervention/views.py:519
msgid "{} recorded"
msgstr "{} verzeichnet"
-#: compensation/views/eco_account.py:529 intervention/views.py:497
+#: compensation/views/eco_account.py:531 intervention/views.py:500
msgid "Deduction added"
msgstr "Abbuchung hinzugefügt"
-#: compensation/views/eco_account.py:612 ema/views.py:516
-#: intervention/views.py:372
+#: compensation/views/eco_account.py:614 ema/views.py:516
+#: intervention/views.py:375
msgid "{} has already been shared with you"
msgstr "{} wurde bereits für Sie freigegeben"
-#: compensation/views/eco_account.py:617 ema/views.py:521
-#: intervention/views.py:377
+#: compensation/views/eco_account.py:619 ema/views.py:521
+#: intervention/views.py:380
msgid "{} has been shared with you"
msgstr "{} ist nun für Sie freigegeben"
-#: compensation/views/eco_account.py:624 ema/views.py:528
-#: intervention/views.py:384
+#: compensation/views/eco_account.py:626 ema/views.py:528
+#: intervention/views.py:387
msgid "Share link invalid"
msgstr "Freigabelink ungültig"
-#: compensation/views/eco_account.py:647 ema/views.py:551
-#: intervention/views.py:407
+#: compensation/views/eco_account.py:649 ema/views.py:551
+#: intervention/views.py:410
msgid "Share settings updated"
msgstr "Freigabe Einstellungen aktualisiert"
@@ -1333,7 +1333,7 @@ msgstr "Kompensationen und Zahlungen geprüft"
msgid "Run check"
msgstr "Prüfung vornehmen"
-#: intervention/forms/modalForms.py:196 konova/forms.py:453
+#: intervention/forms/modalForms.py:196 konova/forms.py:454
msgid ""
"I, {} {}, confirm that all necessary control steps have been performed by "
"myself."
@@ -1472,31 +1472,31 @@ msgstr ""
msgid "Intervention {} added"
msgstr "Eingriff {} hinzugefügt"
-#: intervention/views.py:243
+#: intervention/views.py:245
msgid "This intervention has {} revocations"
msgstr "Dem Eingriff liegen {} Widersprüche vor"
-#: intervention/views.py:290
+#: intervention/views.py:293
msgid "Intervention {} edited"
msgstr "Eingriff {} bearbeitet"
-#: intervention/views.py:325
+#: intervention/views.py:328
msgid "{} removed"
msgstr "{} entfernt"
-#: intervention/views.py:346
+#: intervention/views.py:349
msgid "Revocation removed"
msgstr "Widerspruch entfernt"
-#: intervention/views.py:428
+#: intervention/views.py:431
msgid "Check performed"
msgstr "Prüfung durchgeführt"
-#: intervention/views.py:450
+#: intervention/views.py:453
msgid "Revocation added"
msgstr "Widerspruch hinzugefügt"
-#: intervention/views.py:521
+#: intervention/views.py:524
msgid "There are errors on this intervention:"
msgstr "Es liegen Fehler in diesem Eingriff vor:"
@@ -1525,11 +1525,11 @@ msgstr "Speichern"
msgid "Not editable"
msgstr "Nicht editierbar"
-#: konova/forms.py:138 konova/forms.py:307
+#: konova/forms.py:138 konova/forms.py:308
msgid "Confirm"
msgstr "Bestätige"
-#: konova/forms.py:150 konova/forms.py:316
+#: konova/forms.py:150 konova/forms.py:317
msgid "Remove"
msgstr "Löschen"
@@ -1542,56 +1542,56 @@ msgstr "Sie sind dabei {} {} zu löschen"
msgid "Geometry"
msgstr "Geometrie"
-#: konova/forms.py:317
+#: konova/forms.py:318
msgid "Are you sure?"
msgstr "Sind Sie sicher?"
-#: konova/forms.py:344
+#: konova/forms.py:345
msgid "Created on"
msgstr "Erstellt"
-#: konova/forms.py:346
+#: konova/forms.py:347
msgid "When has this file been created? Important for photos."
msgstr "Wann wurde diese Datei erstellt oder das Foto aufgenommen?"
-#: konova/forms.py:357
+#: konova/forms.py:358
#: venv/lib/python3.7/site-packages/django/db/models/fields/files.py:231
msgid "File"
msgstr "Datei"
-#: konova/forms.py:359
+#: konova/forms.py:360
msgid "Allowed formats: pdf, jpg, png. Max size 15 MB."
msgstr "Formate: pdf, jpg, png. Maximal 15 MB."
-#: konova/forms.py:405
+#: konova/forms.py:406
msgid "Unsupported file type"
msgstr "Dateiformat nicht unterstützt"
-#: konova/forms.py:412
+#: konova/forms.py:413
msgid "File too large"
msgstr "Datei zu groß"
-#: konova/forms.py:421
+#: konova/forms.py:422
msgid "Added document"
msgstr "Dokument hinzugefügt"
-#: konova/forms.py:444
+#: konova/forms.py:445
msgid "Confirm record"
msgstr "Verzeichnen bestätigen"
-#: konova/forms.py:452
+#: konova/forms.py:453
msgid "Record data"
msgstr "Daten verzeichnen"
-#: konova/forms.py:459
+#: konova/forms.py:460
msgid "Confirm unrecord"
msgstr "Entzeichnen bestätigen"
-#: konova/forms.py:460
+#: konova/forms.py:461
msgid "Unrecord data"
msgstr "Daten entzeichnen"
-#: konova/forms.py:461
+#: konova/forms.py:462
msgid "I, {} {}, confirm that this data must be unrecorded."
msgstr ""
"Ich, {} {}, bestätige, dass diese Daten wieder entzeichnet werden müssen."
@@ -1663,6 +1663,30 @@ msgstr "Anzeigen"
msgid "Deduct"
msgstr "Abbuchen"
+#: konova/templates/konova/includes/parcels.html:3
+msgid "Spatial reference"
+msgstr "Raumreferenz"
+
+#: konova/templates/konova/includes/parcels.html:9
+msgid "Kreis"
+msgstr "Kreis"
+
+#: konova/templates/konova/includes/parcels.html:10
+msgid "Gemarkung"
+msgstr "Gemarkung"
+
+#: konova/templates/konova/includes/parcels.html:11
+msgid "Parcel"
+msgstr "Flur"
+
+#: konova/templates/konova/includes/parcels.html:12
+msgid "Parcel counter"
+msgstr "Flurstückzähler"
+
+#: konova/templates/konova/includes/parcels.html:13
+msgid "Parcel number"
+msgstr "Flurstücknenner"
+
#: konova/templates/konova/widgets/generate-content-input.html:6
msgid "Generate new"
msgstr "Neu generieren"
@@ -1726,8 +1750,8 @@ msgid ""
"Action canceled. Eco account is recorded or deductions exist. Only "
"conservation office member can perform this action."
msgstr ""
-"Aktion abgebrochen. Ökokonto ist bereits verzeichnet oder Abbuchungen liegen vor. Nur "
-"Eintragungsstellennutzer können diese Aktion jetzt durchführen."
+"Aktion abgebrochen. Ökokonto ist bereits verzeichnet oder Abbuchungen liegen "
+"vor. Nur Eintragungsstellennutzer können diese Aktion jetzt durchführen."
#: konova/utils/message_templates.py:25
msgid "Edited general data"