Pre-code cleanup.
This commit is contained in:
@@ -134,3 +134,5 @@ class CustomFigure(Figure):
|
||||
|
||||
from .irida_charts import IridaFigure
|
||||
from .pcr_charts import PCRFigure
|
||||
from .concentrations_chart import ConcentrationsChart
|
||||
from .turnaround_chart import TurnaroundChart
|
||||
|
||||
@@ -60,12 +60,12 @@ class InfoPane(QWidget):
|
||||
return abs((d1.year - d2.year) * 12 + d1.month - d2.month)
|
||||
|
||||
def save_excel(self):
|
||||
fname = select_save_file(self, default_name=f"Report {self.start_date.strftime('%Y%m%d')} - {self.end_date.strftime('%Y%m%d')}", extension="xlsx")
|
||||
fname = select_save_file(self, default_name=f"{self.__class__.__name__} Report {self.start_date.strftime('%Y%m%d')} - {self.end_date.strftime('%Y%m%d')}", extension="xlsx")
|
||||
self.report_obj.write_report(fname, obj=self)
|
||||
|
||||
def save_pdf(self):
|
||||
fname = select_save_file(obj=self,
|
||||
default_name=f"Report {self.start_date.strftime('%Y%m%d')} - {self.end_date.strftime('%Y%m%d')}",
|
||||
default_name=f"{self.__class__.__name__} Report {self.start_date.strftime('%Y%m%d')} - {self.end_date.strftime('%Y%m%d')}",
|
||||
extension="pdf")
|
||||
save_pdf(obj=self.webview, filename=fname)
|
||||
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
Contains miscellaneous widgets for frontend functions
|
||||
"""
|
||||
import math
|
||||
from datetime import date
|
||||
from PyQt6.QtGui import QStandardItem, QIcon
|
||||
from PyQt6.QtWidgets import (
|
||||
QLabel, QLineEdit, QComboBox, QDateEdit, QPushButton, QWidget,
|
||||
QHBoxLayout, QSizePolicy
|
||||
)
|
||||
from PyQt6.QtCore import Qt, QDate, QSize, QMarginsF
|
||||
from PyQt6.QtCore import Qt, QDate, QSize
|
||||
from tools import jinja_template_loading
|
||||
from backend.db.models import *
|
||||
import logging
|
||||
@@ -18,98 +17,6 @@ logger = logging.getLogger(f"submissions.{__name__}")
|
||||
env = jinja_template_loading()
|
||||
|
||||
|
||||
# class AddReagentForm(QDialog):
|
||||
# """
|
||||
# dialog to add gather info about new reagent (Defunct)
|
||||
# """
|
||||
#
|
||||
# def __init__(self, reagent_lot: str | None = None, reagent_role: str | None = None, expiry: date | None = None,
|
||||
# reagent_name: str | None = None, kit: str | KitType | None = None) -> None:
|
||||
# super().__init__()
|
||||
# if reagent_name is None:
|
||||
# reagent_name = reagent_role
|
||||
# self.setWindowTitle("Add Reagent")
|
||||
# QBtn = QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel
|
||||
# self.buttonBox = QDialogButtonBox(QBtn)
|
||||
# self.buttonBox.accepted.connect(self.accept)
|
||||
# self.buttonBox.rejected.connect(self.reject)
|
||||
# # NOTE: widget to get lot info
|
||||
# self.name_input = QComboBox()
|
||||
# self.name_input.setObjectName("name")
|
||||
# self.name_input.setEditable(True)
|
||||
# self.name_input.setCurrentText(reagent_name)
|
||||
# self.lot_input = QLineEdit()
|
||||
# self.lot_input.setObjectName("lot")
|
||||
# self.lot_input.setText(reagent_lot)
|
||||
# # NOTE: widget to get expiry info
|
||||
# self.expiry_input = QDateEdit(calendarPopup=True)
|
||||
# self.expiry_input.setObjectName('expiry')
|
||||
# # NOTE: if expiry is not passed in from gui, use today
|
||||
# if expiry is None:
|
||||
# logger.warning(f"Did not receive expiry, setting to 1970, 1, 1")
|
||||
# self.expiry_input.setDate(QDate(1970, 1, 1))
|
||||
# else:
|
||||
# try:
|
||||
# self.expiry_input.setDate(expiry)
|
||||
# except TypeError:
|
||||
# self.expiry_input.setDate(QDate(1970, 1, 1))
|
||||
# # NOTE: widget to get reagent type info
|
||||
# self.role_input = QComboBox()
|
||||
# self.role_input.setObjectName('role')
|
||||
# if kit:
|
||||
# match kit:
|
||||
# case str():
|
||||
# kit = KitType.query(name=kit)
|
||||
# case _:
|
||||
# pass
|
||||
# self.role_input.addItems([item.name for item in ReagentRole.query() if kit in item.kit_types])
|
||||
# else:
|
||||
# self.role_input.addItems([item.name for item in ReagentRole.query()])
|
||||
# # NOTE: convert input to user-friendly string?
|
||||
# try:
|
||||
# reagent_role = reagent_role.replace("_", " ").title()
|
||||
# except AttributeError:
|
||||
# reagent_role = None
|
||||
# # NOTE: set parsed reagent type to top of list
|
||||
# index = self.role_input.findText(reagent_role, Qt.MatchFlag.MatchEndsWith)
|
||||
# if index >= 0:
|
||||
# self.role_input.setCurrentIndex(index)
|
||||
# self.layout = QVBoxLayout()
|
||||
# self.layout.addWidget(QLabel("Name:"))
|
||||
# self.layout.addWidget(self.name_input)
|
||||
# self.layout.addWidget(QLabel("Lot:"))
|
||||
# self.layout.addWidget(self.lot_input)
|
||||
# self.layout.addWidget(
|
||||
# QLabel("Expiry:\n(use exact date on reagent.\nEOL will be calculated from kit automatically)")
|
||||
# )
|
||||
# self.layout.addWidget(self.expiry_input)
|
||||
# self.layout.addWidget(QLabel("Type:"))
|
||||
# self.layout.addWidget(self.role_input)
|
||||
# self.layout.addWidget(self.buttonBox)
|
||||
# self.setLayout(self.layout)
|
||||
# self.role_input.currentTextChanged.connect(self.update_names)
|
||||
#
|
||||
# def parse_form(self) -> dict:
|
||||
# """
|
||||
# Converts information in form to dict.
|
||||
#
|
||||
# Returns:
|
||||
# dict: Output info
|
||||
# """
|
||||
# return dict(name=self.name_input.currentText().strip(),
|
||||
# lot=self.lot_input.text().strip(),
|
||||
# expiry=self.expiry_input.date().toPyDate(),
|
||||
# role=self.role_input.currentText().strip())
|
||||
#
|
||||
# def update_names(self):
|
||||
# """
|
||||
# Updates reagent names form field with examples from reagent type
|
||||
# """
|
||||
# self.name_input.clear()
|
||||
# lookup = Reagent.query(role=self.role_input.currentText())
|
||||
# self.name_input.addItems(list(set([item.name for item in lookup])))
|
||||
#
|
||||
#
|
||||
class StartEndDatePicker(QWidget):
|
||||
"""
|
||||
custom widget to pick start and end dates for controls graphs
|
||||
@@ -135,16 +42,6 @@ class StartEndDatePicker(QWidget):
|
||||
return QSize(80, 20)
|
||||
|
||||
|
||||
# def save_pdf(obj: QWebEngineView, filename: Path):
|
||||
# page_layout = QPageLayout()
|
||||
# page_layout.setPageSize(QPageSize(QPageSize.PageSizeId.A4))
|
||||
# page_layout.setOrientation(QPageLayout.Orientation.Portrait)
|
||||
# page_layout.setMargins(QMarginsF(25, 25, 25, 25))
|
||||
# obj.page().printToPdf(filename.absolute().__str__(), page_layout)
|
||||
|
||||
|
||||
# NOTE: subclass
|
||||
|
||||
class CheckableComboBox(QComboBox):
|
||||
# once there is a checkState set, it is rendered
|
||||
# here we assume default Unchecked
|
||||
|
||||
Reference in New Issue
Block a user