From 0ec880290b3858b26014fcb71f5c71d7b85face5 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Fri, 22 May 2020 21:29:58 +1000 Subject: [PATCH] Functionality for retrieving test templates associated with a given part --- InvenTree/part/models.py | 15 +++++++++++++++ InvenTree/report/models.py | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 4ca77739ac..58eeaef82a 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -41,6 +41,7 @@ from InvenTree.helpers import decimal2string, normalize from InvenTree.status_codes import BuildStatus, PurchaseOrderStatus +from report import models as ReportModels from build import models as BuildModels from order import models as OrderModels from company.models import SupplierPart @@ -358,6 +359,20 @@ class Part(MPTTModel): self.category = category self.save() + def get_test_report_templates(self): + """ + Return all the TestReport template objects which map to this Part. + """ + + templates = [] + + for report in ReportModels.TestReport.objects.all(): + if report.matches_part(self): + templates.append(report) + + return templates + + def get_absolute_url(self): """ Return the web URL for viewing this part """ return reverse('part-detail', kwargs={'pk': self.id}) diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index ffd77a09b1..1c363059e7 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -13,7 +13,7 @@ from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ -from part.models import Part +from part import models as PartModels from django_tex.shortcuts import render_to_pdf from django_weasyprint import WeasyTemplateResponseMixin @@ -186,7 +186,7 @@ class PartFilterMixin(models.Model): filters = self.get_part_filters() - parts = Part.objects.filter(**filters) + parts = PartModels.Part.objects.filter(**filters) parts = parts.filter(pk=part.pk)