summaryrefslogtreecommitdiff
path: root/archaeological_operations/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r--archaeological_operations/forms.py113
1 files changed, 72 insertions, 41 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index ec66a2a7a..981e4e3b9 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.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
@@ -411,15 +411,18 @@ OPERATOR, created = OrganizationType.objects.get_or_create(txt_idx='operator')
class OperationSelect(TableSelect):
- year = forms.IntegerField(label=_("Year"))
- operation_code = forms.IntegerField(label=_(u"Numeric reference"))
- common_name = forms.CharField(label=_(u"Name (full text search)"),
- max_length=30)
if settings.COUNTRY == 'fr':
code_patriarche = forms.IntegerField(label="Code PATRIARCHE")
- towns = get_town_field()
+ common_name = forms.CharField(label=_(u"Name (full text search)"),
+ max_length=30)
operation_type = forms.ChoiceField(label=_(u"Operation type"),
choices=[])
+ year = forms.IntegerField(label=_("Year"))
+ operation_code = forms.IntegerField(label=_(u"Numeric reference"))
+ towns = get_town_field()
+ if settings.ISHTAR_DPTS:
+ towns__numero_insee__startswith = forms.ChoiceField(
+ label="Department", choices=[])
scientist = forms.IntegerField(
widget=widgets.JQueryAutoComplete(
reverse_lazy('autocomplete-person-permissive',
@@ -427,6 +430,14 @@ class OperationSelect(TableSelect):
unicode(SRA_AGENT.pk)])]),
associated_model=Person),
label=_(u"Scientist in charge"))
+ operator = forms.IntegerField(
+ label=_("Operator"),
+ widget=widgets.JQueryAutoComplete(
+ 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(
@@ -436,14 +447,12 @@ class OperationSelect(TableSelect):
),
associated_model=Person),
label=_(u"In charge"))
- operator = forms.IntegerField(
- label=_("Operator"),
+ archaeological_sites = forms.IntegerField(
+ label=_("Archaelogical site"),
widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-organization', args=[OPERATOR.pk]),
- associated_model=Organization),
- validators=[valid_id(Organization)])
- remains = forms.ChoiceField(label=_(u"Remains"), choices=[])
- periods = forms.ChoiceField(label=_(u"Periods"), choices=[])
+ reverse_lazy('autocomplete-archaeologicalsite'),
+ associated_model=models.ArchaeologicalSite),
+ validators=[valid_id(models.ArchaeologicalSite)])
start_before = forms.DateField(label=_(u"Started before"),
widget=widgets.JQueryDate)
start_after = forms.DateField(label=_(u"Started after"),
@@ -452,6 +461,8 @@ 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?"))
history_creator = forms.IntegerField(
@@ -460,10 +471,14 @@ class OperationSelect(TableSelect):
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)
def __init__(self, *args, **kwargs):
super(OperationSelect, self).__init__(*args, **kwargs)
@@ -481,12 +496,21 @@ class OperationSelect(TableSelect):
self.fields['periods'].help_text = models.Period.get_help()
self.fields['record_quality'].choices = \
[('', '--')] + list(models.QUALITY)
+ if settings.ISHTAR_DPTS:
+ k = 'towns__numero_insee__startswith'
+ self.fields[k].choices = [
+ ('', '--')] + list(settings.ISHTAR_DPTS)
+ self.fields['relation_types'].choices = models.RelationType.get_types(
+ empty_first=False)
def get_input_ids(self):
ids = super(OperationSelect, self).get_input_ids()
ids.pop(ids.index('parcel'))
ids.append('parcel_0')
ids.append('parcel_1')
+ ids.pop(ids.index('relation_types'))
+ for idx, c in enumerate(self.fields['relation_types'].choices):
+ ids.append('relation_types_{}'.format(idx))
return ids
@@ -544,6 +568,13 @@ if FILES_AVAILABLE:
reverse_lazy('autocomplete-file'), associated_model=File),
validators=[valid_id(File)], required=False)
+
+class OperationFormAbstract(forms.Form):
+ form_label = _(u"Abstract")
+ abstract = forms.CharField(
+ label=_(u"Abstract"),
+ widget=forms.Textarea(attrs={'class': 'xlarge'}), required=False)
+
SLICING = (("month", _(u"months")), ('year', _(u"years")),)
DATE_SOURCE = (('creation', _(u"Creation date")),
@@ -635,6 +666,21 @@ class OperationFormGeneral(forms.Form):
'report_processing': models.ReportState,
'archaeological_site': models.ArchaeologicalSite}
pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
+ if settings.COUNTRY == 'fr':
+ code_patriarche = forms.IntegerField(label=u"Code PATRIARCHE",
+ required=False)
+ common_name = forms.CharField(label=_(u"Generic name"), required=False,
+ max_length=120, widget=forms.Textarea)
+ operation_type = forms.ChoiceField(label=_(u"Operation type"),
+ choices=[])
+ year = forms.IntegerField(label=_(u"Year"),
+ initial=lambda: datetime.datetime.now().year,
+ validators=[validators.MinValueValidator(1900),
+ validators.MaxValueValidator(2100)])
+ operation_code = forms.IntegerField(
+ label=_(u"Operation code"),
+ initial=models.Operation.get_available_operation_code,
+ widget=OperationCodeInput(attrs={'readonly': 'readonly'}))
scientist = forms.IntegerField(
label=_("Head scientist"),
widget=widgets.JQueryAutoComplete(
@@ -652,6 +698,8 @@ class OperationFormGeneral(forms.Form):
limit={'organization_type': (OPERATOR.pk,)},
associated_model=Organization, new=True),
validators=[valid_id(Organization)], required=False)
+ operator_reference = forms.CharField(label=_(u"Operator reference"),
+ required=False, max_length=20)
in_charge = forms.IntegerField(
label=_("In charge"),
widget=widgets.JQueryAutoComplete(
@@ -660,8 +708,14 @@ class OperationFormGeneral(forms.Form):
associated_model=Person,
limit={'person_types': [SRA_AGENT.pk]}, new=True),
validators=[valid_id(Person)], required=False)
- operation_type = forms.ChoiceField(label=_(u"Operation type"),
- choices=[])
+ surface = forms.IntegerField(
+ required=False, widget=widgets.AreaWidget,
+ label=_(u"Total surface (m2)"),
+ validators=[validators.MinValueValidator(0),
+ validators.MaxValueValidator(999999999)])
+ archaeological_site = widgets.MultipleAutocompleteField(
+ model=models.ArchaeologicalSite,
+ label=_("Associated archaeological sites"), new=True, required=False)
start_date = forms.DateField(
label=_(u"Start date"), required=False, widget=widgets.JQueryDate)
excavation_end_date = forms.DateField(
@@ -672,36 +726,14 @@ class OperationFormGeneral(forms.Form):
widget=widgets.JQueryDate)
report_processing = forms.ChoiceField(label=_(u"Report processing"),
choices=[], required=False)
- surface = forms.IntegerField(
- required=False, widget=widgets.AreaWidget,
- label=_(u"Total surface (m2)"),
- validators=[validators.MinValueValidator(0),
- validators.MaxValueValidator(999999999)])
- year = forms.IntegerField(label=_(u"Year"),
- initial=lambda: datetime.datetime.now().year,
- validators=[validators.MinValueValidator(1900),
- validators.MaxValueValidator(2100)])
- operation_code = forms.IntegerField(
- label=_(u"Operation code"),
- initial=models.Operation.get_available_operation_code,
- widget=OperationCodeInput(attrs={'readonly': 'readonly'}))
- common_name = forms.CharField(label=_(u"Generic name"), required=False,
- max_length=120, widget=forms.Textarea)
- operator_reference = forms.CharField(label=_(u"Operator reference"),
- required=False, max_length=20)
- archaeological_site = widgets.MultipleAutocompleteField(
- model=models.ArchaeologicalSite,
- label=_("Associated archaeological sites"), new=True, required=False)
if settings.COUNTRY == 'fr':
- negative_result = forms.NullBooleanField(
- required=False, label=u"Résultat considéré comme négatif")
- code_patriarche = forms.IntegerField(label=u"Code PATRIARCHE",
- required=False)
code_dracar = forms.CharField(
label=u"Code DRACAR", required=False,
validators=[validators.MaxLengthValidator(10)])
cira_date = forms.DateField(label=u"Date avis CIRA", required=False,
widget=widgets.JQueryDate)
+ negative_result = forms.NullBooleanField(
+ required=False, label=u"Résultat considéré comme négatif")
cira_rapporteur = forms.IntegerField(
label=u"Rapporteur CIRA",
widget=widgets.JQueryAutoComplete(
@@ -1068,8 +1100,7 @@ class AdministrativeActOpeSelect(TableSelect):
if settings.ISHTAR_DPTS:
k = 'operation__towns__numero_insee__startswith'
self.fields[k].choices = [
- ('', '--')] + [(str(dpt), str(dpt))
- for dpt in settings.ISHTAR_DPTS]
+ ('', '--')] + list(settings.ISHTAR_DPTS)
class AdministrativeActOpeFormSelection(forms.Form):