diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-06 21:08:48 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-07 19:25:04 +0200 |
| commit | 6575fb494d82727e0d34287d5d2fb579fb7acd64 (patch) | |
| tree | bc582180cf4534e9c48b5a35e4f47442b0b77685 /archaeological_finds/forms.py | |
| parent | 24086b977c19258ed7491c0dbc37ff8d3659d9eb (diff) | |
| download | Ishtar-6575fb494d82727e0d34287d5d2fb579fb7acd64.tar.bz2 Ishtar-6575fb494d82727e0d34287d5d2fb579fb7acd64.zip | |
✨ finds - relations between finds: forms, view
Diffstat (limited to 'archaeological_finds/forms.py')
| -rw-r--r-- | archaeological_finds/forms.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 727657fc2..fdb44d0ac 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -92,6 +92,10 @@ from ishtar_common.forms import ( GeoItemSelect, ) from ishtar_common.forms_common import get_town_field +from archaeological_operations.forms import ( + RecordRelationsForm, + RecordRelationsFormSetBase, +) from archaeological_context_records.forms import DatingSelect from ishtar_common.models import ( @@ -925,6 +929,32 @@ class ResultingFindsForm(CustomForm, ManageOldType): return self.cleaned_data +class FindRecordRelationsForm(RecordRelationsForm): + current_model = models.FindRelationType + current_related_model = models.Find + associated_models = { + "right_record": models.Find, + "relation_type": models.FindRelationType, + } + ERROR_MISSING = _("You should select a find and a relation type.") + ERROR_SAME = _("A find cannot be related to himself.") + + right_record = forms.IntegerField( + label=_("Find"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-find'), + associated_model=models.Find), + validators=[valid_id(models.Find)], required=False) + + +FindRecordRelationsFormSet = formset_factory( + FindRecordRelationsForm, can_delete=True, formset=RecordRelationsFormSetBase +) +FindRecordRelationsFormSet.form_label = _("Find - Relations") +FindRecordRelationsFormSet.form_admin_name = _("Find - Relations") +FindRecordRelationsFormSet.form_slug = "find-recordrelations" + + class QAFindFormMulti(MuseumForm, QAForm): form_admin_name = _("Find - Quick action - Modify") form_slug = "find-quickaction-modify" |
