summaryrefslogtreecommitdiff
path: root/archaeological_operations/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r--archaeological_operations/models.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 050e50240..4747fbf9e 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -75,6 +75,7 @@ from ishtar_common.model_managers import UUIDModelManager
from ishtar_common.utils import (
cached_label_changed,
force_cached_label_changed,
+ human_date,
mode,
m2m_historization_changed,
post_save_geo,
@@ -732,6 +733,14 @@ def get_values_town_related(item, prefix, values, filtr=None):
class ClosedItem(object):
+ def serialize_closing(self):
+ value = self.closing()
+ if not value:
+ return ""
+ value["date"] = human_date(value["date"])
+ value["user"] = str(value["user"])
+ return value
+
def closing(self):
if self.is_active():
return
@@ -1120,6 +1129,11 @@ class Operation(
"towns",
"periods",
]
+ SERIALIZE_PROPERTIES = MainItem.SERIALIZE_PROPERTIES + ["short_label"]
+ SERIALIZE_DATES = ["start_date", "excavation_end_date"]
+ SERIALIZE_CALL = {"closing": "serialize_closing",
+ "archaeological_sites_list": "archaeological_sites_list",
+ "documents_list": "documents_list"}
# fields definition
uuid = models.UUIDField(default=uuid.uuid4)
@@ -1460,6 +1474,10 @@ class Operation(
)
return dct
+ def archaeological_sites_list(self) -> list:
+ return self.get_associated_main_item_list("archaeological_sites",
+ ArchaeologicalSite)
+
@classmethod
def _get_department_code(cls, value):
if not settings.ISHTAR_DPTS:
@@ -1499,7 +1517,7 @@ class Operation(
return [town.label_with_areas for town in self.towns.all()]
def towns_label(self):
- return " - ".join(self.towns_codes())
+ return " ; ".join(self.towns_codes())
def has_finds(self):
from archaeological_finds.models import BaseFind