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, 11 insertions, 9 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index b9a2e0863..4be807478 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -90,10 +90,10 @@ post_delete.connect(post_save_cache, sender=ReportState)
class ArchaeologicalSite(BaseHistorizedItem):
SHOW_URL = 'show-site'
- TABLE_COLS = ['reference', 'name', 'periods', 'remains']
+ TABLE_COLS = ['reference', 'name', 'towns', 'periods', 'remains']
SLUG = 'site'
BASE_SEARCH_VECTORS = ["reference", "name"]
- M2M_SEARCH_VECTORS = ["periods__name", "remains__name"]
+ M2M_SEARCH_VECTORS = ["periods__name", "remains__name", "towns__name"]
PARENT_SEARCH_VECTORS = ['operations']
reference = models.CharField(_(u"Reference"), max_length=200, unique=True)
name = models.CharField(_(u"Name"), max_length=200,
@@ -102,6 +102,8 @@ class ArchaeologicalSite(BaseHistorizedItem):
blank=True)
remains = models.ManyToManyField("RemainType", verbose_name=_(u'Remains'),
blank=True)
+ towns = models.ManyToManyField(Town, verbose_name=_(u"Towns"),
+ related_name='sites', blank=True)
class Meta:
verbose_name = _(u"Archaeological site")
@@ -123,13 +125,13 @@ class ArchaeologicalSite(BaseHistorizedItem):
name = self.reference
if self.name:
name += u" %s %s" % (settings.JOINT, self.name)
- if self.remains.count():
- name += u" {} {}".format(
- settings.JOINT,
- u", ".join([unicode(remain) for remain in self.remains.all()]))
- if self.periods.count():
- name += u" [{}]".format(
- u", ".join([unicode(period) for period in self.periods.all()]))
+ keys = [('towns', u" - {}"), ('remains', u" - {}"),
+ ('periods', u" [{}]")]
+ for k, lbl in keys:
+ if getattr(self, k).count():
+ name += lbl.format(u", ".join([
+ unicode(v) for v in getattr(self, k).all()
+ ]))
return name
@property