summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-14 18:35:10 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-14 18:35:10 +0100
commitecdea8b34ba6047147a449623737dcd2c0aee376 (patch)
treee8767720105986ada8de3a12b8fd33ebf36ffb90 /archaeological_warehouse/forms.py
parent8f8e446022e9dd508572c92ed5244397e2225087 (diff)
downloadIshtar-ecdea8b34ba6047147a449623737dcd2c0aee376.tar.bz2
Ishtar-ecdea8b34ba6047147a449623737dcd2c0aee376.zip
Manage container localisation
Diffstat (limited to 'archaeological_warehouse/forms.py')
-rw-r--r--archaeological_warehouse/forms.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index 2e243b092..8e0328880 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -218,3 +218,22 @@ class BasePackagingForm(SelectFindBasketForm):
class FindPackagingFormSelection(FindMultipleFormSelection):
form_label = _(u"Packaged finds")
+
+
+class LocalisationForm(forms.Form):
+ form_label = _(u"Localisation")
+
+ def __init__(self, *args, **kwargs):
+ container = kwargs.pop('container')
+ super(LocalisationForm, self).__init__(*args, **kwargs)
+ if not container:
+ return
+ for divlink in container.location.warehousedivisionlink_set.order_by(
+ 'order').all():
+ initial = None
+ q = models.ContainerLocalisation.objects.filter(
+ division=divlink, container=container)
+ if q.count():
+ initial = q.all()[0].reference
+ self.fields['division_{}'.format(divlink.pk)] = forms.CharField(
+ label=str(divlink.division), max_length=200, initial=initial)