diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-06-30 14:04:52 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-06-30 14:04:52 +0200 |
commit | 08b2fd834f068fa30bb6a32d595e9ae564a389bc (patch) | |
tree | 46147e5d07fb8c3d2587c1bc7faf2e0e63e529aa /ishtar/ishtar_base/models.py | |
parent | b5a6644e1ff8a84bab082a0d18cffa321750a97b (diff) | |
download | Ishtar-08b2fd834f068fa30bb6a32d595e9ae564a389bc.tar.bz2 Ishtar-08b2fd834f068fa30bb6a32d595e9ae564a389bc.zip |
Manage many to one treatment (refs #499)
Diffstat (limited to 'ishtar/ishtar_base/models.py')
-rw-r--r-- | ishtar/ishtar_base/models.py | 17 |
1 files changed, 14 insertions, 3 deletions
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') |