diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-06-26 17:47:31 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-06-26 18:02:17 +0200 |
| commit | 0b5c91d2223342f7fd303e21ecc8c967a5c47759 (patch) | |
| tree | 75615eb96cc0d90fd7162657ee23f05e0e64ba88 | |
| parent | 97b52ba01e5b2eb6721dd8441cbefb02acb24e18 (diff) | |
| download | Ishtar-0b5c91d2223342f7fd303e21ecc8c967a5c47759.tar.bz2 Ishtar-0b5c91d2223342f7fd303e21ecc8c967a5c47759.zip | |
✨ statement condition: add fields
5 files changed, 34 insertions, 13 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py index fa9a03118..aacd73bc8 100644 --- a/archaeological_finds/forms_treatments.py +++ b/archaeological_finds/forms_treatments.py @@ -1288,12 +1288,15 @@ class QAStatementCondition(ManageOldType, forms.Form): associated_model=models.Treatment, new=True), validators=[valid_id(models.Treatment)], required=False) - verification_officer_id = forms.IntegerField( - label=_("Verification officer"), + in_charge_id = forms.IntegerField( + label=_("In charge"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-person'), associated_model=Person, new=True), validators=[valid_id(Person)], required=False) + verification_officers = forms.CharField( + label=_("Verification officers"), widget=forms.Textarea, + required=False) campaign_number = forms.CharField(label=_("Campaign/observation number"), required=False) report_number = forms.CharField(label=_("Report number"), required=False) @@ -1451,7 +1454,7 @@ class QAStatementCondition(ManageOldType, forms.Form): q = Person.objects.filter(ishtaruser__pk=self.user.pk) if q.count(): person = q.all()[0] - self.fields['verification_officer_id'].initial = person.pk + self.fields['in_charge_id'].initial = person.pk def save(self): data = copy(self.cleaned_data) diff --git a/archaeological_finds/migrations/0158_statementcondition_add_fields.py b/archaeological_finds/migrations/0158_statementcondition_add_fields.py index 7e36f9314..9b227b73d 100644 --- a/archaeological_finds/migrations/0158_statementcondition_add_fields.py +++ b/archaeological_finds/migrations/0158_statementcondition_add_fields.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.21 on 2026-06-23 13:57 +# Generated by Django 4.2.21 on 2026-06-26 15:38 from django.db import migrations, models import django.db.models.deletion @@ -7,10 +7,20 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ + ('ishtar_common', '0277_data_migration_qualifiedbionotetype'), ('archaeological_finds', '0157_treatments_statement_condition'), ] operations = [ + migrations.RemoveField( + model_name='statementcondition', + name='verification_officer', + ), + migrations.AddField( + model_name='statementcondition', + name='in_charge', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.person', verbose_name='In charge'), + ), migrations.AddField( model_name='statementcondition', name='mark', @@ -36,6 +46,11 @@ class Migration(migrations.Migration): name='museum_inventory_quantity', field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Inventory quantity'), ), + migrations.AddField( + model_name='statementcondition', + name='verification_officers', + field=models.TextField(blank=True, default='', verbose_name='Verification officers'), + ), migrations.AlterField( model_name='statementcondition', name='applied', diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index d7704c997..e9cb727ea 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -1743,13 +1743,14 @@ class StatementCondition( find = models.ForeignKey(Find, verbose_name=_("Find"), on_delete=models.CASCADE, related_name="statement_conditions") treatment = models.ForeignKey( - Treatment, verbose_name=_("Treament"), on_delete=models.SET_NULL, + Treatment, verbose_name=_("Treatment"), on_delete=models.SET_NULL, null=True, blank=True, related_name="statement_conditions") campaign_number = models.TextField(_("Campaign/observation number"), default="", blank=True) report_number = models.TextField(_("Report number"), default="", blank=True) - verification_officer = models.ForeignKey( - Person, verbose_name=_("Verification officer"), null=True, blank=True, + verification_officers = models.TextField(_("Verification officers"), default="", blank=True) + in_charge = models.ForeignKey( + Person, verbose_name=_("In charge"), null=True, blank=True, on_delete=models.SET_NULL) statement_condition_type = models.ForeignKey( StatementConditionType, verbose_name=_("Type"), on_delete=models.PROTECT) @@ -1934,8 +1935,8 @@ class StatementCondition( initial = {} base_attrs = [ "pk", "date", "find_id", "statement_condition_type_id", - "verification_officer_id", "campaign_number", "report_number", - "observations", "treatment_id" + "in_charge_id", "verification_officers", "campaign_number", + "report_number", "observations", "treatment_id" ] for attr in base_attrs: initial[attr] = getattr(self, attr) @@ -1976,9 +1977,10 @@ class StatementCondition( obj.applied = "V" obj.initial = True obj.last = False - obj.verification_officer = None + obj.in_charge = None obj.treatment = None - for k in ("campaign_number", "report_number", "observations"): + for k in ("campaign_number", "report_number", "observations", + "verification_officers"): setattr(obj, k, "") # reinit with find fields for attr in self.OVERLOADED_FIELDS: diff --git a/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html b/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html index 09cee8cd7..a2cffaf34 100644 --- a/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html +++ b/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html @@ -41,7 +41,8 @@ <div class="row"> {% field_flex _("Date") statement_condition.date|date:"SHORT_DATE_FORMAT" %} {% field_flex_detail _("Treatment") statement_condition.treatment %} - {% field_flex _("Verification officer") statement_condition.verification_officer %} + {% field_flex_detail _("In charge") statement_condition.in_charge %} + {% field_flex_full _("Verification officers") statement_condition.verification_officers %} {% field_flex _("Campaign/observation number") statement_condition.campaign_number %} {% field_flex _("Report number") statement_condition.report_number %} {% field_flex_multiple_obj _("Follow-up actions") statement_condition "follow_up_actions" %} diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 11189cfc1..5ef2192fe 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -1603,7 +1603,7 @@ def statement_condition_form(request, find_pk, statement_condition_pk=None, url = reverse("find-statement-condition-modify", args=[find_pk, sc_pk]) window_id = request.GET.get("window_id", "") if window_id: - url += "?window_id={window_id}" + url += f"?window_id={window_id}" return HttpResponseRedirect(url) initial = models.StatementCondition.get_initial_from_find(item) if request.method == 'POST': |
