diff options
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r-- | archaeological_finds/forms.py | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 094e6be21..65ca5aa66 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -202,7 +202,34 @@ class RecordFormSelection(CustomForm, forms.Form): widget.source = str(widget.source) + "?operation__pk={}".format(cr.operation.pk) -class BasicFindForm(CustomForm, ManageOldType): +class MuseumForm: + MARK_FIELD = "mark" + + def update_museum_fields(self): + """ + Overload fields labels for museum + """ + if not getattr(self, "site_profile"): + self.site_profile = get_current_profile() + + # changes for museum profile + if not self.site_profile.museum: + return + # reorder museum id (second position after museum_id_prefix) + if "museum_id" in self.fields: + fields = {} + if "museum_id_prefix" in self.fields: + fields["museum_id_prefix"] = self.fields.pop("museum_id_prefix") + fields["museum_id"] = self.fields.pop("museum_id") + fields.update(self.fields) + self.fields = fields + # update label of mark field + if self.MARK_FIELD not in self.fields: + return + self.fields[self.MARK_FIELD].label = _("Marking details") + + +class BasicFindForm(MuseumForm, CustomForm, ManageOldType): """ Basic find form with no field related to base_find """ @@ -243,17 +270,17 @@ class BasicFindForm(CustomForm, ManageOldType): "museum_donor": BiographicalNote, "museum_former_collection": BiographicalNote, "get_first_base_find__discovery_method": models.DiscoveryMethod, - #'collection': Warehouse, + # 'collection': Warehouse, } field_order = [ "museum_id_prefix", - "museum_id", "museum_id_suffix", "label", "denomination", - "museum_id_comment", "previous_id", "laboratory_id", + "museum_id", + "museum_id_comment", "seal_number", "museum_inventory_marking_presence", "museum_marking_type", @@ -324,7 +351,6 @@ class BasicFindForm(CustomForm, ManageOldType): PROFILE_FILTER = { "museum": [ "museum_id_prefix", - "museum_id", "museum_id_suffix", "museum_id_comment", "museum_owner_institution", @@ -350,7 +376,7 @@ class BasicFindForm(CustomForm, ManageOldType): "museum_purchase_price", "museum_inventory_quantity", "museum_observed_quantity", - ], + ], } HEADERS = {} HEADERS["museum_id_prefix"] = FormHeader(_("Museum identification")) @@ -372,7 +398,7 @@ class BasicFindForm(CustomForm, ManageOldType): museum_marking_type = widgets.Select2MultipleField( label=_("Type of marking"), required=False ) - mark = forms.CharField(label=_("Marking details"), required=False) + mark = forms.CharField(label=_("Mark"), required=False) # collection = forms.IntegerField( # label=_("Collection (warehouse)"), # widget=widgets.JQueryAutoComplete( @@ -581,6 +607,7 @@ class BasicFindForm(CustomForm, ManageOldType): super().__init__(*args, **kwargs) if not context_record or not context_record.operation.operation_type.judiciary: self._remove_fields(("seal_number",)) + self.update_museum_fields() def get_headers(self): if self._headers: @@ -622,7 +649,6 @@ class FindForm(BasicFindForm): ) field_order = [ "museum_id_prefix", - "museum_id", "museum_id_suffix", "museum_id_comment", "label", @@ -630,6 +656,7 @@ class FindForm(BasicFindForm): "previous_id", "get_first_base_find__excavation_id", "laboratory_id", + "museum_id", "seal_number", "museum_inventory_marking_presence", "museum_marking_type", @@ -887,7 +914,7 @@ class ResultingFindsForm(CustomForm, ManageOldType): return self.cleaned_data -class QAFindFormMulti(QAForm): +class QAFindFormMulti(MuseumForm, QAForm): form_admin_name = _("Find - Quick action - Modify") form_slug = "find-quickaction-modify" base_models = [ @@ -1023,7 +1050,7 @@ class QAFindFormMulti(QAForm): qa_museum_id_suffix = forms.CharField(label=_("Museum ID suffix"), required=False) qa_laboratory_id = forms.CharField(label=_("Laboratory ID"), required=False) qa_seal_number = forms.CharField(label=_("Seal number"), required=False) - qa_mark = forms.CharField(label=_("Marking details"), required=False) + qa_mark = forms.CharField(label=_("Mark"), required=False) # qa_collection = forms.IntegerField( # label=_("Collection"), # widget=widgets.JQueryAutoComplete( @@ -1574,7 +1601,7 @@ DatingFormSet.form_admin_name = _("Find - 040 - Dating") DatingFormSet.form_slug = "find-040-dating" -class FindSelect(GeoItemSelect, PeriodSelect): +class FindSelect(MuseumForm, GeoItemSelect, PeriodSelect): _model = models.Find form_admin_name = _("Find - 001 - Search") form_slug = "find-001-search" @@ -1670,7 +1697,6 @@ class FindSelect(GeoItemSelect, PeriodSelect): ] PROFILE_FILTER = { "museum": [ - "museum_id", "cache_complete_museum_id", "museum_id_comment", "museum_owner_institution", @@ -1951,7 +1977,7 @@ class FindSelect(GeoItemSelect, PeriodSelect): museum_marking_type = forms.ChoiceField( label=_("Museum - Type of marking"), choices=[] ) - mark = forms.CharField(label=_("Marking details")) + mark = forms.CharField(label=_("Mark")) museum_collection = forms.ChoiceField( label=_("Museum - Collection"), choices=[] ) |