summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-08-16 15:05:43 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-08-16 15:05:43 +0200
commitcc6442c51c3373a9233e81cb9a151502a86ed53d (patch)
tree48a3b167a477189f5cbcaf170158df416f24ca61 /archaeological_operations
parent162405c1d1b3ca112ae71b3cc93d3689b9e89822 (diff)
downloadIshtar-cc6442c51c3373a9233e81cb9a151502a86ed53d.tar.bz2
Ishtar-cc6442c51c3373a9233e81cb9a151502a86ed53d.zip
Manage properties in search vectors - add short code for operation (refs #4027)
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/models.py18
-rw-r--r--archaeological_operations/tests.py11
2 files changed, 26 insertions, 3 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index 9d6264a4d..435394592 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -446,6 +446,9 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
"scientific_documentation_comment",
"seizure_name",
]
+ PROPERTY_SEARCH_VECTORS = [
+ "full_reference", "short_code_patriarche"
+ ]
INT_SEARCH_VECTORS = ["year"]
M2M_SEARCH_VECTORS = ["periods__label", "remains__label", "towns__name"]
PARENT_SEARCH_VECTORS = ["associated_file"]
@@ -846,10 +849,25 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
return ref or "00"
@property
+ def short_code_patriarche(self):
+ if not self.code_patriarche:
+ return u""
+ profile = get_current_profile()
+ if not profile.operation_region_code or \
+ not self.code_patriarche.startswith(
+ profile.operation_region_code):
+ return self.code_patriarche
+ return self.code_patriarche[len(profile.operation_region_code):]
+
+ @property
def reference(self):
return self.get_reference()
@property
+ def full_reference(self):
+ return self.get_reference(full=True)
+
+ @property
def report_delivery_delay(self):
return None
# q = self.source.filter(source_type__txt_idx__endswith='_report')
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index a3cd5fd8d..a396adecf 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -1050,10 +1050,15 @@ class OperationTest(TestCase, OperationInitTest):
operation.towns.add(town)
operation = models.Operation.objects.get(pk=operation.pk)
operation.comment = u"Zardoz"
- operation.code_patriarche = u"HUIAAA5"
+ profile = get_current_profile()
+ profile.operation_region_code = u"42"
+ profile.save()
+ operation.code_patriarche = u"42HUIAAA5"
operation.save()
- for key in ('old', 'dirty', 'daisy', "'2010'", "zardoz",
- "huiaaa5"):
+ for key in (
+ 'old', 'dirty', 'daisy', "'2010'", "zardoz", "huiaaa5",
+ "{}42huiaaa5".format(profile.operation_prefix.lower()),
+ "42huiaaa5"):
self.assertIn(key, operation.search_vector)
def test_cache_bulk_update(self):