diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-09-18 16:45:49 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-09-18 16:45:49 +0200 |
commit | 9dc5235b1d373d8a61cc9806de76ab834a1fd90b (patch) | |
tree | 708ef4000a8b731829a3bb957f4c9afcb3507b10 | |
parent | 5d975efdb36f5f238bfe586497abd19d6d52617a (diff) | |
download | Ishtar-9dc5235b1d373d8a61cc9806de76ab834a1fd90b.tar.bz2 Ishtar-9dc5235b1d373d8a61cc9806de76ab834a1fd90b.zip |
✨ archaeological files edit form: add new fields, simplify forms - archaeological files sheet: add new fields - remove dead code
-rw-r--r-- | archaeological_files/forms.py | 99 | ||||
-rw-r--r-- | archaeological_files/templates/ishtar/sheet_file.html | 3 |
2 files changed, 38 insertions, 64 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index 21fa9ddfa..e8dd4c025 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -215,8 +215,8 @@ class FileFormGeneral(CustomForm, ManageOldType): validators.MaxValueValidator(2100), ], ) - creation_date = DateField(label=_("Creation date"), initial=get_now) - reception_date = DateField(label=_("Reception date"), initial=get_now) + creation_date = DateField(label=_("Creation date"), initial=get_now, required=False) + reception_date = DateField(label=_("Reception date"), initial=get_now, required=False) TYPES = [ FieldType("file_type", models.FileType), @@ -229,6 +229,7 @@ class FileFormGeneral(CustomForm, ManageOldType): return value +""" class FileFormGeneralRO(FileFormGeneral): year = forms.IntegerField( label=_("Year"), widget=forms.TextInput(attrs={"readonly": True}) @@ -249,6 +250,7 @@ class FileFormGeneralRO(FileFormGeneral): if numeric_reference and q.count(): raise forms.ValidationError(_("Another file with this numeric id exists.")) return cleaned_data +""" class FileFormPreventiveType(CustomForm, ManageOldType, forms.Form): @@ -260,7 +262,7 @@ class FileFormPreventiveType(CustomForm, ManageOldType, forms.Form): "permit_type": models.PermitType, } permit_type = forms.ChoiceField(label=_("Permit type"), required=False, choices=[]) - saisine_type = forms.ChoiceField(label=_("Saisine type"), choices=[]) + saisine_type = forms.ChoiceField(label=_("Saisine type"), required=False, choices=[]) TYPES = [ FieldType("saisine_type", models.SaisineType), ] @@ -278,10 +280,12 @@ class FileFormPlanning(CustomForm, ManageOldType): form_admin_name = _("Archaeological file - 017 - Preventive - Planning") form_slug = "file-017-preventiveplanning" base_models = ["town", "department"] - associated_models = {"town": Town, "department": Department} + associated_models = {"town": Town, "department": Department, "development_type": models.DevelopmentType} HEADERS = {} HEADERS["town"] = FormHeader(_("Geographic localisation")) - name = forms.CharField(label=_("Planning name"), required=False, max_length=100) + name = forms.CharField(label=_("Planning name"), required=False, max_length=1000) + development_type = forms.ChoiceField(label=_("Development type"), choices=[], required=False) + town = widgets.Select2MultipleField( model=Town, label=_("Towns"), required=False, remote=True ) @@ -302,7 +306,7 @@ class FileFormPlanning(CustomForm, ManageOldType): total_surface = forms.FloatField( required=False, widget=widgets.AreaWidget, - label=_("Total surface (m2)"), + label=_("Total surface (m²)"), validators=[ validators.MinValueValidator(0), validators.MaxValueValidator(999999999), @@ -310,13 +314,16 @@ class FileFormPlanning(CustomForm, ManageOldType): ) total_developed_surface = forms.FloatField( widget=widgets.AreaWidget, - label=_("Total developed surface (m2)"), + label=_("Total developed surface (m²)"), required=False, validators=[ validators.MinValueValidator(0), validators.MaxValueValidator(999999999), ], ) + TYPES = [ + FieldType("development_type", models.DevelopmentType), + ] class FileFormResearchAddress(CustomForm, forms.Form): @@ -354,34 +361,21 @@ class FileFormGeneralContractor(CustomForm, ManageOldType): corporation_general_contractor = forms.IntegerField( label=_("General contractor"), widget=widgets.JQueryAutoComplete( - reverse_lazy( - "autocomplete-organization", - args=[ - organization_type_pks_lazy(["general_contractor"]), - ], - ), - limit={ - "organization_type": [organization_type_pk_lazy("general_contractor")] - }, - tips=lazy(get_orga_general_contractor_label), + reverse_lazy("autocomplete-organization"), associated_model=models.Organization, new=True, detail=True, modify=True, ), validators=[valid_id(models.Organization)], + required=False ) general_contractor = forms.IntegerField( label=_("In charge"), required=False, widget=widgets.JQueryAutoComplete( - reverse_lazy( - "autocomplete-person", - args=[person_type_pks_lazy(["general_contractor"])], - ), + reverse_lazy("autocomplete-person"), associated_model=Person, - limit={"person_types": [person_type_pk_lazy("general_contractor")]}, - tips=lazy(get_general_contractor_label), detail=True, modify=True, new=True, @@ -419,21 +413,15 @@ class FileFormPlanningService(CustomForm, IshtarForm): associated_models = { "responsible_town_planning_service": models.Person, "planning_service": models.Organization, + "monitoring_justification": models.MonitoringJustificationType, } planning_service = forms.IntegerField( label=_("Planning service"), required=False, widget=widgets.JQueryAutoComplete( - reverse_lazy( - "autocomplete-organization", - args=[organization_type_pks_lazy(["planning_service"])], - ), + reverse_lazy("autocomplete-organization"), associated_model=models.Organization, - limit={ - "organization_type": [organization_type_pk_lazy(["planning_service"])], - }, - tips=lazy(get_orga_planning_service_label), new=True, detail=True, modify=True, @@ -444,27 +432,24 @@ class FileFormPlanningService(CustomForm, IshtarForm): label=_("In charge"), required=False, widget=widgets.JQueryAutoComplete( - reverse_lazy( - "autocomplete-person", - args=[person_type_pks_lazy(["responsible_planning_service"])], - ), + reverse_lazy("autocomplete-person"), associated_model=Person, - limit={ - "person_types": [person_type_pk_lazy("responsible_planning_service")] - }, - dynamic_limit=["planning_service"], - tips=lazy(get_responsible_planning_service_label), detail=True, modify=True, new=True, ), validators=[valid_id(Person)], ) + monitoring_justification = forms.ChoiceField(label=_("Monitoring justification"), choices=[], required=False) permit_reference = forms.CharField( label=_("Permit/order reference"), required=False, max_length=200 ) planning_service_date = DateField(label=_("Date of planning service file"), required=False) + TYPES = [ + FieldType("monitoring_justification", models.MonitoringJustificationType), + ] + def clean(self): responsible = self.cleaned_data["responsible_town_planning_service"] orga = self.cleaned_data["planning_service"] @@ -483,7 +468,7 @@ class FileFormPlanningService(CustomForm, IshtarForm): return self.cleaned_data - +""" class FileFormPreventive(ManageOldType, forms.Form): form_label = _("Preventive informations") associated_models = { @@ -495,11 +480,7 @@ class FileFormPreventive(ManageOldType, forms.Form): general_contractor = forms.IntegerField( label=_("General contractor"), widget=widgets.JQueryAutoComplete( - reverse_lazy( - "autocomplete-person", - args=[person_type_pks_lazy(["general_contractor"])], - ), - limit={"person_types": [person_type_pk_lazy("general_contractor")]}, + reverse_lazy("autocomplete-person"), associated_model=Person, new=True, ), @@ -541,7 +522,7 @@ class FileFormPreventive(ManageOldType, forms.Form): reception_date = DateField(label=_("Reception date"), initial=get_now) def __init__(self, *args, **kwargs): - super(FileFormPreventive, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) if "saisine_type" in self.fields: self.fields["saisine_type"].choices = models.SaisineType.get_types( initial=self.init_data.get("saisine_type") @@ -552,6 +533,7 @@ class FileFormPreventive(ManageOldType, forms.Form): initial=self.init_data.get("permit_type"), default="NP" ) self.fields["permit_type"].help_text = models.PermitType.get_help() +""" class FileFormResearch(CustomForm, ManageOldType, forms.Form): @@ -566,26 +548,18 @@ class FileFormResearch(CustomForm, ManageOldType, forms.Form): } scientist = forms.IntegerField( widget=widgets.JQueryAutoComplete( - reverse_lazy( - "autocomplete-person", - args=[person_type_pks_lazy(["head_scientist", "sra_agent"])], - ), - limit={ - "person_types": [ - person_type_pk_lazy("head_scientist"), - person_type_pk_lazy("sra_agent"), - ] - }, - tips=lazy(get_sra_agent_head_scientist_label), + reverse_lazy("autocomplete-person"), associated_model=Person, new=True, detail=True, modify=True, ), label=_("Scientist in charge"), + required=False ) requested_operation_type = forms.ChoiceField( - label=_("Requested operation type"), choices=[] + label=_("Requested operation type"), choices=[], + required=False, ) organization = forms.IntegerField( label=_("Lead organization"), @@ -632,15 +606,12 @@ class FileFormInstruction(CustomForm, IshtarForm): in_charge = forms.IntegerField( label=_("File managed by"), widget=widgets.JQueryAutoComplete( - reverse_lazy( - "autocomplete-person", args=[person_type_pks_lazy(["sra_agent"])] - ), - limit={"person_types": [person_type_pk_lazy("sra_agent")]}, - tips=lazy(get_sra_agent_label), + reverse_lazy("autocomplete-person"), associated_model=Person, new=True, ), validators=[valid_id(Person)], + required=False ) related_file = forms.IntegerField( label=_("Related file"), diff --git a/archaeological_files/templates/ishtar/sheet_file.html b/archaeological_files/templates/ishtar/sheet_file.html index ef5dfc7cd..b2b526453 100644 --- a/archaeological_files/templates/ishtar/sheet_file.html +++ b/archaeological_files/templates/ishtar/sheet_file.html @@ -117,6 +117,9 @@ </div> {% endif %} + {% field_flex _("Development type") item.development_type %} + {% field_flex _("Monitoring justification") item.monitoring_justification %} + {% field_flex "Saisine type" item.saisine_type %} {% field_flex_detail "Responsible for planning service" item.responsible_town_planning_service %} |