diff options
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): | 
