summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-13 23:54:02 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-13 23:54:56 +0100
commit8f8e446022e9dd508572c92ed5244397e2225087 (patch)
tree30eacfb929844256a5beca6c5ab58eb3e36d759e /archaeological_warehouse/models.py
parent5836947ae64f178e87339045d80788c344924d02 (diff)
downloadIshtar-8f8e446022e9dd508572c92ed5244397e2225087.tar.bz2
Ishtar-8f8e446022e9dd508572c92ed5244397e2225087.zip
Manage warehouse forms. Add warehouse division management
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r--archaeological_warehouse/models.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index 579c448ae..7d37bd664 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -42,6 +42,10 @@ class Warehouse(Address, OwnPerms):
Person, on_delete=models.SET_NULL, related_name='warehouse_in_charge',
verbose_name=_(u"Person in charge"), null=True, blank=True)
comment = models.TextField(_(u"Comment"), null=True, blank=True)
+ associated_divisions = models.ManyToManyField(
+ 'WarehouseDivision', verbose_name=_("Divisions"), blank=True,
+ through='WarehouseDivisionLink'
+ )
TABLE_COLS = ['name', 'warehouse_type']
@@ -60,18 +64,21 @@ class Warehouse(Address, OwnPerms):
return u"%s (%s)" % (self.name, unicode(self.warehouse_type))
-class WarehouseDivision(models.Model):
- name = models.CharField(_(u"Name"), max_length=200)
- order = models.IntegerField(_(u"Order"), default=1)
- warehouse = models.ForeignKey(Warehouse, verbose_name=_(u"Warehouse"),
- related_name='divisions')
-
+class WarehouseDivision(GeneralType):
class Meta:
verbose_name = _(u"Warehouse division")
verbose_name_plural = _(u"Warehouse divisions")
- def __unicode__(self):
- return u"%s (%s)" % (self.name, unicode(self.warehouse))
+
+class WarehouseDivisionLink(models.Model):
+ RELATIVE_MODELS = {Warehouse: 'warehouse'}
+ warehouse = models.ForeignKey(Warehouse)
+ division = models.ForeignKey(WarehouseDivision)
+ order = models.IntegerField(_("Order"), default=10)
+
+ class Meta:
+ ordering = ('warehouse', 'order')
+ unique_together = ('warehouse', 'division')
class ContainerType(GeneralType):