summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/forms.py')
-rw-r--r--archaeological_warehouse/forms.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index f73dac22e..2e243b092 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -19,6 +19,7 @@
from django import forms
from django.conf import settings
+from django.forms.formsets import formset_factory
from django.utils.translation import ugettext_lazy as _
from ishtar_common.models import Person, valid_id
@@ -39,6 +40,28 @@ def get_warehouse_field(label=_(u"Warehouse"), required=True):
validators=[valid_id(models.Warehouse)])
+class SelectedDivisionForm(ManageOldType, forms.Form):
+ form_label = _(u"Division")
+ base_model = 'associated_division'
+ associated_models = {'division': models.WarehouseDivision,
+ 'associated_division': models.WarehouseDivisionLink}
+ division = forms.ChoiceField(
+ label=_(u"Division"), choices=(), required=False,
+ validators=[valid_id(models.WarehouseDivision)])
+ order = forms.IntegerField(_(u"Order"), initial=10, required=False)
+
+ def __init__(self, *args, **kwargs):
+ super(SelectedDivisionForm, self).__init__(*args, **kwargs)
+ self.fields['division'].choices = \
+ models.WarehouseDivision.get_types(
+ initial=self.init_data.get('division')
+ )
+
+SelectedDivisionFormset = formset_factory(
+ SelectedDivisionForm, can_delete=True)
+SelectedDivisionFormset.form_label = _(u"Divisions")
+
+
class WarehouseSelect(TableSelect):
name = forms.CharField(label=_(u"Name"))
warehouse_type = forms.ChoiceField(label=_(u"Warehouse type"), choices=[])