diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-12-13 19:03:20 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-12-13 19:03:20 +0100 |
commit | 0130ceb6b42e270832ee765e72b822c779eaf039 (patch) | |
tree | 84a805c788dddaecb2ea1aa78a08260532f4c002 /archaeological_warehouse/forms.py | |
parent | 047fb6e027a008cd29305bc061922d6750fa7c62 (diff) | |
download | Ishtar-0130ceb6b42e270832ee765e72b822c779eaf039.tar.bz2 Ishtar-0130ceb6b42e270832ee765e72b822c779eaf039.zip |
Warehouse: basic add / modify wizard
Diffstat (limited to 'archaeological_warehouse/forms.py')
-rw-r--r-- | archaeological_warehouse/forms.py | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index b34be3ab3..f73dac22e 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -39,7 +39,36 @@ def get_warehouse_field(label=_(u"Warehouse"), required=True): validators=[valid_id(models.Warehouse)]) +class WarehouseSelect(TableSelect): + name = forms.CharField(label=_(u"Name")) + warehouse_type = forms.ChoiceField(label=_(u"Warehouse type"), choices=[]) + towns = forms.CharField(label=_(u"Town")) + + def __init__(self, *args, **kwargs): + super(WarehouseSelect, self).__init__(*args, **kwargs) + self.fields['warehouse_type'].choices = \ + models.WarehouseType.get_types() + self.fields['warehouse_type'].help_text = \ + models.WarehouseType.get_help() + + +class WarehouseFormSelection(forms.Form): + form_label = _("Warehouse search") + associated_models = {'pk': models.Warehouse} + currents = {'pk': models.Warehouse} + pk = forms.IntegerField( + label="", required=False, + widget=widgets.JQueryJqGrid( + reverse_lazy('get-warehouse'), + WarehouseSelect, models.Warehouse), + validators=[valid_id(models.Warehouse)]) + + class WarehouseForm(ManageOldType, forms.Form): + form_label = _(u"Warehouse") + associated_models = {'warehouse_type': models.WarehouseType, + 'person_in_charge': Person} + name = forms.CharField(label=_(u"Name"), max_length=40, validators=[name_validator]) warehouse_type = forms.ChoiceField(label=_(u"Warehouse type"), @@ -48,8 +77,8 @@ class WarehouseForm(ManageOldType, forms.Form): label=_(u"Person in charge"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-person'), - associated_model=models.Person), - validators=[valid_id(models.Person)], + associated_model=Person), + validators=[valid_id(Person)], required=False) comment = forms.CharField(label=_(u"Comment"), widget=forms.Textarea, required=False) @@ -63,7 +92,7 @@ class WarehouseForm(ManageOldType, forms.Form): country = forms.CharField(label=_(u"Country"), max_length=30, required=False) phone = forms.CharField(label=_(u"Phone"), max_length=18, required=False) - mobile_phone = forms.CharField(label=_(u"Town"), max_length=18, + mobile_phone = forms.CharField(label=_(u"Mobile phone"), max_length=18, required=False) def __init__(self, *args, **kwargs): |