Pre large refactor of templates.

This commit is contained in:
lwark
2025-06-12 09:48:01 -05:00
parent d652de4650
commit 0233bc3ac2
4 changed files with 19 additions and 10 deletions

View File

@@ -554,7 +554,7 @@ class BaseClass(Base):
output_date = datetime.combine(output_date, addition_time).strftime("%Y-%m-%d %H:%M:%S")
return output_date
def details_dict(self, expand_children: list = []):
def details_dict(self):
relevant = {k: v for k, v in self.__class__.__dict__.items() if
isinstance(v, InstrumentedAttribute) or isinstance(v, AssociationProxy)}
output = {}

View File

@@ -1418,7 +1418,7 @@ class Procedure(BaseClass):
def delete(self, obj):
logger.debug("Delete!")
def details_dict(self):
def details_dict(self, **kwargs):
output = super().details_dict()
output['kittype'] = output['kittype'].details_dict()
output['proceduretype'] = output['proceduretype'].details_dict()
@@ -1882,7 +1882,7 @@ class ProcedureReagentAssociation(BaseClass):
from backend.validators import PydReagent
return PydReagent(**self.to_sub_dict(kittype=kittype))
def details_dict(self):
def details_dict(self, **kwargs):
output = super().details_dict()
# NOTE: Figure out how to merge the misc_info if doing .update instead.
relevant = {k: v for k, v in output.items() if k not in ['reagent']}
@@ -2337,7 +2337,7 @@ class ProcedureEquipmentAssociation(BaseClass):
query = query.filter(cls.equipmentrole == equipmentrole)
return cls.execute_query(query=query, limit=limit, **kwargs)
def details_dict(self):
def details_dict(self, **kwargs):
output = super().details_dict()
# NOTE: Figure out how to merge the misc_info if doing .update instead.
relevant = {k: v for k, v in output.items() if k not in ['equipment']}
@@ -2814,6 +2814,16 @@ class ProcedureTipsAssociation(BaseClass):
from backend.validators import PydTips
return PydTips(name=self.tips.name, lot=self.tips.lot, role=self.role_name)
def details_dict(self, **kwargs):
output = super().details_dict()
# NOTE: Figure out how to merge the misc_info if doing .update instead.
relevant = {k: v for k, v in output.items() if k not in ['tips']}
output = output['tips'].details_dict()
misc = output['_misc_info']
output.update(relevant)
output['_misc_info'] = misc
return output
class Results(BaseClass):

View File

@@ -333,6 +333,7 @@ class ClientSubmission(BaseClass, LogMixin):
output['submissiontype'] = output['submissiontype'].details_dict()
output['run'] = [run.details_dict() for run in output['run']]
output['sample'] = [sample.details_dict() for sample in output['clientsubmissionsampleassociation']]
output['name'] = self.name
return output
@@ -590,7 +591,7 @@ class Run(BaseClass, LogMixin):
output["completed_date"] = self.completed_date
return output
def details_dict(self):
def details_dict(self, **kwargs):
output = super().details_dict()
output['sample'] = [sample.details_dict() for sample in output['runsampleassociation']]
output['procedure'] = [procedure.details_dict() for procedure in output['procedure']]
@@ -1636,7 +1637,7 @@ class ClientSubmissionSampleAssociation(BaseClass):
sample['submission_rank'] = self.submission_rank
return sample
def details_dict(self):
def details_dict(self, **kwargs):
output = super().details_dict()
# NOTE: Figure out how to merge the misc_info if doing .update instead.
relevant = {k: v for k, v in output.items() if k not in ['sample']}
@@ -2055,7 +2056,7 @@ class RunSampleAssociation(BaseClass):
def delete(self):
raise AttributeError(f"Delete not implemented for {self.__class__}")
def details_dict(self):
def details_dict(self, **kwargs):
output = super().details_dict()
# NOTE: Figure out how to merge the misc_info if doing .update instead.
relevant = {k: v for k, v in output.items() if k not in ['sample']}
@@ -2126,7 +2127,7 @@ class ProcedureSampleAssociation(BaseClass):
logger.error(f"Problem incrementing id: {e}")
return 1
def details_dict(self):
def details_dict(self, **kwargs):
output = super().details_dict()
# NOTE: Figure out how to merge the misc_info if doing .update instead.
relevant = {k: v for k, v in output.items() if k not in ['sample']}

View File

@@ -7,13 +7,11 @@
<style>
{% for c in css %}
{{ c }}
{% endfor %}
</style>
{% endif %}
<script src="qrc:///qtwebchannel/qwebchannel.js"></script>
{% endblock %}
</head>
<body>
{% block body %}