From d66686f332337211929ddb505eeab8eff42cd4e4 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 30 Jun 2011 14:04:52 +0200 Subject: Manage many to one treatment (refs #499) --- ishtar/ishtar_base/models.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'ishtar/ishtar_base/models.py') diff --git a/ishtar/ishtar_base/models.py b/ishtar/ishtar_base/models.py index 0f3cb8a8b..37af19f87 100644 --- a/ishtar/ishtar_base/models.py +++ b/ishtar/ishtar_base/models.py @@ -66,6 +66,17 @@ def valid_id(cls): raise ValidationError(_(u"Not a valid item.")) return func +def valid_ids(cls): + def func(value): + if "," in value: + value = value.split(",") + for v in value: + try: + cls.objects.get(pk=v) + except ObjectDoesNotExist: + raise ValidationError(_(u"Not a valid item.")) + return func + # unique validator for models def is_unique(cls, field): def func(value): @@ -945,13 +956,13 @@ class BaseItem(BaseHistorizedItem, OwnPerms): self.context_record.label, self.label)]) class Item(BaseHistorizedItem, OwnPerms): - TABLE_COLS = ['base_items.context_record.parcel.town', + TABLE_COLS = ['label', 'material_type', 'dating.period', + 'base_items.context_record.parcel.town', 'base_items.context_record.parcel.operation.year', 'base_items.context_record.parcel.operation.operation_code', - 'label', 'material_type', 'dating.period', 'base_items.is_isolated'] if settings.COUNTRY == 'fr': - TABLE_COLS.insert(1, + TABLE_COLS.insert(6, 'base_items.context_record.parcel.operation.code_patriarche') base_items = models.ManyToManyField(BaseItem, verbose_name=_(u"Base item"), related_name='item') -- cgit v1.2.3