diff options
Diffstat (limited to 'archaeological_operations')
| -rw-r--r-- | archaeological_operations/forms.py | 99 | ||||
| -rw-r--r-- | archaeological_operations/locale/django.pot | 278 | ||||
| -rw-r--r-- | archaeological_operations/views.py | 78 | 
3 files changed, 247 insertions, 208 deletions
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/locale/django.pot b/archaeological_operations/locale/django.pot index f27f74e8b..a112d4d16 100644 --- a/archaeological_operations/locale/django.pot +++ b/archaeological_operations/locale/django.pot @@ -7,12 +7,12 @@  msgid ""  msgstr "" -#: forms.py:69 forms.py:336 forms.py:883 forms.py:905 forms.py:909 +#: forms.py:69 forms.py:336 forms.py:895 forms.py:917 forms.py:921  #: models.py:791 templates/ishtar/blocks/window_tables/parcels.html:8  msgid "Parcels"  msgstr "" -#: forms.py:72 forms.py:188 forms.py:859 models.py:781 +#: forms.py:72 forms.py:188 forms.py:871 models.py:781  #: templates/ishtar/blocks/window_tables/parcels.html:5  #: templates/ishtar/dashboards/dashboard_operation.html:302  #: templates/ishtar/dashboards/dashboard_operation.html:315 @@ -21,7 +21,7 @@ msgstr ""  msgid "Town"  msgstr "" -#: forms.py:74 forms.py:414 forms.py:709 forms.py:1072 models.py:161 +#: forms.py:74 forms.py:417 forms.py:685 forms.py:1084 models.py:161  #: models.py:597 models.py:779  #: templates/ishtar/blocks/window_tables/parcels.html:6  msgid "Year" @@ -86,352 +86,356 @@ msgstr ""  msgid "Relations"  msgstr "" -#: forms.py:415 +#: forms.py:418  msgid "Numeric reference"  msgstr "" -#: forms.py:416 -msgid "Name (full text search)" +#: forms.py:420 forms.py:1094 +msgid "Parcel (section/number)"  msgstr "" -#: forms.py:421 -msgid "Archaelogical site" +#: forms.py:424 forms.py:956 models.py:79 +msgid "Name"  msgstr "" -#: forms.py:430 forms.py:596 forms.py:692 forms.py:1049 models.py:170 +#: forms.py:426 forms.py:607 forms.py:683 forms.py:1061 models.py:170  msgid "Operation type"  msgstr "" -#: forms.py:438 models.py:582 -msgid "Scientist in charge" +#: forms.py:428 +msgid "Is open?"  msgstr "" -#: forms.py:447 forms.py:685 models.py:158 +#: forms.py:437 forms.py:713 models.py:158  msgid "In charge"  msgstr "" -#: forms.py:449 forms.py:598 forms.py:678 models.py:156 +#: forms.py:444 models.py:582 +msgid "Scientist in charge" +msgstr "" + +#: forms.py:446 forms.py:609 forms.py:704 models.py:156  msgid "Operator"  msgstr "" -#: forms.py:454 forms.py:949 models.py:83 models.py:172 +#: forms.py:453 forms.py:961 models.py:83 models.py:172  msgid "Remains"  msgstr "" -#: forms.py:455 forms.py:928 forms.py:946 models.py:81 models.py:177 +#: forms.py:454 forms.py:940 forms.py:958 models.py:81 models.py:177  msgid "Periods"  msgstr "" -#: forms.py:456 +#: forms.py:455  msgid "Started before"  msgstr "" -#: forms.py:458 +#: forms.py:457  msgid "Started after"  msgstr "" -#: forms.py:460 +#: forms.py:459  msgid "Ended before"  msgstr "" -#: forms.py:462 +#: forms.py:461  msgid "Ended after"  msgstr ""  #: forms.py:464 -msgid "Parcel (section/number)" -msgstr "" - -#: forms.py:465 -msgid "Is open?" +msgid "Search within relations"  msgstr "" -#: forms.py:467 forms.py:1085 -msgid "Created by" +#: forms.py:466 forms.py:755 models.py:223 +msgid "Comment"  msgstr "" -#: forms.py:472 +#: forms.py:467  msgid "Abstract (full text search)"  msgstr "" -#: forms.py:473 forms.py:745 models.py:235 +#: forms.py:468 forms.py:757 models.py:235  msgid "Record quality"  msgstr "" -#: forms.py:474 forms.py:702 models.py:189 +#: forms.py:469 forms.py:736 models.py:189  msgid "Report processing"  msgstr "" -#: forms.py:476 forms.py:748 models.py:230 +#: forms.py:471 forms.py:760 models.py:230  msgid "Virtual operation"  msgstr "" -#: forms.py:478 -msgid "Search within relations" +#: forms.py:473 +msgid "Archaelogical site" +msgstr "" + +#: forms.py:479 forms.py:1101 +msgid "Created by"  msgstr "" -#: forms.py:516 forms.py:1042 views.py:214 +#: forms.py:485 forms.py:1107 +msgid "Modified by" +msgstr "" + +#: forms.py:527 forms.py:1054 views.py:230  msgid "Operation search"  msgstr "" -#: forms.py:529 forms.py:1044 +#: forms.py:540 forms.py:1056  msgid "You should select an operation."  msgstr "" -#: forms.py:560 +#: forms.py:571  msgid "Associated file"  msgstr "" -#: forms.py:564 forms.py:808 models.py:594 wizards.py:78 +#: forms.py:575 forms.py:820 models.py:594 wizards.py:78  msgid "Archaelogical file"  msgstr "" -#: forms.py:571 forms.py:573 models.py:237 +#: forms.py:582 forms.py:584 models.py:237  msgid "Abstract"  msgstr "" -#: forms.py:576 +#: forms.py:587  msgid "months"  msgstr "" -#: forms.py:576 +#: forms.py:587  msgid "years"  msgstr "" -#: forms.py:578 models.py:142 +#: forms.py:589 models.py:142  msgid "Creation date"  msgstr "" -#: forms.py:579 +#: forms.py:590  msgid "Start of field work"  msgstr "" -#: forms.py:581 +#: forms.py:592  msgid "All"  msgstr "" -#: forms.py:582 +#: forms.py:593  msgid "Preventive"  msgstr "" -#: forms.py:583 +#: forms.py:594  msgid "Research"  msgstr "" -#: forms.py:587 +#: forms.py:598  msgid "Slicing"  msgstr "" -#: forms.py:590 +#: forms.py:601  msgid "Department detail"  msgstr "" -#: forms.py:592 +#: forms.py:603  msgid "Date get from"  msgstr "" -#: forms.py:594 +#: forms.py:605  msgid "Preventive/Research"  msgstr "" -#: forms.py:600 +#: forms.py:611  msgid "Date after"  msgstr "" -#: forms.py:602 +#: forms.py:613  msgid "Date before"  msgstr "" -#: forms.py:604 +#: forms.py:615  msgid "With reports"  msgstr "" -#: forms.py:605 +#: forms.py:616  msgid "With finds"  msgstr "" -#: forms.py:657 forms.py:1124 templates/ishtar/sheet_administrativeact.html:11 +#: forms.py:668 forms.py:1154 templates/ishtar/sheet_administrativeact.html:11  #: templates/ishtar/sheet_operation.html:32  msgid "General"  msgstr "" -#: forms.py:668 -msgid "Head scientist" +#: forms.py:681 models.py:222 +msgid "Generic name"  msgstr "" -#: forms.py:695 models.py:51 models.py:145 models.py:951 -msgid "Start date" +#: forms.py:690 forms.py:815 models.py:162 models.py:375 +msgid "Operation code"  msgstr "" -#: forms.py:697 models.py:147 -msgid "Excavation end date" +#: forms.py:694 +msgid "Head scientist"  msgstr "" -#: forms.py:700 models.py:148 -msgid "Report delivery date" +#: forms.py:710 models.py:221 +msgid "Operator reference"  msgstr "" -#: forms.py:706 +#: forms.py:722  msgid "Total surface (m2)"  msgstr "" -#: forms.py:714 forms.py:803 models.py:162 models.py:375 -msgid "Operation code" -msgstr "" - -#: forms.py:717 models.py:222 -msgid "Generic name" +#: forms.py:727 +msgid "Associated archaeological sites"  msgstr "" -#: forms.py:719 models.py:221 -msgid "Operator reference" +#: forms.py:729 models.py:51 models.py:145 models.py:951 +msgid "Start date"  msgstr "" -#: forms.py:723 -msgid "Associated archaeological sites" +#: forms.py:731 models.py:147 +msgid "Excavation end date"  msgstr "" -#: forms.py:743 models.py:223 -msgid "Comment" +#: forms.py:734 models.py:148 +msgid "Report delivery date"  msgstr "" -#: forms.py:773 +#: forms.py:785  msgid ""  "If you want to set an excavation end date you have to provide a start date."  msgstr "" -#: forms.py:778 +#: forms.py:790  msgid "The excavation end date cannot be before the start date."  msgstr "" -#: forms.py:793 +#: forms.py:805  #, python-format  msgid ""  "Operation code already exist for year: %(year)d - use a value bigger than "  "%(last_val)d"  msgstr "" -#: forms.py:797 +#: forms.py:809  msgid "Bad operation code"  msgstr "" -#: forms.py:829 +#: forms.py:841  msgid "Preventive informations - excavation"  msgstr "" -#: forms.py:830 models.py:175 +#: forms.py:842 models.py:175  #: templates/ishtar/dashboards/dashboard_operation.html:495  msgid "Cost (euros)"  msgstr "" -#: forms.py:831 models.py:180 +#: forms.py:843 models.py:180  msgid "Scheduled man-days"  msgstr "" -#: forms.py:833 models.py:183 +#: forms.py:845 models.py:183  msgid "Optional man-days"  msgstr "" -#: forms.py:835 models.py:186 +#: forms.py:847 models.py:186  msgid "Effective man-days"  msgstr "" -#: forms.py:845 +#: forms.py:857  msgid "Preventive informations - diagnostic"  msgstr "" -#: forms.py:848 models.py:205 +#: forms.py:860 models.py:205  msgid "Prescription on zoning"  msgstr "" -#: forms.py:850 models.py:208 +#: forms.py:862 models.py:208  msgid "Prescription on large area"  msgstr "" -#: forms.py:853 models.py:210 +#: forms.py:865 models.py:210  msgid "Prescription on geoarchaeological context"  msgstr "" -#: forms.py:857 forms.py:879 models.py:174 models.py:607 +#: forms.py:869 forms.py:891 models.py:174 models.py:607  msgid "Towns"  msgstr "" -#: forms.py:886 models.py:790 models.py:949 +#: forms.py:898 models.py:790 models.py:949  msgid "Parcel"  msgstr "" -#: forms.py:913 models.py:45 +#: forms.py:925 models.py:45  msgid "Remain types"  msgstr "" -#: forms.py:917 models.py:44 +#: forms.py:929 models.py:44  msgid "Remain type"  msgstr "" -#: forms.py:932 +#: forms.py:944  msgid "Period"  msgstr "" -#: forms.py:943 models.py:78 +#: forms.py:955 models.py:78  msgid "Reference"  msgstr "" -#: forms.py:944 models.py:79 -msgid "Name" -msgstr "" - -#: forms.py:968 +#: forms.py:980  msgid "This reference already exists."  msgstr "" -#: forms.py:985 +#: forms.py:997  msgid "Associated archaelogical sites"  msgstr "" -#: forms.py:991 ishtar_menu.py:36 ishtar_menu.py:63 ishtar_menu.py:125 +#: forms.py:1003 ishtar_menu.py:36 ishtar_menu.py:63 ishtar_menu.py:125  msgid "Search"  msgstr "" -#: forms.py:996 +#: forms.py:1008  msgid "Would you like to close this operation?"  msgstr "" -#: forms.py:1001 +#: forms.py:1013  msgid "Would you like to delete this operation?"  msgstr "" -#: forms.py:1010 forms.py:1073 models.py:523 models.py:573 +#: forms.py:1022 forms.py:1085 models.py:523 models.py:573  msgid "Index"  msgstr "" -#: forms.py:1036 +#: forms.py:1048  #, python-format  msgid ""  "Index already exists for operation: %(operation)s - use a value bigger than "  "%(last_val)d"  msgstr "" -#: forms.py:1048 +#: forms.py:1060  msgid "Operation's town"  msgstr "" -#: forms.py:1051 +#: forms.py:1063  msgid "Operation's year"  msgstr "" -#: forms.py:1062 +#: forms.py:1074  msgid "Documentation search"  msgstr "" -#: forms.py:1064 +#: forms.py:1076  msgid "You should select a document."  msgstr "" -#: forms.py:1077 forms.py:1127 models.py:547 models.py:567 +#: forms.py:1091 forms.py:1157 models.py:547 models.py:567  msgid "Act type"  msgstr "" -#: forms.py:1081 models.py:497 +#: forms.py:1092 forms.py:1245 +msgid "Indexed?" +msgstr "" + +#: forms.py:1097 models.py:497  #: templates/ishtar/dashboards/dashboard_operation.html:273  #: templates/ishtar/dashboards/dashboard_operation.html:286  #: templates/ishtar/dashboards/dashboard_operation.html:453 @@ -439,52 +443,44 @@ msgstr ""  msgid "Department"  msgstr "" -#: forms.py:1082 -msgid "Object (full text search)" +#: forms.py:1098 forms.py:1162 models.py:598 +#: templates/ishtar/blocks/window_tables/administrativacts.html:8 +msgid "Object"  msgstr "" -#: forms.py:1104 views.py:350 +#: forms.py:1134 views.py:366  msgid "Administrative act search"  msgstr "" -#: forms.py:1119 forms.py:1173 forms.py:1240 +#: forms.py:1149 forms.py:1203 forms.py:1270  msgid "You should select an administrative act."  msgstr "" -#: forms.py:1132 models.py:598 -#: templates/ishtar/blocks/window_tables/administrativacts.html:8 -msgid "Object" -msgstr "" - -#: forms.py:1135 models.py:595 +#: forms.py:1165 models.py:595  msgid "Signature date"  msgstr "" -#: forms.py:1150 +#: forms.py:1180  msgid "Would you like to delete this administrative act?"  msgstr "" -#: forms.py:1155 +#: forms.py:1185  msgid "Template"  msgstr "" -#: forms.py:1179 forms.py:1183 +#: forms.py:1209 forms.py:1213  msgid "This document is not intended for this type of act."  msgstr "" -#: forms.py:1201 +#: forms.py:1231  msgid "Doc generation"  msgstr "" -#: forms.py:1203 +#: forms.py:1233  msgid "Generate the associated doc?"  msgstr "" -#: forms.py:1215 -msgid "Indexed?" -msgstr "" - -#: forms.py:1224 ishtar_menu.py:110 views.py:384 +#: forms.py:1254 ishtar_menu.py:110 views.py:400  msgctxt "admin act register"  msgid "Register"  msgstr "" @@ -861,47 +857,47 @@ msgstr ""  msgid "Operation types old"  msgstr "" -#: views.py:236 +#: views.py:252  msgid "New operation"  msgstr "" -#: views.py:271 +#: views.py:287  msgid "Operation modification"  msgstr "" -#: views.py:311 +#: views.py:327  msgid "Operation closing"  msgstr "" -#: views.py:317 +#: views.py:333  msgid "Operation deletion"  msgstr "" -#: views.py:322 +#: views.py:338  msgid "Operation: source search"  msgstr "" -#: views.py:330 +#: views.py:346  msgid "Operation: source creation"  msgstr "" -#: views.py:338 +#: views.py:354  msgid "Operation: source modification"  msgstr "" -#: views.py:344 +#: views.py:360  msgid "Operation: source deletion"  msgstr "" -#: views.py:359 +#: views.py:375  msgid "Operation: new administrative act"  msgstr "" -#: views.py:369 +#: views.py:385  msgid "Operation: administrative act modification"  msgstr "" -#: views.py:378 +#: views.py:394  msgid "Operation: administrative act deletion"  msgstr "" 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(  | 
