summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/models.py')
-rw-r--r--ishtar/furnitures/models.py34
1 files changed, 27 insertions, 7 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py
index ac14857ee..e08785c0a 100644
--- a/ishtar/furnitures/models.py
+++ b/ishtar/furnitures/models.py
@@ -258,19 +258,35 @@ class MaterialType(GeneralType):
verbose_name = _(u"Material type")
verbose_name_plural = _(u"Material types")
-class Item(models.Model):
+class BaseItem(models.Model):
label = models.CharField(_(u"Label"), max_length=60)
description = models.TextField(_(u"Description"))
registration_unit = models.ForeignKey(RegistrationUnit,
verbose_name=_(u"Registration Unit"))
+ is_isolated = models.BooleanField(_(u"Is isolated?"))
+ documentations = models.ManyToManyField(Source)
+
+ class Meta:
+ verbose_name = _(u"Base item")
+ verbose_name_plural = _(u"Base items")
+
+ def __unicode__(self):
+ return self.label
+
+class Item(models.Model):
+ base_items = models.ManyToManyField(BaseItem, verbose_name=_(u"Base item"))
+ order = models.IntegerField(_(u"Order"))
+ label = models.CharField(_(u"Label"), max_length=60)
+ description = models.TextField(_(u"Description"))
material_type = models.ForeignKey(MaterialType,
verbose_name = _(u"Material type"))
- is_isolated = models.BooleanField(_(u"Is isolated?"))
volume = models.FloatField(_(u"Volume"))
weight = models.IntegerField(_(u"Weight"))
item_number = models.IntegerField(_("Item number"))
- documentations = models.ManyToManyField(Source)
- treatments = models.ManyToManyField("Treatment")
+ upstream_treatment = models.ForeignKey("Treatment",
+ related_name='downstream_treatment', verbose_name=_("Upstream treatment"))
+ downstream_treatment = models.ForeignKey("Treatment",
+ related_name='upstream_treatment', verbose_name=_("Downstream treatment"))
dating = models.ForeignKey(Dating, verbose_name=_(u"Dating"))
class Meta:
@@ -388,11 +404,15 @@ class Town(models.Model):
def __unicode__(self):
return self.name
+class TreatmentType(GeneralType):
+ class Meta:
+ verbose_name = _(u"Treatment type")
+ verbose_name_plural = _(u"Treatment types")
+
class Treatment(models.Model):
container = models.ForeignKey(Container, verbose_name=_(u"Container"))
- order = models.IntegerField(_(u"Order"))
- resulting_items = models.ManyToManyField(Item,
- verbose_name=_(u"Resulting items"))
+ treatment_type = models.ForeignKey(TreatmentType,
+ verbose_name=_(u"Treatment type"))
class Meta:
verbose_name = _(u"Treatment")