diff options
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 |
commit | 3d170f7faec2937688d785cf8aa313e3f053362a (patch) | |
tree | e8767720105986ada8de3a12b8fd33ebf36ffb90 /archaeological_warehouse/forms.py | |
parent | 417a78af5d21cf9da407932475c69dbdd3a49a55 (diff) | |
download | Ishtar-3d170f7faec2937688d785cf8aa313e3f053362a.tar.bz2 Ishtar-3d170f7faec2937688d785cf8aa313e3f053362a.zip |
Manage container localisation
Diffstat (limited to 'archaeological_warehouse/forms.py')
-rw-r--r-- | archaeological_warehouse/forms.py | 19 |
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) |