diff options
Diffstat (limited to 'archaeological_operations/models.py')
| -rw-r--r-- | archaeological_operations/models.py | 20 | 
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 | 
