From 1d3f7f13296636b2e1054cf31eb6b007f5e91c2b Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 7 Jul 2022 11:12:16 +0200 Subject: Preventive file form: filter jobs and equipements by price agreement --- archaeological_files/forms.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'archaeological_files/forms.py') diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index 1958cb2ae..d6ce59b28 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -686,7 +686,13 @@ class PreventiveFileGenJobForm(PreventiveFileForm): current_value = None if hasattr(self.instance, "job") and self.instance.job: current_value = self.instance.job - self.fields["job"].choices = models.Job.get_choices(current_value) + price_agreement_id = None + q = models.File.objects.filter(pk=self.file_id).values("price_agreement_id") + if q.count(): + price_agreement_id = q.all()[0]["price_agreement_id"] + self.fields["job"].choices = models.Job.get_choices( + current_value, price_agreement_id=price_agreement_id + ) def save(self, commit=True): item = super().save(commit=True) @@ -796,9 +802,14 @@ class PreventiveFileEquipmentServiceForm(PreventiveFileForm): def __init__(self, *args, **kwargs): super(PreventiveFileEquipmentServiceForm, self).__init__(*args, **kwargs) + price_agreement_id = None + q = models.File.objects.filter(pk=self.file_id).values("price_agreement_id") + if q.count(): + price_agreement_id = q.all()[0]["price_agreement_id"] q = models.EquipmentServiceCost.objects.filter( available=True, parent__isnull=True, + price_agreement_id=price_agreement_id, equipment_service_type__generic_equipment_type__txt_idx=self.type_filter, ) -- cgit v1.2.3