diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-02-04 00:44:07 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-02-04 00:44:07 +0100 |
commit | 97bced1ce779b120dcb0ad4056bf3c2a7b46f0c4 (patch) | |
tree | 01c7b4963a204d10e724f436babfa4e5383ac64a | |
parent | 4509e950fbe35e6f529c4469dfc7802686fce28e (diff) | |
download | Ishtar-97bced1ce779b120dcb0ad4056bf3c2a7b46f0c4.tar.bz2 Ishtar-97bced1ce779b120dcb0ad4056bf3c2a7b46f0c4.zip |
Reorganize searches for operations, files, administrativ acts
-rw-r--r-- | archaeological_files/forms.py | 75 | ||||
-rw-r--r-- | archaeological_files/views.py | 17 | ||||
-rw-r--r-- | archaeological_operations/forms.py | 99 | ||||
-rw-r--r-- | archaeological_operations/views.py | 78 | ||||
-rw-r--r-- | ishtar_common/views.py | 1 |
5 files changed, 178 insertions, 92 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index 42b3f6b6f..8b3513438 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -53,14 +53,25 @@ class FileSelect(TableSelect): internal_reference = forms.CharField(max_length=200, label=_("Other reference")) towns = get_town_field() + parcel = ParcelField(label=_("Parcel (section/number)")) if settings.ISHTAR_DPTS: towns__numero_insee__startswith = forms.ChoiceField( label="Department", choices=[]) 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=[]) - parcel = ParcelField(label=_("Parcel (section/number)")) end_date = forms.NullBooleanField(label=_(u"Is active?")) + saisine_type = forms.ChoiceField(label=_("Saisine type"), choices=[]) + permit_type = forms.ChoiceField(label=_("Permit type"), choices=[]) + permit_reference = forms.CharField(max_length=200, + label=_("Permit reference")) + comment = forms.CharField(label=_(u"Comment"), max_length=500) + in_charge = forms.IntegerField( + label=_(u"In charge"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-person', + args=[SRA_AGENT.pk]), + associated_model=Person), + validators=[valid_id(Person)]) general_contractor = forms.IntegerField( label=_(u"General contractor"), widget=widgets.JQueryAutoComplete( @@ -75,27 +86,27 @@ class FileSelect(TableSelect): args=[GENERAL_CONTRACTOR_ORGA.pk]), associated_model=Organization), validators=[valid_id(Organization)]) - in_charge = forms.IntegerField( - label=_(u"In charge"), + history_creator = forms.IntegerField( + label=_(u"Created by"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-person', - args=[SRA_AGENT.pk]), + args=['0', 'user']), associated_model=Person), validators=[valid_id(Person)]) - history_creator = forms.IntegerField( - label=_(u"Created by"), + history_modifier = forms.IntegerField( + label=_(u"Modified by"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-person', args=['0', 'user']), 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) self.fields['saisine_type'].choices = models.SaisineType.get_types() self.fields['saisine_type'].help_text = models.SaisineType.get_help() + self.fields['permit_type'].choices = models.PermitType.get_types() + self.fields['permit_type'].help_text = models.PermitType.get_help() self.fields['file_type'].choices = models.FileType.get_types() self.fields['file_type'].help_text = models.FileType.get_help() if settings.ISHTAR_DPTS: @@ -407,8 +418,21 @@ class AdministrativeActFileModifySelect(TableSelect): class AdministrativeActFileSelect(TableSelect): - associated_file__towns = get_town_field() + year = forms.IntegerField(label=_("Year")) + index = forms.IntegerField(label=_("Index")) + if settings.COUNTRY == 'fr': + ref_sra = forms.CharField(label=u"Autre référence", + max_length=15) act_type = forms.ChoiceField(label=_("Act type"), choices=[]) + indexed = forms.NullBooleanField(label=_(u"Indexed?")) + associated_file__towns = get_town_field() + parcel = ParcelField(label=_("Parcel (section/number)")) + if settings.ISHTAR_DPTS: + associated_file__towns__numero_insee__startswith = forms.ChoiceField( + label=_(u"Department"), choices=[]) + act_object = forms.CharField(label=_(u"Object"), + max_length=300) + signature_date_after = forms.DateField( label=_(u"Signature date after"), widget=widgets.JQueryDate) signature_date_before = forms.DateField( @@ -433,12 +457,12 @@ class AdministrativeActFileSelect(TableSelect): associated_model=Organization), validators=[valid_id(Organization)]) associated_file__numeric_reference = forms.IntegerField( - label=_("Numeric reference")) - associated_file__year = forms.IntegerField(label=_("Year")) + label=_("File numeric reference")) + associated_file__year = forms.IntegerField(label=_("File year")) associated_file__internal_reference = forms.CharField( - max_length=200, label=_("Other reference")) + max_length=200, label=_("File other reference")) associated_file__in_charge = forms.IntegerField( - label=_(u"In charge"), + label=_(u"File in charge"), widget=widgets.JQueryAutoComplete( reverse_lazy( 'autocomplete-person', @@ -446,12 +470,7 @@ class AdministrativeActFileSelect(TableSelect): associated_model=Person), validators=[valid_id(Person)]) associated_file__permit_reference = forms.CharField( - max_length=200, label=_("Permit reference")) - if settings.ISHTAR_DPTS: - operation__towns__numero_insee__startswith = forms.ChoiceField( - label=_(u"Department"), choices=[]) - act_object = forms.CharField(label=_(u"Object (full text search)"), - max_length=300) + max_length=200, label=_("File permit reference")) history_creator = forms.IntegerField( label=_(u"Created by"), widget=widgets.JQueryAutoComplete( @@ -460,6 +479,13 @@ class AdministrativeActFileSelect(TableSelect): args=['0', 'user']), associated_model=Person), validators=[valid_id(Person)]) + history_modifier = forms.IntegerField( + label=_(u"Modified by"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-person', + args=['0', 'user']), + associated_model=Person), + validators=[valid_id(Person)]) def __init__(self, *args, **kwargs): super(AdministrativeActFileSelect, self).__init__(*args, **kwargs) @@ -468,10 +494,17 @@ class AdministrativeActFileSelect(TableSelect): self.fields['act_type'].help_text = ActType.get_help( dct={'intented_to': 'F'}) if settings.ISHTAR_DPTS: - k = 'operation__towns__numero_insee__startswith' + k = 'associated_file__towns__numero_insee__startswith' self.fields[k].choices = [ ('', '--')] + list(settings.ISHTAR_DPTS) + def get_input_ids(self): + ids = super(AdministrativeActFileSelect, self).get_input_ids() + ids.pop(ids.index('parcel')) + ids.append('parcel_0') + ids.append('parcel_1') + return ids + class AdministrativeActFileFormSelection(AdministrativeActOpeFormSelection): pk = forms.IntegerField( diff --git a/archaeological_files/views.py b/archaeological_files/views.py index e31cd00b8..5eed99278 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -89,10 +89,12 @@ get_file = get_item( 'towns__numero_insee__startswith': 'towns__numero_insee__startswith', 'name': 'name__icontains', + 'comment': 'comment__icontains', 'permit_reference': 'permit_reference__icontains', 'general_contractor__attached_to': 'general_contractor__attached_to__pk', 'history_creator': 'history_creator__ishtaruser__person__pk', + 'history_modifier': 'history_modifier__ishtaruser__person__pk', },) revert_file = revert_item(models.File) @@ -116,7 +118,8 @@ get_administrativeactfile = get_item( 'year': 'signature_date__year', 'associated_file__towns': 'associated_file__towns__pk', 'history_creator': 'history_creator__ishtaruser__person__pk', - 'operation__towns': 'operation__towns__pk', + 'associated_file__operations__code_patriarche': + 'associated_file__operations__code_patriarche', 'act_type__intented_to': 'act_type__intented_to', 'act_object': 'act_object__icontains', 'signature_date_before': 'signature_date__lte', @@ -124,10 +127,18 @@ get_administrativeactfile = get_item( 'associated_file__general_contractor__attached_to': 'associated_file__general_contractor__attached_to__pk', 'associated_file__name': 'associated_file__name__icontains', - 'operation__towns__numero_insee__startswith': - 'operation__towns__numero_insee__startswith', + 'associated_file__towns__numero_insee__startswith': + 'associated_file__towns__numero_insee__startswith', + 'indexed': 'index__isnull', + 'parcel_0': ('operation__parcels__section', + 'associated_file__parcels__section'), + 'parcel_1': ( + 'operation__parcels__parcel_number', + 'associated_file__parcels__parcel_number'), 'associated_file__permit_reference': 'associated_file__permit_reference__icontains'}, + reversed_bool_fields=['index__isnull'], + base_request={"associated_file__pk__isnull": False}, relative_session_names={'file': 'associated_file__pk'}) diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 981e4e3b9..d2ec086ae 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -412,17 +412,29 @@ OPERATOR, created = OrganizationType.objects.get_or_create(txt_idx='operator') class OperationSelect(TableSelect): if settings.COUNTRY == 'fr': - code_patriarche = forms.IntegerField(label="Code PATRIARCHE") - common_name = forms.CharField(label=_(u"Name (full text search)"), - max_length=30) - operation_type = forms.ChoiceField(label=_(u"Operation type"), - choices=[]) + code_patriarche = forms.IntegerField( + label="Numéro d'opération (OA Patriarche)") year = forms.IntegerField(label=_("Year")) operation_code = forms.IntegerField(label=_(u"Numeric reference")) towns = get_town_field() + parcel = ParcelField(label=_("Parcel (section/number)")) if settings.ISHTAR_DPTS: towns__numero_insee__startswith = forms.ChoiceField( label="Department", choices=[]) + common_name = forms.CharField(label=_(u"Name"), + max_length=30) + operation_type = forms.ChoiceField(label=_(u"Operation type"), + choices=[]) + end_date = forms.NullBooleanField(label=_(u"Is open?")) + in_charge = forms.IntegerField( + widget=widgets.JQueryAutoComplete( + reverse_lazy( + 'autocomplete-person-permissive', + args=["_".join( + [unicode(PersonType.objects.get(txt_idx='sra_agent').pk)])] + ), + associated_model=Person), + label=_(u"In charge")) scientist = forms.IntegerField( widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-person-permissive', @@ -436,23 +448,10 @@ class OperationSelect(TableSelect): reverse_lazy('autocomplete-organization', args=[OPERATOR.pk]), associated_model=Organization), validators=[valid_id(Organization)]) - operator_reference = forms.CharField(label=_(u"Operator reference"), - max_length=20) - in_charge = forms.IntegerField( - widget=widgets.JQueryAutoComplete( - reverse_lazy( - 'autocomplete-person-permissive', - args=["_".join( - [unicode(PersonType.objects.get(txt_idx='sra_agent').pk)])] - ), - associated_model=Person), - label=_(u"In charge")) - archaeological_sites = forms.IntegerField( - label=_("Archaelogical site"), - widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-archaeologicalsite'), - associated_model=models.ArchaeologicalSite), - validators=[valid_id(models.ArchaeologicalSite)]) + # operator_reference = forms.CharField(label=_(u"Operator reference"), + # max_length=20) + remains = forms.ChoiceField(label=_(u"Remains"), choices=[]) + periods = forms.ChoiceField(label=_(u"Periods"), choices=[]) start_before = forms.DateField(label=_(u"Started before"), widget=widgets.JQueryDate) start_after = forms.DateField(label=_(u"Started after"), @@ -461,24 +460,34 @@ class OperationSelect(TableSelect): widget=widgets.JQueryDate) end_after = forms.DateField(label=_(u"Ended after"), widget=widgets.JQueryDate) - remains = forms.ChoiceField(label=_(u"Remains"), choices=[]) - periods = forms.ChoiceField(label=_(u"Periods"), choices=[]) - parcel = ParcelField(label=_("Parcel (section/number)")) - end_date = forms.NullBooleanField(label=_(u"Is open?")) + relation_types = forms.MultipleChoiceField( + label=_(u"Search within relations"), choices=[], + widget=forms.CheckboxSelectMultiple) + comment = forms.CharField(label=_(u"Comment"), max_length=500) + abstract = forms.CharField(label=_(u"Abstract (full text search)")) + record_quality = forms.ChoiceField(label=_(u"Record quality")) + report_processing = forms.ChoiceField(label=_(u"Report processing"), + choices=[]) + virtual_operation = forms.NullBooleanField(label=_(u"Virtual operation")) + archaeological_sites = forms.IntegerField( + label=_("Archaelogical site"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-archaeologicalsite'), + associated_model=models.ArchaeologicalSite), + validators=[valid_id(models.ArchaeologicalSite)]) history_creator = forms.IntegerField( label=_(u"Created by"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-person', args=['0', 'user']), associated_model=Person), validators=[valid_id(Person)]) - abstract = forms.CharField(label=_(u"Abstract (full text search)")) - record_quality = forms.ChoiceField(label=_(u"Record quality")) - report_processing = forms.ChoiceField(label=_(u"Report processing"), - choices=[]) - virtual_operation = forms.NullBooleanField(label=_(u"Virtual operation")) - relation_types = forms.MultipleChoiceField( - label=_(u"Search within relations"), choices=[], - widget=forms.CheckboxSelectMultiple) + history_modifier = forms.IntegerField( + label=_(u"Modified by"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-person', + args=['0', 'user']), + associated_model=Person), + validators=[valid_id(Person)]) def __init__(self, *args, **kwargs): super(OperationSelect, self).__init__(*args, **kwargs) @@ -1075,14 +1084,18 @@ class AdministrativeActOpeSelect(TableSelect): year = forms.IntegerField(label=_("Year")) index = forms.IntegerField(label=_("Index")) if settings.COUNTRY == 'fr': - ref_sra = forms.CharField(label=u"Référence SRA", + ref_sra = forms.CharField(label=u"Autre référence", max_length=15) + operation__code_patriarche = forms.IntegerField( + label="Numéro d'opération (OA Patriarche)") act_type = forms.ChoiceField(label=_("Act type"), choices=[]) + indexed = forms.NullBooleanField(label=_(u"Indexed?")) operation__towns = get_town_field() + parcel = ParcelField(label=_("Parcel (section/number)")) if settings.ISHTAR_DPTS: operation__towns__numero_insee__startswith = forms.ChoiceField( label=_(u"Department"), choices=[]) - act_object = forms.CharField(label=_(u"Object (full text search)"), + act_object = forms.CharField(label=_(u"Object"), max_length=300) history_creator = forms.IntegerField( label=_(u"Created by"), @@ -1090,6 +1103,13 @@ class AdministrativeActOpeSelect(TableSelect): reverse_lazy('autocomplete-person', args=['0', 'user']), associated_model=Person), validators=[valid_id(Person)]) + history_modifier = forms.IntegerField( + label=_(u"Modified by"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-person', + args=['0', 'user']), + associated_model=Person), + validators=[valid_id(Person)]) def __init__(self, *args, **kwargs): super(AdministrativeActOpeSelect, self).__init__(*args, **kwargs) @@ -1102,6 +1122,13 @@ class AdministrativeActOpeSelect(TableSelect): self.fields[k].choices = [ ('', '--')] + list(settings.ISHTAR_DPTS) + def get_input_ids(self): + ids = super(AdministrativeActOpeSelect, self).get_input_ids() + ids.pop(ids.index('parcel')) + ids.append('parcel_0') + ids.append('parcel_1') + return ids + class AdministrativeActOpeFormSelection(forms.Form): form_label = _("Administrative act search") diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 9482f44b4..5299b7131 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2010-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2010-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -132,26 +132,30 @@ get_operation = get_item( bool_fields=['end_date__isnull', 'virtual_operation'], dated_fields=['start_date__lte', 'start_date__gte', 'excavation_end_date__lte', 'excavation_end_date__gte'], - extra_request_keys={'common_name': 'common_name__icontains', - 'abstract': 'abstract__icontains', - 'end_date': 'end_date__isnull', - 'year_index': ('year', 'operation_code'), - 'start_before': 'start_date__lte', - 'start_after': 'start_date__gte', - 'end_before': 'excavation_end_date__lte', - 'end_after': 'excavation_end_date__gte', - 'towns__numero_insee__startswith': - 'towns__numero_insee__startswith', - 'parcel_0': ('parcels__section', - 'associated_file__parcels__section'), - 'parcel_1': ( - 'parcels__parcel_number', - 'associated_file__parcels__parcel_number'), - 'history_creator': - 'history_creator__ishtaruser__person__pk', - 'archaeological_sites': - 'archaeological_sites__pk', - }, + extra_request_keys={ + 'common_name': 'common_name__icontains', + 'comment': 'comment__icontains', + 'abstract': 'abstract__icontains', + 'end_date': 'end_date__isnull', + 'year_index': ('year', 'operation_code'), + 'start_before': 'start_date__lte', + 'start_after': 'start_date__gte', + 'end_before': 'excavation_end_date__lte', + 'end_after': 'excavation_end_date__gte', + 'towns__numero_insee__startswith': + 'towns__numero_insee__startswith', + 'parcel_0': ('parcels__section', + 'associated_file__parcels__section'), + 'parcel_1': ( + 'parcels__parcel_number', + 'associated_file__parcels__parcel_number'), + 'history_creator': + 'history_creator__ishtaruser__person__pk', + 'history_modifier': + 'history_modifier__ishtaruser__person__pk', + 'archaeological_sites': + 'archaeological_sites__pk', + }, ) show_operation = show_item(models.Operation, 'operation') revert_operation = revert_item(models.Operation) @@ -167,22 +171,34 @@ get_operationsource = get_item( 'comment': 'comment__icontains', 'additional_information': 'additional_information__icontains', 'operation__towns': 'operation__towns__pk', + 'operation__code_patriarche': 'operation__code_patriarche', 'operation__operation_type': 'operation__operation_type__pk', 'operation__year': 'operation__year'}) get_administrativeactop = get_item( models.AdministrativeAct, 'get_administrativeactop', 'administrativeactop', - extra_request_keys={'associated_file__towns': 'associated_file__towns__pk', - 'operation__towns': 'operation__towns__pk', - 'act_type__intented_to': 'act_type__intented_to', - 'year': 'signature_date__year', - 'act_object': 'act_object__icontains', - 'history_creator': - 'history_creator__ishtaruser__person__pk', - 'operation__towns__numero_insee__startswith': - 'operation__towns__numero_insee__startswith' - }, + extra_request_keys={ + 'associated_file__towns': 'associated_file__towns__pk', + 'operation__towns': 'operation__towns__pk', + 'operation__code_patriarche': 'operation__code_patriarche', + 'act_type__intented_to': 'act_type__intented_to', + 'year': 'signature_date__year', + 'act_object': 'act_object__icontains', + 'history_creator': + 'history_creator__ishtaruser__person__pk', + 'history_modifier': + 'history_modifier__ishtaruser__person__pk', + 'operation__towns__numero_insee__startswith': + 'operation__towns__numero_insee__startswith', + 'indexed': 'index__isnull', + 'parcel_0': ('operation__parcels__section', + 'operation__associated_file__parcels__section'), + 'parcel_1': ( + 'operation__parcels__parcel_number', + 'operation__associated_file__parcels__parcel_number'), + }, + reversed_bool_fields=['index__isnull'], relative_session_names={'operation': 'operation__pk'}) get_administrativeact = get_item( diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 50acd5595..981522d0d 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -384,7 +384,6 @@ def get_item(model, func_name, default_name, extra_request_keys=[], if k.startswith('relation_types_'): relation_types.add(request_items[k]) continue - for k in request_keys: val = request_items.get(k) if not val: |