diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-07-07 11:56:40 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-07-08 09:59:31 +0200 |
commit | 2516d982a4f25452276a20f4e3afa4f50984051e (patch) | |
tree | 9907ca50998ac262431617260d07b4fac3ce36ff | |
parent | bb04eed6826f0f3cbe44fc56818fa31148c90f13 (diff) | |
download | Ishtar-2516d982a4f25452276a20f4e3afa4f50984051e.tar.bz2 Ishtar-2516d982a4f25452276a20f4e3afa4f50984051e.zip |
Preventive file form: fix JS - fix default cost add with price agreement
-rw-r--r-- | archaeological_files/admin.py | 1 | ||||
-rw-r--r-- | archaeological_files/models.py | 2 | ||||
-rw-r--r-- | archaeological_files/templates/ishtar/forms/preventive_detail.html | 12 | ||||
-rw-r--r-- | archaeological_files/views.py | 13 |
4 files changed, 20 insertions, 8 deletions
diff --git a/archaeological_files/admin.py b/archaeological_files/admin.py index df2afd677..5146cf2b3 100644 --- a/archaeological_files/admin.py +++ b/archaeological_files/admin.py @@ -129,6 +129,7 @@ class EquipmentServiceCostAdmin(ImportActionAdmin): "unitary_cost", "unit", "flat_rate", + "default_quantity_by_day", "available", ] actions = [export_as_csv_action(), serialize_type_action] diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 829c8c550..8ff10bc82 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -183,7 +183,7 @@ ES_UNITS = ( ("D", _("days")), ("W", _("weeks")), ("M", _("months")), - ("L", _("linear meter")), + ("L", _("linear m.")), ) DCT_ES_UNITS = dict(ES_UNITS) diff --git a/archaeological_files/templates/ishtar/forms/preventive_detail.html b/archaeological_files/templates/ishtar/forms/preventive_detail.html index 59ebb8278..3e9ea3bb6 100644 --- a/archaeological_files/templates/ishtar/forms/preventive_detail.html +++ b/archaeological_files/templates/ishtar/forms/preventive_detail.html @@ -92,12 +92,14 @@ $(".form-cost").change(update_units); $(":input").change( function(){ - $("#add-default-costs").addClass("disabled"); - $("#copy-planned-costs").addClass("disabled"); - let disabled_msg = "{% trans 'The form has changed. Submit your modifications first.' %}"; - $("#add-default-costs-div").attr("title", disabled_msg); - $("#copy-planned-costs-div").attr("title", disabled_msg); + if ($(this).attr("type") != "radio"){ + $("#add-default-costs").addClass("disabled"); + $("#copy-planned-costs").addClass("disabled"); + let disabled_msg = "{% trans 'The form has changed. Submit your modifications first.' %}"; + $("#add-default-costs-div").attr("title", disabled_msg); + $("#copy-planned-costs-div").attr("title", disabled_msg); } + } ); check_planned_value(); update_units(); diff --git a/archaeological_files/views.py b/archaeological_files/views.py index d91688ac4..eaeccd1ad 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -546,8 +546,13 @@ def file_edit_preventive_add_default(request, pk, current_right=None): ("default_daily_need_on_ground", models.PreventiveFileGroundJob), ("default_daily_need", models.PreventiveFileJob), ) + price_agreement_id = None + q = models.File.objects.filter(pk=pk).values("price_agreement_id") + if q.count(): + price_agreement_id = q.all()[0]["price_agreement_id"] for attr, job_model in job_attrs: - jobs = models.Job.objects.exclude(**{attr: 0}) + jobs = models.Job.objects.exclude(**{attr: 0}).filter( + price_agreement_id=price_agreement_id) for job in jobs: q = job_model.objects.filter(job=job, file_id=pk) if not q.count(): @@ -558,7 +563,11 @@ def file_edit_preventive_add_default(request, pk, current_right=None): "man_by_day_planned": getattr(job, attr), } job_model.objects.create(**dct) - q = models.EquipmentServiceCost.objects.exclude(default_quantity_by_day=0) + q = models.EquipmentServiceCost.objects.exclude( + default_quantity_by_day=0 + ).filter( + price_agreement_id=price_agreement_id + ) for cost in list(q.all()): q = models.PreventiveFileEquipmentServiceCost.objects.filter( equipment_service_cost=cost, file_id=pk |