Allow for grabbing of single kit if only one exists for submission type.

This commit is contained in:
lwark
2024-11-13 13:36:03 -06:00
parent 816a0a45f8
commit 514781fd29
9 changed files with 59 additions and 28 deletions

View File

@@ -1,6 +1,7 @@
"""
Constructs main application.
"""
import os
from pprint import pformat
from PyQt6.QtCore import qInstallMessageHandler
from PyQt6.QtWidgets import (
@@ -213,7 +214,7 @@ class App(QMainWindow):
None
"""
if check_if_app():
yaml_path = Path(sys._MEIPASS).joinpath("resources", "viral_culture.yml")
yaml_path = Path(sys._MEIPASS).joinpath("files", "resources", "viral_culture.yml")
else:
yaml_path = project_path.joinpath("src", "submissions", "resources", "viral_culture.yml")
fname = select_save_file(obj=self, default_name="Submission Type Template.yml", extension="yml")

View File

@@ -225,7 +225,8 @@ class SubmissionFormWidget(QWidget):
if k == "extraction_kit":
add_widget.input.currentTextChanged.connect(self.scrape_reagents)
self.setStyleSheet(main_form_style)
self.scrape_reagents(self.pyd.extraction_kit)
# self.scrape_reagents(self.pyd.extraction_kit)
self.scrape_reagents(self.extraction_kit)
def create_widget(self, key: str, value: dict | PydReagent, submission_type: str | SubmissionType| None = None,
extraction_kit: str | None = None, sub_obj: BasicSubmission | None = None,
@@ -275,9 +276,9 @@ class SubmissionFormWidget(QWidget):
Returns:
Tuple[QMainWindow, dict]: Updated application and result
"""
extraction_kit = args[0]
self.extraction_kit = args[0]
report = Report()
logger.debug(f"Extraction kit: {extraction_kit}")
logger.debug(f"Extraction kit: {self.extraction_kit}")
# NOTE: Remove previous reagent widgets
try:
old_reagents = self.find_widgets()
@@ -288,10 +289,11 @@ class SubmissionFormWidget(QWidget):
for reagent in old_reagents:
if isinstance(reagent, self.ReagentFormWidget) or isinstance(reagent, QPushButton):
reagent.setParent(None)
reagents, integrity_report = self.pyd.check_kit_integrity(extraction_kit=extraction_kit)
reagents, integrity_report = self.pyd.check_kit_integrity(extraction_kit=self.extraction_kit)
logger.debug(f"Got reagents: {pformat(reagents)}")
for reagent in reagents:
add_widget = self.ReagentFormWidget(parent=self, reagent=reagent, extraction_kit=self.pyd.extraction_kit)
# add_widget = self.ReagentFormWidget(parent=self, reagent=reagent, extraction_kit=self.pyd.extraction_kit)
add_widget = self.ReagentFormWidget(parent=self, reagent=reagent, extraction_kit=self.extraction_kit)
self.layout.addWidget(add_widget)
report.add_result(integrity_report)
# logger.debug(f"Outgoing report: {report.results}")
@@ -569,6 +571,7 @@ class SubmissionFormWidget(QWidget):
obj.ext_kit = uses[0]
add_widget.addItems(uses)
add_widget.setToolTip("Select extraction kit.")
parent.extraction_kit = add_widget.currentText()
case 'submission_category':
add_widget = MyQComboBox(scrollWidget=parent)
cats = ['Diagnostic', "Surveillance", "Research"]

View File

@@ -56,6 +56,7 @@ class Summary(QWidget):
# NOTE: convert to python useable date objects
self.start_date = self.datepicker.start_date.date().toPyDate()
self.end_date = self.datepicker.end_date.date().toPyDate()
logger.debug(f"Getting report from {self.start_date} to {self.end_date} using {orgs}")
self.report_obj = ReportMaker(start_date=self.start_date, end_date=self.end_date, organizations=orgs)
self.webview.setHtml(self.report_obj.html)
if self.report_obj.subs: