diff options
Diffstat (limited to 'archaeological_finds/forms.py')
| -rw-r--r-- | archaeological_finds/forms.py | 60 | 
1 files changed, 44 insertions, 16 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 1e45ca4b3..09d23a3bc 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -77,7 +77,8 @@ __all__ = [      'SourceTreatmentFileFormSelection', 'TreatmentSourceFormSelection',      'TreatmentFileSourceFormSelection',      'RecordFormSelection', 'FindForm', 'DateForm', 'DatingFormSet', -    'FindSelect', 'FindFormSelection', 'MultipleFindFormSelection', +    'FindSelect', 'FindFormSelection', 'FindFormSelectionWarehouseModule', +    'MultipleFindFormSelection', 'MultipleFindFormSelectionWarehouseModule',      'FindMultipleFormSelection', 'check_form', 'check_exist', 'check_not_exist',      'check_value', 'check_type_field', 'check_type_not_field',      'check_treatment', 'ResultFindForm', 'ResultFindFormSet', @@ -350,19 +351,6 @@ class FindSelect(TableSelect):          label=_(u"Search within related operations"), choices=[],          widget=widgets.CheckboxSelectMultiple)      datings__period = forms.ChoiceField(label=_(u"Period"), choices=[]) -    # TODO search by warehouse -    container__location = forms.IntegerField( -        label=_(u"Warehouse (location)"), -        widget=widgets.JQueryAutoComplete( -            reverse_lazy('autocomplete-warehouse'), -            associated_model=Warehouse), -        validators=[valid_id(Warehouse)]) -    container__responsible = forms.IntegerField( -        label=_(u"Warehouse (responsible)"), -        widget=widgets.JQueryAutoComplete( -            reverse_lazy('autocomplete-warehouse'), -            associated_model=Warehouse), -        validators=[valid_id(Warehouse)])      material_types = forms.ChoiceField(label=_(u"Material type"), choices=[])      object_types = forms.ChoiceField(label=_(u"Object type"), choices=[])      preservation_to_considers = forms.ChoiceField( @@ -424,6 +412,23 @@ class FindSelect(TableSelect):          return ids +class FindSelectWarehouseModule(FindSelect): +    container__location = forms.IntegerField( +        label=_(u"Warehouse (location)"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-warehouse'), +            associated_model=Warehouse), +        validators=[valid_id(Warehouse)]) +    container__responsible = forms.IntegerField( +        label=_(u"Warehouse (responsible)"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-warehouse'), +            associated_model=Warehouse), +        validators=[valid_id(Warehouse)]) +    container__index = forms.IntegerField(label=_(u"Container ID")) +    container__reference = forms.IntegerField(label=_(u"Container ref.")) + +  class FindFormSelection(forms.Form):      form_label = _("Find search")      associated_models = {'pk': models.Find} @@ -437,6 +442,16 @@ class FindFormSelection(forms.Form):          validators=[valid_id(models.Find)]) +class FindFormSelectionWarehouseModule(FindFormSelection): +    pk = forms.IntegerField( +        label="", required=False, +        widget=widgets.JQueryJqGrid( +            reverse_lazy('get-find'), +            FindSelectWarehouseModule, models.Find, +            source_full=reverse_lazy('get-find-full')), +        validators=[valid_id(models.Find)]) + +  class MultipleFindFormSelection(forms.Form):      form_label = _("Find search")      associated_models = {'pk': models.Find} @@ -451,15 +466,28 @@ class MultipleFindFormSelection(forms.Form):          validators=[valid_id(models.Find)]) +class MultipleFindFormSelectionWarehouseModule(MultipleFindFormSelection): +    pk = forms.IntegerField( +        label="", required=False, +        widget=widgets.JQueryJqGrid( +            reverse_lazy('get-find'), +            FindSelectWarehouseModule, models.Find, +            multiple_select=True, +            source_full=reverse_lazy('get-find-full')), +        validators=[valid_id(models.Find)]) + +  class FindMultipleFormSelection(forms.Form):      form_label = _(u"Upstream finds")      associated_models = {'finds': models.Find}      associated_labels = {'finds': _(u"Finds")} +    # using FindSelectWarehouseModule because this form is only used with +    # the warehouse module activated      finds = forms.CharField(          label="", required=False,          widget=widgets.JQueryJqGrid( -            reverse_lazy('get-find'), FindSelect, models.Find, multiple=True, -            multiple_cols=[2, 3, 4]), +            reverse_lazy('get-find'), FindSelectWarehouseModule, models.Find, +            multiple=True, multiple_cols=[2, 3, 4]),          validators=[valid_ids(models.Find)])      def clean(self): | 
