summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-02-28 18:34:45 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-02-28 18:34:45 +0100
commitcf316bfcd2299c1d930a8f9af9c44f8cd6a0bc58 (patch)
tree6f9f67897d36106520b51e5045e9e11852f44ba0 /archaeological_finds
parent969ac961c199a889d860ffb14cc165b22ffcf701 (diff)
downloadIshtar-cf316bfcd2299c1d930a8f9af9c44f8cd6a0bc58.tar.bz2
Ishtar-cf316bfcd2299c1d930a8f9af9c44f8cd6a0bc58.zip
Reorganize find wizard
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/forms.py99
-rw-r--r--archaeological_finds/models_finds.py6
2 files changed, 64 insertions, 41 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 8ecd10ff5..91a661adc 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -133,20 +133,26 @@ class FindForm(CustomForm, ManageOldType):
form_label = _("Find")
form_admin_name = _(u"Find - 020 - General")
form_slug = "find-020-general"
- base_models = ['get_first_base_find', 'object_type', 'material_type',
- 'integritie', 'remarkabilitie']
+ base_models = ['get_first_base_find', 'object_type', 'material_type']
associated_models = {'material_type': models.MaterialType,
'object_type': models.ObjectType,
- 'integritie': models.IntegrityType,
'get_first_base_find__batch': models.BatchType,
- 'remarkabilitie': models.RemarkabilityType,
'get_first_base_find__spatial_reference_system':
SpatialReferenceSystem}
+ HEADERS = {}
+
+ HEADERS['label'] = FormHeader(_(u"Identification"))
label = forms.CharField(
label=_(u"Free ID"),
validators=[validators.MaxLengthValidator(60)])
previous_id = forms.CharField(label=_("Previous ID"), required=False)
- description = forms.CharField(label=_("Description"),
+ get_first_base_find__excavation_id = forms.CharField(
+ label=_(u"Excavation ID"), required=False)
+ museum_id = forms.CharField(label=_(u"Museum ID"), required=False)
+ denomination = forms.CharField(label=_(u"Label"), required=False)
+
+ HEADERS['description'] = FormHeader(_(u"Description"))
+ description = forms.CharField(label=_(u"Description"),
widget=forms.Textarea, required=False)
get_first_base_find__discovery_date = forms.DateField(
label=_(u"Discovery date"), widget=DatePicker, required=False)
@@ -156,17 +162,42 @@ class FindForm(CustomForm, ManageOldType):
is_complete = forms.NullBooleanField(label=_(u"Is complete?"),
required=False)
material_type = widgets.Select2MultipleField(
- label=_(u"Material type"), required=False
+ label=_(u"Material types"), required=False
)
object_type = widgets.Select2MultipleField(
label=_(u"Object types"), required=False,
)
- integritie = forms.MultipleChoiceField(
- label=_(u"Integrity / interest"), choices=[],
- widget=widgets.Select2Multiple, required=False)
- remarkabilitie = forms.MultipleChoiceField(
- label=_(u"Remarkability"), choices=[],
- widget=widgets.Select2Multiple, required=False)
+ find_number = forms.IntegerField(label=_(u"Find number"), required=False)
+ min_number_of_individuals = forms.IntegerField(
+ label=_(u"Minimum number of individuals (MNI)"), required=False)
+
+ decoration = forms.CharField(label=_(u"Decoration"), widget=forms.Textarea,
+ required=False)
+ mark = forms.CharField(label=_(u"Mark"), widget=forms.Textarea,
+ required=False)
+ manufacturing_place = forms.CharField(
+ label=_(u"Manufacturing place"), required=False)
+ image = forms.ImageField(
+ label=_(u"Image"), help_text=mark_safe(get_image_help()),
+ max_length=255, required=False, widget=widgets.ImageFileInput())
+ comment = forms.CharField(label=_(u"Comment"), required=False,
+ widget=forms.Textarea)
+ dating_comment = forms.CharField(
+ label=_(u"Comment on dating"), required=False, widget=forms.Textarea)
+
+ HEADERS['length'] = FormHeader(_(u"Dimensions"))
+ length = FloatField(label=_(u"Length (cm)"), required=False)
+ width = FloatField(label=_(u"Width (cm)"), required=False)
+ height = FloatField(label=_(u"Height (cm)"), required=False)
+ diameter = FloatField(label=_(u"Diameter (cm)"), required=False)
+ thickness = FloatField(label=_(u"Thickness (cm)"), required=False)
+ volume = FloatField(label=_(u"Volume (l)"), required=False)
+ weight = FloatField(label=_(u"Weight (g)"), required=False)
+ dimensions_comment = forms.CharField(
+ label=_(u"Dimensions comment"), required=False, widget=forms.Textarea)
+
+ HEADERS['get_first_base_find__topographic_localisation'] = FormHeader(
+ _(u"Coordinates"))
get_first_base_find__topographic_localisation = forms.CharField(
label=_(u"Point of topographic reference"),
required=False, max_length=120
@@ -183,37 +214,16 @@ class FindForm(CustomForm, ManageOldType):
forms.FloatField(label=_(u"Estimated error for Y"), required=False)
get_first_base_find__estimated_error_z = \
forms.FloatField(label=_(u"Estimated error for Z"), required=False)
- length = FloatField(label=_(u"Length (cm)"), required=False)
- width = FloatField(label=_(u"Width (cm)"), required=False)
- height = FloatField(label=_(u"Height (cm)"), required=False)
- diameter = FloatField(label=_(u"Diameter (cm)"), required=False)
- thickness = FloatField(label=_(u"Thickness (cm)"), required=False)
- volume = FloatField(label=_(u"Volume (l)"), required=False)
- weight = FloatField(label=_(u"Weight (g)"), required=False)
- dimensions_comment = forms.CharField(
- label=_(u"Dimensions comment"), required=False, widget=forms.Textarea)
- find_number = forms.IntegerField(label=_(u"Find number"), required=False)
- min_number_of_individuals = forms.IntegerField(
- label=_(u"Minimum number of individuals (MNI)"), required=False)
- mark = forms.CharField(label=_(u"Mark"), required=False)
+
+ HEADERS['checked'] = FormHeader(_(u"Sheet"))
checked = forms.ChoiceField(label=_(u"Check"))
check_date = forms.DateField(
initial=get_now, label=_(u"Check date"), widget=DatePicker)
- comment = forms.CharField(label=_(u"Comment"), required=False,
- widget=forms.Textarea)
- dating_comment = forms.CharField(
- label=_(u"Comment on dating"), required=False, widget=forms.Textarea)
- estimated_value = FloatField(label=_(u"Estimated value"), required=False)
- image = forms.ImageField(
- label=_(u"Image"), help_text=mark_safe(get_image_help()),
- max_length=255, required=False, widget=widgets.ImageFileInput())
TYPES = [
FieldType('material_type', models.MaterialType, is_multiple=True),
FieldType('object_type', models.ObjectType, is_multiple=True),
FieldType('get_first_base_find__batch', models.BatchType),
- FieldType('integritie', models.IntegrityType, is_multiple=True),
- FieldType('remarkabilitie', models.RemarkabilityType, is_multiple=True)
]
def __init__(self, *args, **kwargs):
@@ -234,9 +244,6 @@ class FindForm(CustomForm, ManageOldType):
self.fields[srs].help_text = \
SpatialReferenceSystem.get_help()
self.fields['checked'].choices = models.CHECK_CHOICES
- self.fields['estimated_value'].label = u"{} ({})".format(
- unicode(self.fields['estimated_value'].label),
- get_current_profile().currency)
def clean(self):
if not get_current_profile().mapping:
@@ -271,13 +278,21 @@ class PreservationForm(CustomForm, ManageOldType):
form_admin_name = _(u"Find - 030 - Preservation")
form_slug = "find-030-preservation"
base_models = ['alteration', 'alteration_cause',
- 'preservation_to_consider']
+ 'preservation_to_consider', 'integritie', 'remarkabilitie']
associated_models = {'alteration': models.AlterationType,
'alteration_cause': models.AlterationCauseType,
'treatment_emergency': models.TreatmentEmergencyType,
'conservatory_state': models.ConservatoryState,
'preservation_to_consider': models.TreatmentType,
+ 'remarkabilitie': models.RemarkabilityType,
+ 'integritie': models.IntegrityType,
}
+ integritie = forms.MultipleChoiceField(
+ label=_(u"Integrity / interest"), choices=[],
+ widget=widgets.Select2Multiple, required=False)
+ remarkabilitie = forms.MultipleChoiceField(
+ label=_(u"Remarkability"), choices=[],
+ widget=widgets.Select2Multiple, required=False)
conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"),
choices=[], required=False)
alteration = forms.MultipleChoiceField(
@@ -291,6 +306,7 @@ class PreservationForm(CustomForm, ManageOldType):
widget=widgets.Select2Multiple, required=False)
treatment_emergency = forms.ChoiceField(label=_("Treatment emergency"),
choices=[], required=False)
+ estimated_value = FloatField(label=_(u"Estimated value"), required=False)
insurance_value = FloatField(label=_(u"Insurance value"), required=False)
appraisal_date = forms.DateField(
label=_(u"Appraisal date"), widget=DatePicker, required=False)
@@ -304,6 +320,8 @@ class PreservationForm(CustomForm, ManageOldType):
FieldType('preservation_to_consider', models.TreatmentType, True),
FieldType('alteration', models.AlterationType, True),
FieldType('alteration_cause', models.AlterationCauseType, True),
+ FieldType('integritie', models.IntegrityType, is_multiple=True),
+ FieldType('remarkabilitie', models.RemarkabilityType, is_multiple=True)
]
def __init__(self, *args, **kwargs):
@@ -311,6 +329,9 @@ class PreservationForm(CustomForm, ManageOldType):
self.fields['insurance_value'].label = u"{} ({})".format(
unicode(self.fields['insurance_value'].label),
get_current_profile().currency)
+ self.fields['estimated_value'].label = u"{} ({})".format(
+ unicode(self.fields['estimated_value'].label),
+ get_current_profile().currency)
class DateForm(ManageOldType, forms.Form):
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 047c08ffc..bbd9ff7e6 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -255,7 +255,7 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, OwnPerms):
CACHED_LABELS = ['cache_short_id', 'cache_complete_id']
PARENT_SEARCH_VECTORS = ['context_record']
BASE_SEARCH_VECTORS = ["label", "description", "comment", "cache_short_id",
- "cache_complete_id"]
+ "cache_complete_id", "excavation_id"]
class Meta:
verbose_name = _(u"Base find")
@@ -784,7 +784,9 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, ImageModel,
BASE_SEARCH_VECTORS = [
"cached_label", "label", "description", "container__location__name",
"container__reference", "mark", "comment", "dating_comment",
- "previous_id"]
+ "previous_id", "denomination", "museum_id", "decoration",
+ "manufacturing_place"
+ ]
M2M_SEARCH_VECTORS = [
"datings__period__label", "object_types__label", "integrities__label",
"remarkabilities__label", "material_types__label"]