diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-12-19 19:55:31 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-12-19 19:55:31 +0100 |
commit | 04e0cfc51eb2dcfad18f9f0b36e324e67bc61e7f (patch) | |
tree | c088c135848c22dabe00e0da09a91c94e8d8bbaf | |
parent | 04538afd95d91bf7829bf24a2d8f9fb023f6b18d (diff) | |
download | Ishtar-04e0cfc51eb2dcfad18f9f0b36e324e67bc61e7f.tar.bz2 Ishtar-04e0cfc51eb2dcfad18f9f0b36e324e67bc61e7f.zip |
Improve file and admin act (file) searches (refs #1533)
-rw-r--r-- | archaeological_files/forms.py | 37 | ||||
-rw-r--r-- | archaeological_files/views.py | 33 |
2 files changed, 54 insertions, 16 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index bf05c996d..b97ca9f15 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -46,13 +46,40 @@ from ishtar_common import widgets class FileSelect(TableSelect): towns = get_town_field() - in_charge = get_person_field(label=_(u"Person in charge"), - person_types=['sra_agent']) + name = forms.CharField(label=_(u"File name"), max_length=200) file_type = forms.ChoiceField(label=_("File type"), choices=[]) saisine_type = forms.ChoiceField(label=_("Saisine type"), choices=[]) - year = forms.IntegerField(label=_("Year")) parcel = ParcelField(label=_("Parcel (section/number)")) end_date = forms.NullBooleanField(label=_(u"Is active?"), initial=True) + general_contractor = forms.IntegerField( + label=_(u"General contractor"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-person', + args=[PersonType.objects.get(txt_idx='general_contractor').pk]), + associated_model=Person), + validators=[valid_id(Person)]) + general_contractor__attached_to = forms.IntegerField( + label=_(u"Organization of general contractor"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-organization', + args=[OrganizationType.objects.get( + txt_idx='general_contractor').pk]), + associated_model=Organization), + validators=[valid_id(Organization)]) + numeric_reference = forms.IntegerField( + label=_("Numeric reference")) + year = forms.IntegerField(label=_("Year")) + internal_reference = forms.CharField(max_length=200, + label=_("Other reference")) + in_charge = forms.IntegerField( + label=_(u"In charge"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-person', + args=[PersonType.objects.get(txt_idx='sra_agent').pk]), + associated_model=Person), + validators=[valid_id(Person)]) + permit_reference = forms.CharField(max_length=200, + label=_("Permit reference")) def __init__(self, *args, **kwargs): super(FileSelect, self).__init__(*args, **kwargs) @@ -226,6 +253,8 @@ class AdministrativeActFileSelect(TableSelect): widget=widgets.JQueryDate) signature_date_before = forms.DateField(label=_(u"Signature date before"), widget=widgets.JQueryDate) + associated_file__name = forms.CharField(label=_(u"File name"), + max_length=200) associated_file__general_contractor = forms.IntegerField( label=_(u"General contractor"), widget=widgets.JQueryAutoComplete( @@ -253,6 +282,8 @@ class AdministrativeActFileSelect(TableSelect): args=[PersonType.objects.get(txt_idx='sra_agent').pk]), associated_model=Person), validators=[valid_id(Person)]) + associated_file__permit_reference = forms.CharField(max_length=200, + label=_("Permit reference")) def __init__(self, *args, **kwargs): super(AdministrativeActFileSelect, self).__init__(*args, **kwargs) diff --git a/archaeological_files/views.py b/archaeological_files/views.py index 9a866c311..ae4c70f61 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -66,13 +66,16 @@ def autocomplete_file(request): get_file = get_item(models.File, 'get_file', 'file', bool_fields = ['end_date__isnull'], - extra_request_keys={'parcel_0':('parcels__section', - 'operations__parcels__section'), - 'parcel_1':('parcels__parcel_number', - 'operations__parcels__parcel_number'), - 'end_date':'end_date__isnull', - }, - ) + associated_models = [(Person, 'associated_file__general_contractor')], + extra_request_keys={ + 'parcel_0':('parcels__section', + 'operations__parcels__section'), + 'parcel_1':('parcels__parcel_number', + 'operations__parcels__parcel_number'), + 'end_date':'end_date__isnull', + 'name':'name__icontains', + 'permit_reference':'permit_reference__icontains' + },) show_file = show_item(models.File, 'file') revert_file = revert_item(models.File) @@ -81,12 +84,16 @@ get_administrativeactfile = get_item(AdministrativeAct, associated_models = [(models.File, 'associated_file'), (Person, 'associated_file__general_contractor')], dated_fields = ['signature_date__lte', 'signature_date__gte'], - extra_request_keys={'associated_file__towns':'associated_file__towns__pk', - 'operation__towns':'operation__towns__pk', - 'act_type__intented_to':'act_type__intented_to', - 'signature_date_before':'signature_date__lte', - 'signature_date_after':'signature_date__gte', - }) + extra_request_keys={ + 'associated_file__towns':'associated_file__towns__pk', + 'operation__towns':'operation__towns__pk', + 'act_type__intented_to':'act_type__intented_to', + 'signature_date_before':'signature_date__lte', + 'signature_date_after':'signature_date__gte', + 'associated_file__name':'associated_file__name__icontains', + 'associated_file__permit_reference':\ + 'associated_file__permit_reference__icontains' + }) def dashboard_file(request, *args, **kwargs): """ |