summaryrefslogtreecommitdiff
path: root/archaeological_context_records
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-06-13 17:11:42 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-06-13 17:11:42 +0200
commitfe0d3dab9d0123f5e92b61daf7b270a20bd25333 (patch)
tree44b8c942a488425f460e24ef07c2622abdfa56b1 /archaeological_context_records
parent4c193e36b64c2397123cf288d21a801059211606 (diff)
downloadIshtar-fe0d3dab9d0123f5e92b61daf7b270a20bd25333.tar.bz2
Ishtar-fe0d3dab9d0123f5e92b61daf7b270a20bd25333.zip
🐛 QA context record forms: fix parcel field (refs #6353)
Diffstat (limited to 'archaeological_context_records')
-rw-r--r--archaeological_context_records/forms.py42
-rw-r--r--archaeological_context_records/templates/ishtar/sheet_contextrecord.html2
2 files changed, 21 insertions, 23 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index eb6b57b63..a16d3ec4e 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -674,7 +674,7 @@ class QAOperationCR(IshtarForm):
]
if self.profil.parcel_mandatory:
self.fields["parcel"].choices += [("", "--")] + [
- (str(parcel.pk), "{} - {}".format(parcel.short_label, parcel.town))
+ (str(parcel.pk), "{} - {}".format(parcel.town, parcel.short_label))
for parcel in operation.parcels.all()
]
@@ -845,31 +845,29 @@ class QAContextRecordFormMulti(QAForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.items = kwargs.pop("items")
- disable = False
+ # manage parcel field
if "qa_parcel" not in self.fields or not self.items:
return
op_pk = self.items[0].operation_id
- if len(self.items) > 1:
- for cr in self.items[1:]:
- if op_pk != cr.operation_id:
- disable = self.fields["qa_parcel"].disabled = True
-
- self.fields["qa_parcel"].widget = forms.TextInput(
- attrs={
- "class": 'w-100',
- "placeholder": _(
- "Parcel can be modified only if operations are the same"
- )}
- )
- break
- if not disable:
- choices = [
- (p.pk, str(p)) for p in Parcel.objects.filter(operation_id=op_pk).all()
- ]
- self.fields["qa_parcel"].choices = choices
- if len(choices) == 1:
- self.fields["qa_parcel"].disabled = True
+ if len(self.items) > 1 and any(
+ (1 for cr in self.items[1:] if op_pk != cr.operation_id)):
+ self.fields["qa_parcel"].disabled = True
+
+ self.fields["qa_parcel"].widget = forms.TextInput(
+ attrs={
+ "class": 'w-100',
+ "placeholder": _(
+ "Parcel can be modified only if operations are the same"
+ )}
+ )
+ return
+ choices = [("", "--")]
+ choices += [
+ (p.pk, "{} - {}".format(p.town, p.short_label))
+ for p in Parcel.objects.filter(operation_id=op_pk).all()
+ ]
+ self.fields["qa_parcel"].choices = choices
def clean(self):
cleaned_data = super().clean()
diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
index ff2877176..6776c17b8 100644
--- a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
+++ b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
@@ -125,7 +125,7 @@
<p class="window-refs"
title="{% trans 'Identifier' %}">
<strong>{{ item.cached_label }}</strong></p>
- <p class='window-refs' title="{% trans 'Parcel' %}">{{ item.parcel.short_label }}</p>
+ <p class='window-refs' title="{% trans 'Parcel' %}">{{ item.parcel.town }} | {{ item.parcel.short_label }}</p>
{% if item.label != item.external_id %}
<p class="window-refs">{{ item.label|default:"" }}</p>{% endif %}
{% include "ishtar/blocks/sheet_external_id.html" %}