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 | ecdea8b34ba6047147a449623737dcd2c0aee376 (patch) | |
| tree | e8767720105986ada8de3a12b8fd33ebf36ffb90 /archaeological_warehouse/forms.py | |
| parent | 8f8e446022e9dd508572c92ed5244397e2225087 (diff) | |
| download | Ishtar-ecdea8b34ba6047147a449623737dcd2c0aee376.tar.bz2 Ishtar-ecdea8b34ba6047147a449623737dcd2c0aee376.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)  | 
