summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-02-12 19:27:25 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-02-12 19:27:25 +0100
commited84d4a6dfe6a11f3ff99b4dad19d06130433281 (patch)
tree8986f5149dd2f627c46530e16acc64d285b57eee /archaeological_finds/forms.py
parentbcc7f4d5317cbb1157ebc9d77a1dc8b4edf75796 (diff)
downloadIshtar-ed84d4a6dfe6a11f3ff99b4dad19d06130433281.tar.bz2
Ishtar-ed84d4a6dfe6a11f3ff99b4dad19d06130433281.zip
Finds: manage all searches
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r--archaeological_finds/forms.py228
1 files changed, 212 insertions, 16 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 3073c5c23..88c25be44 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -148,7 +148,8 @@ class BaseFindForm(CustomForm, ManageOldType):
'mark', 'description', 'is_complete', 'material_type',
'material_type_quality', 'object_type', 'object_type_quality',
'find_number', 'min_number_of_individuals', 'inscription',
- 'manufacturing_place', 'communicabilitie', 'comment', 'dating_comment',
+ 'decoration', 'manufacturing_place', 'communicabilitie', 'comment',
+ 'dating_comment',
'length', 'width', 'height', 'thickness', 'diameter', 'circumference',
'volume', 'weight', 'clutter_long_side', 'clutter_short_side',
'clutter_height', 'dimensions_comment', 'checked_type', 'check_date'
@@ -833,6 +834,47 @@ DatingFormSet.form_slug = "find-040-dating"
class FindSelect(HistorySelect):
_model = models.Find
+ FORM_FILTERS = [
+ (_(u"Find origin"), [
+ "base_finds__cache_short_id",
+ "base_finds__cache_complete_id",
+ "base_finds__context_record__town",
+ "base_finds__context_record__operation__year",
+ "base_finds__context_record__operation__operation_code",
+ "base_finds__context_record__operation__code_patriarche",
+ "base_finds__context_record__operation__operation_type",
+ "base_finds__context_record__town__areas",
+ "archaeological_sites",
+ "archaeological_sites_context_record",
+ "base_finds__context_record",
+ "ope_relation_types",
+ "cr_relation_types",
+ ]),
+ (_(u"Discovery date"), [
+ "base_finds__discovery_date__before",
+ "base_finds__discovery_date__after",
+ "base_finds__discovery_date_tpq__before",
+ "base_finds__discovery_date_tpq__after",
+ "base_finds__discovery_date_taq__before",
+ "base_finds__discovery_date_taq__after"
+ ]),
+ (_(u"Dimensions"), [
+ "length__higher", "width__higher", "height__higher",
+ "thickness__higher", "diameter__higher", "circumference__higher",
+ "volume__higher", "weight__higher", "clutter_long_side__higher",
+ "clutter_short_side__higher", "clutter_height__higher",
+ "length__lower", "width__lower", "height__lower",
+ "thickness__lower", "diameter__lower", "circumference__lower",
+ "volume__lower", "weight__lower", "clutter_long_side__lower",
+ "clutter_short_side__lower", "clutter_height__lower",
+ "dimensions_comment",
+ ]),
+ (_(u"Preservation"), (
+ "integrities", "remarkabilities", "conservatory_state",
+ "alterations", "alteration_causes", "preservation_to_considers",
+ "treatment_emergency")
+ )
+ ]
form_admin_name = _(u"Find - 001 - Search")
form_slug = "find-001-search"
@@ -840,10 +882,18 @@ class FindSelect(HistorySelect):
label=_(u"Full text search"), widget=widgets.SearchWidget(
'archaeological-finds', 'find'
))
- base_finds__cache_short_id = forms.CharField(label=_(u"Short ID"))
- base_finds__cache_complete_id = forms.CharField(label=_(u"Complete ID"))
label = forms.CharField(label=_(u"Free ID"))
denomination = forms.CharField(label=_(u"Denomination"))
+ previous_id = forms.CharField(label=_(u"Previous ID"))
+ base_finds__excavation_id = forms.CharField(label=_(u"Excavation ID"))
+ seal_number = forms.CharField(label=_(u"Seal number"))
+ museum_id = forms.CharField(label=_(u"Museum ID"))
+ mark = forms.CharField(label=_(u"Mark"))
+
+ base_finds__cache_short_id = forms.CharField(
+ label=_(u"Base find - Short ID"))
+ base_finds__cache_complete_id = forms.CharField(
+ label=_(u"Base find - Complete ID"))
base_finds__context_record__town = get_town_field()
base_finds__context_record__operation__year = forms.IntegerField(
label=_(u"Year"))
@@ -878,26 +928,169 @@ class FindSelect(HistorySelect):
reverse_lazy('autocomplete-contextrecord'),
associated_model=ContextRecord),
validators=[valid_id(ContextRecord)])
- basket = forms.ChoiceField(label=_(u"Basket"), choices=[])
ope_relation_types = forms.ChoiceField(
label=_(u"Search within related operations"), choices=[])
cr_relation_types = forms.ChoiceField(
label=_(u"Search within related context records"), choices=[])
+
+ basket = forms.ChoiceField(label=_(u"Basket"), choices=[])
+
+ description = forms.CharField(label=_(u"Description"))
+ base_finds__discovery_date__after = forms.DateField(
+ label=_(u"Discovery date after"), widget=DatePicker
+ )
+ base_finds__discovery_date__before = forms.DateField(
+ label=_(u"Discovery date before"), widget=DatePicker
+ )
+ base_finds__discovery_date_tpq__after = forms.DateField(
+ label=_(u"Discovery date (exact or TPQ) after"), widget=DatePicker
+ )
+ base_finds__discovery_date_tpq__before = forms.DateField(
+ label=_(u"Discovery date (exact or TPQ) before"), widget=DatePicker
+ )
+ base_finds__discovery_date_taq__after = forms.DateField(
+ label=_(u"Discovery date (TAQ) after"), widget=DatePicker
+ )
+ base_finds__discovery_date_taq__before = forms.DateField(
+ label=_(u"Discovery date (TAQ) before"), widget=DatePicker
+ )
+ base_finds__batch = forms.ChoiceField(label=_(u"Batch/object"), choices=[])
+ is_complete = forms.NullBooleanField(label=_(u"Is complete?"))
+ material_types = forms.IntegerField(
+ label=_(u"Material type"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-materialtype'),
+ associated_model=models.MaterialType),
+ )
+ material_type_quality = forms.ChoiceField(label=_(u"Material type quality"),
+ choices=[])
+ object_types = forms.IntegerField(
+ label=_(u"Object type"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-objecttype'),
+ associated_model=models.ObjectType),
+ )
+ object_type_quality = forms.ChoiceField(
+ label=_(u"Object type quality"), choices=[])
+
+ find_number = forms.IntegerField(label=_(u"Find number"))
+ min_number_of_individuals = forms.IntegerField(
+ label=_(u"Minimum number of individuals (MNI)"))
+
+ manufacturing_place = forms.CharField(label=_(u"Manufacturing place"))
+ decoration = forms.CharField(label=_(u"Decoration"))
+ inscription = forms.CharField(label=_(u"Inscription"))
+
+ communicabilities = forms.ChoiceField(label=_(u"Communicability"))
+ comment = forms.CharField(label=_(u"Comment"))
+
datings__period = forms.ChoiceField(label=_(u"Period"), choices=[])
- material_types = forms.ChoiceField(label=_(u"Material type"), choices=[])
- object_types = forms.ChoiceField(label=_(u"Object type"), choices=[])
- preservation_to_considers = forms.ChoiceField(
- choices=[], label=_(u"Preservation type"))
- conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"),
- choices=[])
+ dating_comment = forms.CharField(label=_(u"Comment on dating"))
+
+ length__higher = FloatField(label=_(u"Length - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ length__lower = FloatField(label=_(u"Length - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ width__lower = FloatField(
+ label=_(u"Width - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ width__higher = FloatField(
+ label=_(u"Width - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ height__lower = FloatField(
+ label=_(u"Height - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ height__higher = FloatField(
+ label=_(u"Height - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ thickness__lower = FloatField(
+ label=_(u"Thickness - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ thickness__higher = FloatField(
+ label=_(u"Thickness - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ diameter__lower = FloatField(
+ label=_(u"Diameter - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ diameter__higher = FloatField(
+ label=_(u"Diameter - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ circumference__lower = FloatField(
+ label=_(u"Circumference - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ circumference__higher = FloatField(
+ label=_(u"Circumference - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ volume__lower = FloatField(label=_(u"Volume - lower than (l)"))
+ volume__higher = FloatField(label=_(u"Volume - higher than (l)"))
+ weight__lower = FloatField(
+ label=_(u"Weight - lower than (g)"),
+ widget=widgets.GramKilogramWidget)
+ weight__higher = FloatField(
+ label=_(u"Weight - higher than (g)"),
+ widget=widgets.GramKilogramWidget)
+ clutter_long_side__lower = FloatField(
+ label=_(u"Clutter long side - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_long_side__higher = FloatField(
+ label=_(u"Clutter long side - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_short_side__lower = FloatField(
+ label=_(u"Clutter short side - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_short_side__higher = FloatField(
+ label=_(u"Clutter short side - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_height__lower = FloatField(
+ label=_(u"Clutter height - lower than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ clutter_height__higher = FloatField(
+ label=_(u"Clutter height - higher than (cm)"),
+ widget=widgets.CentimeterMeterWidget)
+ dimensions_comment = forms.CharField(
+ label=_(u"Dimensions comment"))
+
+ base_finds__topographic_localisation = forms.CharField(
+ label=_(u"Point of topographic reference"),
+ )
+ checked_type = forms.ChoiceField(label=_("Check"))
+ check_date__after = forms.DateField(
+ label=_(u"Check date after"), widget=DatePicker
+ )
+ check_date__before = forms.DateField(
+ label=_(u"Check date before"), widget=DatePicker
+ )
integrities = forms.ChoiceField(label=_(u"Integrity / interest"),
choices=[])
remarkabilities = forms.ChoiceField(label=_(u"Remarkability"),
choices=[])
- base_finds__find__description = forms.CharField(label=_(u"Description"))
- base_finds__batch = forms.ChoiceField(
- label=_(u"Batch/object"), choices=[])
- checked_type = forms.ChoiceField(label=_("Check"))
+ conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"),
+ choices=[])
+ alterations = forms.ChoiceField(
+ label=_(u"Alteration"), choices=[])
+ alteration_causes = forms.ChoiceField(
+ label=_(u"Alteration cause"), choices=[])
+ preservation_to_considers = forms.ChoiceField(
+ choices=[], label=_(u"Preservation type"))
+ treatment_emergency = forms.ChoiceField(
+ choices=[], label=_(u"Treatment emergency")
+ )
+
+ estimated_value__higher = FloatField(
+ label=_(u"Estimated value - higher than"))
+ estimated_value__lower = FloatField(
+ label=_(u"Estimated value - lower than"))
+ insurance_value__higher = FloatField(
+ label=_(u"Insurance value - higher than"))
+ insurance_value__lower = FloatField(
+ label=_(u"Insurance value - lower than"))
+ appraisal_date__after = forms.DateField(
+ label=_(u"Appraisal date after"), widget=DatePicker)
+ appraisal_date__before = forms.DateField(
+ label=_(u"Appraisal date before"), widget=DatePicker)
+ conservatory_comment = forms.CharField(
+ label=_(u"Conservatory comment"))
+
documents__image__isnull = forms.NullBooleanField(label=_(u"Has an image?"))
loan = forms.NullBooleanField(label=_(u"Loan?"))
treatments_file_end_date = forms.DateField(
@@ -906,10 +1099,8 @@ class FindSelect(HistorySelect):
TYPES = [
FieldType('datings__period', Period),
- FieldType('material_types', models.MaterialType),
FieldType('conservatory_state', models.ConservatoryState),
FieldType('base_finds__batch', models.BatchType),
- FieldType('object_types', models.ObjectType),
FieldType('preservation_to_considers', models.TreatmentType),
FieldType('integrities', models.IntegrityType),
FieldType('remarkabilities', models.RemarkabilityType),
@@ -917,6 +1108,11 @@ class FindSelect(HistorySelect):
FieldType('base_finds__context_record__operation__operation_type',
OperationType),
FieldType('checked_type', models.CheckedType),
+ FieldType('material_type_quality', models.MaterialTypeQualityType),
+ FieldType('object_type_quality', models.ObjectTypeQualityType),
+ FieldType('communicabilities', models.CommunicabilityType),
+ FieldType('alterations', models.AlterationType),
+ FieldType('alteration_causes', models.AlterationCauseType),
]
def __init__(self, *args, **kwargs):