Mid clean-up.
This commit is contained in:
@@ -12,7 +12,7 @@ from PyQt6.QtGui import QAction
|
||||
from pathlib import Path
|
||||
from markdown import markdown
|
||||
from __init__ import project_path
|
||||
from backend import SubmissionType, Reagent, BasicSample, Organization
|
||||
from backend import SubmissionType, Reagent, BasicSample, Organization, KitType
|
||||
from tools import check_if_app, Settings, Report, jinja_template_loading, check_authorization, page_size, is_power_user
|
||||
from .functions import select_save_file, select_open_file
|
||||
# from datetime import date
|
||||
@@ -84,6 +84,7 @@ class App(QMainWindow):
|
||||
maintenanceMenu.addAction(self.joinPCRAction)
|
||||
editMenu.addAction(self.editReagentAction)
|
||||
editMenu.addAction(self.manageOrgsAction)
|
||||
# editMenu.addAction(self.manageKitsAction)
|
||||
if not is_power_user():
|
||||
editMenu.setEnabled(False)
|
||||
|
||||
@@ -111,6 +112,7 @@ class App(QMainWindow):
|
||||
self.yamlImportAction = QAction("Import Type Template", self)
|
||||
self.editReagentAction = QAction("Edit Reagent", self)
|
||||
self.manageOrgsAction = QAction("Manage Clients", self)
|
||||
self.manageKitsAction = QAction("Manage Kits", self)
|
||||
|
||||
def _connectActions(self):
|
||||
"""
|
||||
@@ -129,6 +131,7 @@ class App(QMainWindow):
|
||||
self.table_widget.pager.current_page.textChanged.connect(self.update_data)
|
||||
self.editReagentAction.triggered.connect(self.edit_reagent)
|
||||
self.manageOrgsAction.triggered.connect(self.manage_orgs)
|
||||
self.manageKitsAction.triggered.connect(self.manage_kits)
|
||||
|
||||
def showAbout(self):
|
||||
"""
|
||||
@@ -219,6 +222,11 @@ class App(QMainWindow):
|
||||
new_org = dlg.parse_form()
|
||||
# logger.debug(new_org.__dict__)
|
||||
|
||||
def manage_kits(self):
|
||||
dlg = ManagerWindow(parent=self, object_type=KitType, extras=[])
|
||||
if dlg.exec():
|
||||
print(dlg.parse_form())
|
||||
|
||||
class AddSubForm(QWidget):
|
||||
|
||||
def __init__(self, parent: QWidget):
|
||||
|
||||
@@ -11,7 +11,7 @@ import logging
|
||||
|
||||
from sqlalchemy.orm.relationships import _RelationshipDeclared
|
||||
|
||||
from tools import Report, Result
|
||||
from tools import Report, Result, report_result
|
||||
|
||||
logger = logging.getLogger(f"submissions.{__name__}")
|
||||
|
||||
@@ -23,7 +23,7 @@ class AddEdit(QDialog):
|
||||
self.instance = instance
|
||||
self.object_type = instance.__class__
|
||||
self.layout = QGridLayout(self)
|
||||
logger.debug(f"Manager: {manager}")
|
||||
# logger.debug(f"Manager: {manager}")
|
||||
QBtn = QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel
|
||||
self.buttonBox = QDialogButtonBox(QBtn)
|
||||
self.buttonBox.accepted.connect(self.accept)
|
||||
@@ -36,7 +36,7 @@ class AddEdit(QDialog):
|
||||
fields = {'name': fields.pop('name'), **fields}
|
||||
except KeyError:
|
||||
pass
|
||||
logger.debug(pformat(fields, indent=4))
|
||||
# logger.debug(pformat(fields, indent=4))
|
||||
height_counter = 0
|
||||
for key, field in fields.items():
|
||||
try:
|
||||
@@ -47,7 +47,7 @@ class AddEdit(QDialog):
|
||||
logger.debug(f"{key} property: {type(field['class_attr'].property)}")
|
||||
# widget = EditProperty(self, key=key, column_type=field.property.expression.type,
|
||||
# value=getattr(self.instance, key))
|
||||
logger.debug(f"Column type: {field}, Value: {value}")
|
||||
# logger.debug(f"Column type: {field}, Value: {value}")
|
||||
widget = EditProperty(self, key=key, column_type=field, value=value)
|
||||
except AttributeError as e:
|
||||
logger.error(f"Problem setting widget {key}: {e}")
|
||||
@@ -60,6 +60,7 @@ class AddEdit(QDialog):
|
||||
self.setMinimumSize(600, 50 * height_counter)
|
||||
self.setLayout(self.layout)
|
||||
|
||||
@report_result
|
||||
def parse_form(self) -> Tuple[BaseModel, Report]:
|
||||
report = Report()
|
||||
parsed = {result[0].strip(":"): result[1] for result in [item.parse_form() for item in self.findChildren(EditProperty)] if result[0]}
|
||||
|
||||
@@ -188,6 +188,8 @@ class EditRelationship(QWidget):
|
||||
dlg = AddEdit(self, instance=instance, manager=self.parent().object_type.__name__.lower())
|
||||
if dlg.exec():
|
||||
new_instance = dlg.parse_form()
|
||||
new_instance, result = new_instance.toSQL()
|
||||
logger.debug(f"New instance: {new_instance}")
|
||||
addition = getattr(self.parent().instance, self.objectName())
|
||||
if isinstance(addition, InstrumentedList):
|
||||
addition.append(new_instance)
|
||||
@@ -211,7 +213,7 @@ class EditRelationship(QWidget):
|
||||
sets data in model
|
||||
"""
|
||||
# logger.debug(self.data)
|
||||
self.data = DataFrame.from_records([item.to_dict() for item in self.data])
|
||||
self.data = DataFrame.from_records([item.to_omnigui_dict() for item in self.data])
|
||||
try:
|
||||
self.columns_of_interest = [dict(name=item, column=self.data.columns.get_loc(item)) for item in self.extras]
|
||||
except (KeyError, AttributeError):
|
||||
|
||||
@@ -68,7 +68,11 @@ class SearchBox(QDialog):
|
||||
self.object_type = self.original_type
|
||||
else:
|
||||
self.object_type = self.original_type.find_regular_subclass(self.sub_class.currentText())
|
||||
for iii, searchable in enumerate(self.object_type.searchables):
|
||||
try:
|
||||
search_fields = self.object_type.searchables
|
||||
except AttributeError:
|
||||
search_fields = []
|
||||
for iii, searchable in enumerate(search_fields):
|
||||
widget = FieldSearch(parent=self, label=searchable, field_name=searchable)
|
||||
widget.setObjectName(searchable)
|
||||
self.layout.addWidget(widget, 1 + iii, 0)
|
||||
@@ -142,7 +146,10 @@ class SearchResults(QTableView):
|
||||
self.context = kwargs
|
||||
self.parent = parent
|
||||
self.object_type = object_type
|
||||
self.extras = extras + self.object_type.searchables
|
||||
try:
|
||||
self.extras = extras + self.object_type.searchables
|
||||
except AttributeError:
|
||||
self.extras = extras
|
||||
|
||||
def setData(self, df: DataFrame) -> None:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user