summaryrefslogtreecommitdiff
path: root/archaeological_finds/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/models.py')
-rw-r--r--archaeological_finds/models.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py
index 0006c29a7..3e623e5ac 100644
--- a/archaeological_finds/models.py
+++ b/archaeological_finds/models.py
@@ -69,6 +69,13 @@ class PreservationType(GeneralType):
ordering = ('label',)
+class IntegrityType(GeneralType):
+ class Meta:
+ verbose_name = _(u"Integrity type")
+ verbose_name_plural = _(u"Integrity type")
+ ordering = ('label',)
+
+
class ObjectType(GeneralType):
parent = models.ForeignKey("ObjectType", blank=True, null=True,
verbose_name=_(u"Parent"))
@@ -89,8 +96,15 @@ class ObjectType(GeneralType):
def __unicode__(self):
return self.label
+IS_ISOLATED_CHOICES = (
+ ('U', _(u"Unknow")),
+ ('O', _(u"Object")),
+ ('B', _(u"Batch"))
+)
+
class BaseFind(BaseHistorizedItem, OwnPerms):
+ IS_ISOLATED_DICT = dict(IS_ISOLATED_CHOICES)
label = models.CharField(_(u"Free-ID"), max_length=60)
external_id = models.CharField(_(u"External ID"), blank=True, null=True,
max_length=120)
@@ -105,8 +119,8 @@ class BaseFind(BaseHistorizedItem, OwnPerms):
verbose_name=_(u"Context Record"))
discovery_date = models.DateField(_(u"Discovery date"),
blank=True, null=True)
- is_isolated = models.NullBooleanField(_(u"Is isolated?"), blank=True,
- null=True)
+ batch = models.CharField(_(u"Batch/object"), max_length=1, default="U",
+ choices=IS_ISOLATED_CHOICES)
index = models.IntegerField(u"Index", default=0)
material_index = models.IntegerField(u"Material index", default=0)
cache_short_id = models.TextField(
@@ -237,7 +251,7 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
'base_finds.context_record.operation.year',
'base_finds.context_record.operation.operation_code',
'container.reference', 'container.location',
- 'base_finds.is_isolated']
+ 'base_finds.batch']
if settings.COUNTRY == 'fr':
TABLE_COLS.insert(
6, 'base_finds.context_record.operation.code_patriarche')
@@ -276,9 +290,9 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
conservatory_state = models.ForeignKey(
ConservatoryState, verbose_name=_(u"Conservatory state"), blank=True,
null=True)
- preservation_to_consider = models.ForeignKey(
+ preservation_to_considers = models.ManyToManyField(
PreservationType, verbose_name=_(u"Type of preservation to consider"),
- blank=True, null=True)
+ related_name='finds')
volume = models.FloatField(_(u"Volume (l)"), blank=True, null=True)
weight = models.FloatField(_(u"Weight (g)"), blank=True, null=True)
weight_unit = models.CharField(_(u"Weight unit"), max_length=4,
@@ -301,6 +315,8 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):
null=True)
object_types = models.ManyToManyField(
ObjectType, verbose_name=_(u"Object types"), related_name='find')
+ integrities = models.ManyToManyField(
+ IntegrityType, verbose_name=_(u"Integrity"), related_name='find')
length = models.FloatField(_(u"Length (cm)"), blank=True, null=True)
width = models.FloatField(_(u"Width (cm)"), blank=True, null=True)
height = models.FloatField(_(u"Height (cm)"), blank=True, null=True)