summaryrefslogtreecommitdiff
path: root/archaeological_files/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-07-07 09:39:29 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-07-08 09:58:47 +0200
commitc01be9de3ea65ab7a5360444e5cc27caebc1c061 (patch)
treea324f582ed88df9fa6230809600a665baacde36c /archaeological_files/forms.py
parentfd232fdba395c96564934052233dd23604082693 (diff)
downloadIshtar-c01be9de3ea65ab7a5360444e5cc27caebc1c061.tar.bz2
Ishtar-c01be9de3ea65ab7a5360444e5cc27caebc1c061.zip
Preventive file - inline forms
Diffstat (limited to 'archaeological_files/forms.py')
-rw-r--r--archaeological_files/forms.py87
1 files changed, 52 insertions, 35 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py
index 51d1fdeb0..1710a5560 100644
--- a/archaeological_files/forms.py
+++ b/archaeological_files/forms.py
@@ -528,14 +528,20 @@ class FileFormPreventiveDetail(forms.ModelForm, CustomForm, ManageOldType):
pk = forms.IntegerField(label="", required=False, widget=forms.HiddenInput)
start_date = forms.DateField(
- label=_("Start date"), widget=DatePicker, required=False
+ label=_("Start date"), required=False,
+ widget=DatePicker(attrs={"bs_col_width": "col-6 col-lg-3"}),
+ )
+ end_date = forms.DateField(
+ label=_("End date"), required=False,
+ widget=DatePicker(attrs={"bs_col_width": "col-6 col-lg-3"}),
)
- end_date = forms.DateField(label=_("End date"), widget=DatePicker, required=False)
ground_start_date = forms.DateField(
- label=_("Ground start date"), widget=DatePicker, required=False
+ label=_("Ground start date"), required=False,
+ widget=DatePicker(attrs={"bs_col_width": "col-6 col-lg-3"}),
)
ground_end_date = forms.DateField(
- label=_("Ground end date"), widget=DatePicker, required=False
+ label=_("Ground end date"), required=False,
+ widget=DatePicker(attrs={"bs_col_width": "col-6 col-lg-3"}),
)
study_period = forms.CharField(
label=_("Study period"),
@@ -543,10 +549,11 @@ class FileFormPreventiveDetail(forms.ModelForm, CustomForm, ManageOldType):
required=False,
)
execution_report_date = forms.DateField(
- label=_("Execution report date"), widget=DatePicker, required=False
+ label=_("Execution report date"), required=False,
+ widget=DatePicker(attrs={"bs_col_width": "col-6 col-lg-3"}),
)
total_developed_surface = forms.FloatField(
- widget=widgets.AreaWidget,
+ widget=widgets.AreaWidget(attrs={"bs_col_width": "col-6 col-lg-3"}),
label=_("Total developed surface (m2)"),
required=False,
validators=[
@@ -556,7 +563,7 @@ class FileFormPreventiveDetail(forms.ModelForm, CustomForm, ManageOldType):
)
total_surface = forms.FloatField(
required=False,
- widget=widgets.AreaWidget,
+ widget=widgets.AreaWidget(attrs={"bs_col_width": "col-6 col-lg-3"}),
label=_("Total surface (m2)"),
validators=[
validators.MinValueValidator(0),
@@ -565,7 +572,7 @@ class FileFormPreventiveDetail(forms.ModelForm, CustomForm, ManageOldType):
)
linear_meter = forms.IntegerField(
label=_("Linear meter (m)"), required=False,
- widget=widgets.MeterKilometerWidget,
+ widget=widgets.MeterKilometerWidget(attrs={"bs_col_width": "col-6 col-lg-3"}),
)
def __init__(self, *args, **kwargs):
@@ -586,17 +593,32 @@ class FileBaseFormset(forms.BaseModelFormSet):
self.queryset = self.model.objects.filter(file_id=self.instance.pk)
+INLINE_JOB_FIELDS = ["man_by_day_planned", "days_planned", "man_by_day_worked",
+ "days_worked"]
+JOB_WIDGETS = {
+ "man_by_day_planned": forms.NumberInput(attrs={"class": "w-50 form-planned"}),
+ "days_planned": forms.NumberInput(attrs={"class": "w-50 form-planned"}),
+ "man_by_day_worked": forms.NumberInput(attrs={"class": "w-50 form-worked"}),
+ "days_worked": forms.NumberInput(attrs={"class": "w-50 form-worked"})
+}
+
+JOB_LABELS = {
+ "man_by_day_planned": _("Man by day"),
+ "days_planned": _("Days"),
+ "man_by_day_worked": _("Man by day"),
+ "days_worked": _("Days"),
+}
+
class PreventiveFileJobForm(forms.ModelForm):
file_id = forms.IntegerField(widget=forms.HiddenInput)
- job = forms.ChoiceField(choices=[])
- man_by_day_planned = forms.FloatField(_("Man by day - planned"), required=False)
- days_planned = forms.FloatField(_("Days - planned"), required=False)
- man_by_day_worked = forms.FloatField(_("Man by day - worked"), required=False)
- days_worked = forms.FloatField(_("Days - worked"), required=False)
class Meta:
model = models.PreventiveFileJob
+ fields = ["job"] + INLINE_JOB_FIELDS
exclude = ["file"]
+ widgets = JOB_WIDGETS
+ labels = JOB_LABELS
+
class PreventiveFileJobBaseFormSet(FileBaseFormset):
@@ -605,22 +627,20 @@ class PreventiveFileJobBaseFormSet(FileBaseFormset):
PreventiveFileJobFormSet = formset_factory(
PreventiveFileJobForm, formset=PreventiveFileJobBaseFormSet, can_delete=True)
-PreventiveFileJobFormSet.form_label = _("Preventive - Jobs")
+PreventiveFileJobFormSet.form_label = _("Jobs")
PreventiveFileJobFormSet.form_admin_name = _("Preventive file - 030 - Jobs")
PreventiveFileJobFormSet.form_slug = "preventive-030-jobs"
+PreventiveFileJobFormSet.dynamic_add = True
class PreventiveFileGroundJobForm(forms.ModelForm):
file_id = forms.IntegerField(widget=forms.HiddenInput)
- ground_job = forms.ChoiceField(choices=[])
- man_by_day_planned = forms.FloatField(_("Man by day - planned"), required=False)
- days_planned = forms.FloatField(_("Days - planned"), required=False)
- man_by_day_worked = forms.FloatField(_("Man by day - worked"), required=False)
- days_worked = forms.FloatField(_("Days - worked"), required=False)
class Meta:
model = models.PreventiveFileGroundJob
- exclude = ["file"]
+ fields = ["job"] + INLINE_JOB_FIELDS
+ widgets = JOB_WIDGETS
+ labels = JOB_LABELS
class PreventiveFileGroundJobBaseFormSet(FileBaseFormset):
@@ -631,24 +651,22 @@ PreventiveFileGroundJobFormSet = formset_factory(
PreventiveFileGroundJobForm, formset=PreventiveFileGroundJobBaseFormSet,
can_delete=True
)
-PreventiveFileGroundJobFormSet.form_label = _("Preventive - Ground jobs")
+PreventiveFileGroundJobFormSet.form_label = _("Ground jobs")
PreventiveFileGroundJobFormSet.form_admin_name = _(
"Preventive file - 040 - Ground jobs"
)
PreventiveFileGroundJobFormSet.form_slug = "preventive-040-ground-jobs"
+PreventiveFileGroundJobFormSet.dynamic_add = True
class PreventiveFileEquipmentForm(forms.ModelForm):
file_id = forms.IntegerField(widget=forms.HiddenInput)
- equipment = forms.ChoiceField(choices=[])
- man_by_day_planned = forms.FloatField(_("Man by day - planned"), required=False)
- days_planned = forms.FloatField(_("Days - planned"), required=False)
- man_by_day_worked = forms.FloatField(_("Man by day - worked"), required=False)
- days_worked = forms.FloatField(_("Days - worked"), required=False)
class Meta:
model = models.PreventiveFileEquipmentCost
- exclude = ["file"]
+ fields = ["equipment_cost"] + INLINE_JOB_FIELDS
+ widgets = JOB_WIDGETS
+ labels = JOB_LABELS
class PreventiveFileEquipmentBaseFormSet(FileBaseFormset):
@@ -659,22 +677,20 @@ PreventiveFileEquipmentFormSet = formset_factory(
PreventiveFileEquipmentForm, formset=PreventiveFileEquipmentBaseFormSet,
can_delete=True
)
-PreventiveFileEquipmentFormSet.form_label = _("Preventive - Equipment")
+PreventiveFileEquipmentFormSet.form_label = _("Equipment")
PreventiveFileEquipmentFormSet.form_admin_name = _("Preventive file - 050 - Equipments")
PreventiveFileEquipmentFormSet.form_slug = "preventive-050-equipments"
+PreventiveFileEquipmentFormSet.dynamic_add = True
class PreventiveFileTechnicalServiceForm(forms.ModelForm):
file_id = forms.IntegerField(widget=forms.HiddenInput)
- technical_service = forms.ChoiceField(choices=[])
- man_by_day_planned = forms.FloatField(_("Man by day - planned"), required=False)
- days_planned = forms.FloatField(_("Days - planned"), required=False)
- man_by_day_worked = forms.FloatField(_("Man by day - worked"), required=False)
- days_worked = forms.FloatField(_("Days - worked"), required=False)
class Meta:
model = models.PreventiveFileTechnicalServiceCost
- exclude = ["file"]
+ fields = ["technical_service_cost"] + INLINE_JOB_FIELDS
+ widgets = JOB_WIDGETS
+ labels = JOB_LABELS
class PreventiveFileTechnicalServiceBaseFormSet(FileBaseFormset):
@@ -685,11 +701,12 @@ PreventiveFileTechnicalServiceFormSet = formset_factory(
PreventiveFileTechnicalServiceForm,
formset=PreventiveFileTechnicalServiceBaseFormSet, can_delete=True
)
-PreventiveFileTechnicalServiceFormSet.form_label = _("Preventive - Technical Services")
+PreventiveFileTechnicalServiceFormSet.form_label = _("Technical Services")
PreventiveFileTechnicalServiceFormSet.form_admin_name = _(
"Preventive file - 060 - TechnicalServices"
)
PreventiveFileTechnicalServiceFormSet.form_slug = "preventive-060-technical_services"
+PreventiveFileTechnicalServiceFormSet.dynamic_add = True
class AdministrativeActFileModifySelect(TableSelect):