summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit2516d982a4f25452276a20f4e3afa4f50984051e (patch)
tree9907ca50998ac262431617260d07b4fac3ce36ff
parentbb04eed6826f0f3cbe44fc56818fa31148c90f13 (diff)
downloadIshtar-2516d982a4f25452276a20f4e3afa4f50984051e.tar.bz2
Ishtar-2516d982a4f25452276a20f4e3afa4f50984051e.zip
Preventive file form: fix JS - fix default cost add with price agreement
-rw-r--r--archaeological_files/admin.py1
-rw-r--r--archaeological_files/models.py2
-rw-r--r--archaeological_files/templates/ishtar/forms/preventive_detail.html12
-rw-r--r--archaeological_files/views.py13
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