summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/forms.py75
-rw-r--r--archaeological_files/views.py17
-rw-r--r--archaeological_operations/forms.py99
-rw-r--r--archaeological_operations/views.py78
-rw-r--r--ishtar_common/views.py1
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: