summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit9dc5235b1d373d8a61cc9806de76ab834a1fd90b (patch)
tree708ef4000a8b731829a3bb957f4c9afcb3507b10
parent5d975efdb36f5f238bfe586497abd19d6d52617a (diff)
downloadIshtar-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.py99
-rw-r--r--archaeological_files/templates/ishtar/sheet_file.html3
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 %}