summaryrefslogtreecommitdiff
path: root/archaeological_files/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_files/views.py')
-rw-r--r--archaeological_files/views.py34
1 files changed, 26 insertions, 8 deletions
diff --git a/archaeological_files/views.py b/archaeological_files/views.py
index 26787142f..9f45d5e08 100644
--- a/archaeological_files/views.py
+++ b/archaeological_files/views.py
@@ -21,7 +21,7 @@ import json
import re
from django.core.urlresolvers import reverse
-from django.db.models import Q
+from django.db.models import Q, F
from django.http import HttpResponse, Http404, HttpResponseRedirect
from django.forms.formsets import formset_factory
from django.views.generic.edit import UpdateView
@@ -489,7 +489,7 @@ class PreventiveEditView(IshtarMixin, LoginRequiredMixin, MixFormFormsetUpdateVi
return context
-def file_edit_preventive_add_default(request, pk):
+def file_edit_preventive_add_default(request, pk, current_right=None):
job_attrs = (
("default_daily_need_on_ground", models.PreventiveFileGroundJob),
("default_daily_need", models.PreventiveFileJob),
@@ -503,18 +503,36 @@ def file_edit_preventive_add_default(request, pk):
"job": job,
"file_id": pk,
"days_planned": 1,
- "man_by_day_planned": getattr(job, attr)
+ "man_by_day_planned": getattr(job, attr),
}
- job_model.create(**dct)
- q = models.EquipmentServiceCost.exclude(default_quantity_by_day=0)
+ job_model.objects.create(**dct)
+ q = models.EquipmentServiceCost.objects.exclude(default_quantity_by_day=0)
for cost in list(q.all()):
q = models.PreventiveFileEquipmentServiceCost.objects.filter(
- equipment_service_cost=cost, file_id=pk)
+ equipment_service_cost=cost, file_id=pk
+ )
if not q.count():
models.PreventiveFileEquipmentServiceCost.objects.create(
- equipment_service_cost=cost, file_id=pk,
+ equipment_service_cost=cost,
+ file_id=pk,
quantity_by_day_planned=cost.default_quantity_by_day,
- days_planned=1
+ days_planned=1,
)
+ return redirect(reverse("file-edit-preventive", kwargs={"pk": pk}))
+
+def file_edit_preventive_copy_planned(request, pk, current_right=None):
+ job_models = (
+ models.PreventiveFileGroundJob,
+ models.PreventiveFileJob,
+ )
+ for job_model in job_models:
+ job_model.objects.filter(file_id=pk).update(
+ man_by_day_worked=F("man_by_day_planned"), days_worked=F("days_planned")
+ )
+
+ models.PreventiveFileEquipmentServiceCost.objects.filter(file_id=pk).update(
+ quantity_by_day_worked=F("quantity_by_day_planned"),
+ days_worked=F("days_planned"),
+ )
return redirect(reverse("file-edit-preventive", kwargs={"pk": pk}))