UPdates to managers.
This commit is contained in:
@@ -13,7 +13,7 @@ from PyQt6.QtGui import QAction
|
||||
from pathlib import Path
|
||||
from markdown import markdown
|
||||
from pandas import ExcelWriter
|
||||
from backend.db.models import Reagent, Sample, ClientSubmission, KitType, Run
|
||||
from backend.db.models import Reagent, KitType
|
||||
from tools import (
|
||||
check_if_app, Settings, Report, jinja_template_loading, check_authorization, page_size, is_power_user,
|
||||
under_development
|
||||
@@ -175,6 +175,7 @@ class App(QMainWindow):
|
||||
"""
|
||||
Create a search for sample.
|
||||
"""
|
||||
from backend.db.models.submissions import Sample
|
||||
dlg = SearchBox(self, object_type=Sample, extras=[])
|
||||
dlg.exec()
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ from PyQt6.QtWidgets import (
|
||||
QVBoxLayout, QDialog, QDialogButtonBox
|
||||
)
|
||||
from .misc import CheckableComboBox, StartEndDatePicker
|
||||
from backend.db import SubmissionType
|
||||
from backend.db.models.kits import SubmissionType
|
||||
|
||||
|
||||
class DateTypePicker(QDialog):
|
||||
|
||||
@@ -11,9 +11,9 @@ from PyQt6.QtCore import Qt, QAbstractTableModel, QSortFilterProxyModel, pyqtSlo
|
||||
from PyQt6.QtGui import QAction, QCursor, QStandardItemModel, QStandardItem, QIcon, QColor, QContextMenuEvent
|
||||
from typing import Dict, List
|
||||
|
||||
from backend import Procedure
|
||||
from backend.db.models import Run, ClientSubmission
|
||||
from tools import Report, Result, report_result
|
||||
# from backend import Procedure
|
||||
from backend.db.models import Run, ClientSubmission, Procedure
|
||||
from tools import Report, Result, report_result, get_application_from_parent
|
||||
from .functions import select_open_file
|
||||
|
||||
logger = logging.getLogger(f"procedure.{__name__}")
|
||||
@@ -261,6 +261,7 @@ class SubmissionsTree(QTreeView):
|
||||
|
||||
def __init__(self, model, parent=None):
|
||||
super(SubmissionsTree, self).__init__(parent)
|
||||
self.app = get_application_from_parent(parent)
|
||||
self.total_count = ClientSubmission.__database_session__.query(ClientSubmission).count()
|
||||
# self.setIndentation(0)
|
||||
self.setExpandsOnDoubleClick(False)
|
||||
|
||||
@@ -6,6 +6,8 @@ from PyQt6.QtWidgets import (
|
||||
QComboBox, QDateEdit, QLineEdit, QLabel, QCheckBox, QHBoxLayout, QGridLayout
|
||||
)
|
||||
from PyQt6.QtCore import pyqtSignal, Qt, QSignalBlocker
|
||||
|
||||
from backend.managers import DefaultClientSubmission
|
||||
from .functions import select_open_file, select_save_file
|
||||
import logging
|
||||
from pathlib import Path
|
||||
@@ -120,25 +122,28 @@ class SubmissionFormContainer(QWidget):
|
||||
report.add_result(Result(msg=f"File {fname.__str__()} not found.", status="critical"))
|
||||
return report
|
||||
# NOTE: create sheetparser using excel sheet and context from gui
|
||||
try:
|
||||
self.clientsubmissionparser = ClientSubmissionInfoParser(filepath=fname)
|
||||
except PermissionError:
|
||||
logger.error(f"Couldn't get permission to access file: {fname}")
|
||||
return
|
||||
except AttributeError:
|
||||
self.clientsubmissionparser = ClientSubmissionInfoParser(filepath=fname)
|
||||
try:
|
||||
# self.prsr = SheetParser(filepath=fname)
|
||||
self.sampleparser = ClientSubmissionSampleParser(filepath=fname)
|
||||
except PermissionError:
|
||||
logger.error(f"Couldn't get permission to access file: {fname}")
|
||||
return
|
||||
except AttributeError:
|
||||
self.sampleparser = ClientSubmissionSampleParser(filepath=fname)
|
||||
self.pydclientsubmission = self.clientsubmissionparser.to_pydantic()
|
||||
self.pydsamples = self.sampleparser.to_pydantic()
|
||||
# try:
|
||||
# self.clientsubmissionparser = ClientSubmissionInfoParser(filepath=fname)
|
||||
# except PermissionError:
|
||||
# logger.error(f"Couldn't get permission to access file: {fname}")
|
||||
# return
|
||||
# except AttributeError:
|
||||
# self.clientsubmissionparser = ClientSubmissionInfoParser(filepath=fname)
|
||||
# try:
|
||||
# # self.prsr = SheetParser(filepath=fname)
|
||||
# self.sampleparser = ClientSubmissionSampleParser(filepath=fname)
|
||||
# except PermissionError:
|
||||
# logger.error(f"Couldn't get permission to access file: {fname}")
|
||||
# return
|
||||
# except AttributeError:
|
||||
# self.sampleparser = ClientSubmissionSampleParser(filepath=fname)
|
||||
|
||||
# self.pydclientsubmission = self.clientsubmissionparser.to_pydantic()
|
||||
# self.pydsamples = self.sampleparser.to_pydantic()
|
||||
# logger.debug(f"Samples: {pformat(self.pydclientsubmission.sample)}")
|
||||
checker = SampleChecker(self, "Sample Checker", self.pydsamples)
|
||||
self.clientsubmission_manager = DefaultClientSubmission(parent=self, fname=fname)
|
||||
self.pydclientsubmission = self.clientsubmission_manager.parse()
|
||||
checker = SampleChecker(self, "Sample Checker", self.pydclientsubmission.samples)
|
||||
if checker.exec():
|
||||
# logger.debug(pformat(self.pydclientsubmission.sample))
|
||||
try:
|
||||
@@ -147,7 +152,7 @@ class SubmissionFormContainer(QWidget):
|
||||
logger.error(f"Got wrong type for {self.pydclientsubmission}: {type(self.pydclientsubmission)}")
|
||||
raise e
|
||||
self.form = self.pydclientsubmission.to_form(parent=self)
|
||||
self.form.samples = self.pydsamples
|
||||
# self.form.samples = self.pydsamples
|
||||
self.layout().addWidget(self.form)
|
||||
else:
|
||||
message = "Submission cancelled."
|
||||
|
||||
Reference in New Issue
Block a user