From ecc06d31ad248eb2fe819f3407296e659cdcf907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isak=20Ohlsson=20=C3=85ngnell?= <40887124+islean@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:28:48 +0100 Subject: [PATCH] Patch case addition to order form (#3990) (patch) ### Fixed - The cases field in the response from the order form parser is only populated for relevant order types --- cg/apps/orderform/orderform_parser.py | 8 +++++--- cg/apps/orderform/utils.py | 11 +++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cg/apps/orderform/orderform_parser.py b/cg/apps/orderform/orderform_parser.py index 9e84f72fe4..48e52bd6de 100644 --- a/cg/apps/orderform/orderform_parser.py +++ b/cg/apps/orderform/orderform_parser.py @@ -4,6 +4,7 @@ from pydantic import BaseModel, ConfigDict, constr +from cg.apps.orderform.utils import ORDER_TYPES_WITH_CASES from cg.constants import DataDelivery from cg.exc import OrderFormError from cg.models.orders.order import OrderType @@ -142,10 +143,11 @@ def expand_case(case_id: str, case_samples: list[OrderSample]) -> OrderCase: def generate_orderform(self) -> Orderform: """Generate an orderform""" - cases_map: dict[str, list[OrderSample]] = self.group_cases() case_objs: list[OrderCase] = [] - for case_id in cases_map: - case_objs.append(self.expand_case(case_id=case_id, case_samples=cases_map[case_id])) + if self.project_type in ORDER_TYPES_WITH_CASES: + cases_map: dict[str, list[OrderSample]] = self.group_cases() + for case_id in cases_map: + case_objs.append(self.expand_case(case_id=case_id, case_samples=cases_map[case_id])) return Orderform( comment=self.order_comment, samples=self.samples, diff --git a/cg/apps/orderform/utils.py b/cg/apps/orderform/utils.py index 47fc6bccda..e1a93c587e 100644 --- a/cg/apps/orderform/utils.py +++ b/cg/apps/orderform/utils.py @@ -1,5 +1,16 @@ +from cg.models.orders.constants import OrderType from cg.models.orders.excel_sample import ExcelSample +ORDER_TYPES_WITH_CASES = [ + OrderType.BALSAMIC, + OrderType.BALSAMIC_QC, + OrderType.BALSAMIC_UMI, + OrderType.MIP_DNA, + OrderType.MIP_RNA, + OrderType.RNAFUSION, + OrderType.TOMTE, +] + def are_all_samples_metagenome(samples: list[ExcelSample]) -> bool: """Check if all samples are metagenome samples"""