summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit04e0cfc51eb2dcfad18f9f0b36e324e67bc61e7f (patch)
treec088c135848c22dabe00e0da09a91c94e8d8bbaf
parent04538afd95d91bf7829bf24a2d8f9fb023f6b18d (diff)
downloadIshtar-04e0cfc51eb2dcfad18f9f0b36e324e67bc61e7f.tar.bz2
Ishtar-04e0cfc51eb2dcfad18f9f0b36e324e67bc61e7f.zip
Improve file and admin act (file) searches (refs #1533)
-rw-r--r--archaeological_files/forms.py37
-rw-r--r--archaeological_files/views.py33
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):
"""