diff options
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 |
commit | 8f8e446022e9dd508572c92ed5244397e2225087 (patch) | |
tree | 30eacfb929844256a5beca6c5ab58eb3e36d759e /archaeological_warehouse/models.py | |
parent | 5836947ae64f178e87339045d80788c344924d02 (diff) | |
download | Ishtar-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.py | 23 |
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): |