lims_diagnosis: show diagnosis warning in approval of results report
This commit is contained in:
parent
fce61ce67f
commit
4a243f3f07
|
@ -18,6 +18,6 @@
|
|||
<field name="converted_result"/>
|
||||
<field name="final_unit"/>
|
||||
<field name="literal_result"/>
|
||||
<field name="hide"/>
|
||||
<field name="comments"/>
|
||||
<field name="hide"/>
|
||||
</tree>
|
||||
|
|
|
@ -26,6 +26,7 @@ def register():
|
|||
sample.CreateSampleStart,
|
||||
results_report.ResultsReportVersionDetail,
|
||||
results_report.ResultsReportVersionDetailSample,
|
||||
results_report.ResultsReportVersionDetailLine,
|
||||
results_report.ChangeSampleDiagnosticianStart,
|
||||
notebook.Notebook,
|
||||
notebook.NotebookLine,
|
||||
|
|
|
@ -70,6 +70,10 @@ msgctxt "field:lims.results_report.version.detail,diagnostician:"
|
|||
msgid "Diagnostician"
|
||||
msgstr "Diagnosticador"
|
||||
|
||||
msgctxt "field:lims.results_report.version.detail.line,diagnosis_warning:"
|
||||
msgid "Diagnosis Warning"
|
||||
msgstr "Advertencia de diagnóstico"
|
||||
|
||||
msgctxt "field:lims.results_report.version.detail.sample,diagnosis:"
|
||||
msgid "Diagnosis"
|
||||
msgstr "Diagnóstico"
|
||||
|
@ -83,7 +87,7 @@ msgctxt ""
|
|||
msgid "States domain"
|
||||
msgstr "Dominio para Estados"
|
||||
|
||||
msgctxt "field:lims.sample,diagnosis_warning:"
|
||||
msgctxt "field:lims.results_report.version.detail.sample,diagnosis_warning:"
|
||||
msgid "Diagnosis Warning"
|
||||
msgstr "Advertencia de diagnóstico"
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# the full copyright notices and license terms.
|
||||
|
||||
from trytond.model import fields
|
||||
from trytond.pool import PoolMeta
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
|
||||
__all__ = ['Notebook', 'NotebookLine']
|
||||
|
||||
|
@ -14,10 +14,25 @@ class Notebook(metaclass=PoolMeta):
|
|||
diagnostician = fields.Function(fields.Many2One('lims.diagnostician',
|
||||
'Diagnostician'), 'get_sample_field')
|
||||
diagnosis_warning = fields.Function(fields.Boolean('Diagnosis Warning'),
|
||||
'get_sample_field')
|
||||
'get_diagnosis_warning')
|
||||
|
||||
@classmethod
|
||||
def get_diagnosis_warning(cls, notebooks, name):
|
||||
NotebookLine = Pool().get('lims.notebook.line')
|
||||
result = {}
|
||||
for n in notebooks:
|
||||
lines = NotebookLine.search_count([
|
||||
('notebook', '=', n.id),
|
||||
('diagnosis_warning', '=', True),
|
||||
])
|
||||
if lines > 0:
|
||||
result[n.id] = True
|
||||
else:
|
||||
result[n.id] = False
|
||||
return result
|
||||
|
||||
|
||||
class NotebookLine(metaclass=PoolMeta):
|
||||
__name__ = 'lims.notebook.line'
|
||||
|
||||
diagnosis_warning = fields.Boolean('Diagnosis Warning')
|
||||
diagnosis_warning = fields.Boolean('Diagnosis Warning', select=True)
|
||||
|
|
|
@ -9,8 +9,8 @@ from trytond.pyson import Eval
|
|||
from trytond.transaction import Transaction
|
||||
|
||||
__all__ = ['ResultsReportVersionDetail', 'ResultsReportVersionDetailSample',
|
||||
'ResultReport', 'ChangeSampleDiagnosticianStart',
|
||||
'ChangeSampleDiagnostician']
|
||||
'ResultsReportVersionDetailLine', 'ResultReport',
|
||||
'ChangeSampleDiagnosticianStart', 'ChangeSampleDiagnostician']
|
||||
|
||||
|
||||
class ResultsReportVersionDetail(metaclass=PoolMeta):
|
||||
|
@ -93,6 +93,8 @@ class ResultsReportVersionDetailSample(metaclass=PoolMeta):
|
|||
diagnosis_states_domain = fields.Function(fields.Many2Many(
|
||||
'lims.diagnosis.state', None, None, 'States domain'),
|
||||
'on_change_with_diagnosis_states_domain')
|
||||
diagnosis_warning = fields.Function(fields.Boolean('Diagnosis Warning'),
|
||||
'get_notebook_field')
|
||||
|
||||
@fields.depends('version_detail',
|
||||
'_parent_version_detail.diagnosis_template')
|
||||
|
@ -113,6 +115,13 @@ class ResultsReportVersionDetailSample(metaclass=PoolMeta):
|
|||
return sample_default
|
||||
|
||||
|
||||
class ResultsReportVersionDetailLine(metaclass=PoolMeta):
|
||||
__name__ = 'lims.results_report.version.detail.line'
|
||||
|
||||
diagnosis_warning = fields.Function(fields.Boolean('Diagnosis Warning'),
|
||||
'get_nline_field')
|
||||
|
||||
|
||||
class ResultReport(metaclass=PoolMeta):
|
||||
__name__ = 'lims.result_report'
|
||||
|
||||
|
|
|
@ -37,12 +37,25 @@
|
|||
|
||||
<!-- Results Report Version Detail Sample -->
|
||||
|
||||
<record model="ir.ui.view" id="results_report_version_detail_sample_view_list">
|
||||
<field name="model">lims.results_report.version.detail.sample</field>
|
||||
<field name="inherit" ref="lims.lims_results_report_version_detail_sample_view_list"/>
|
||||
<field name="name">results_report_version_detail_sample_list</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="results_report_version_detail_sample_view_form">
|
||||
<field name="model">lims.results_report.version.detail.sample</field>
|
||||
<field name="inherit" ref="lims.lims_results_report_version_detail_sample_view_form"/>
|
||||
<field name="name">results_report_version_detail_sample_form</field>
|
||||
</record>
|
||||
|
||||
<!-- Results Report Version Detail Line -->
|
||||
|
||||
<record model="ir.ui.view" id="results_report_version_detail_line_view_list">
|
||||
<field name="model">lims.results_report.version.detail.line</field>
|
||||
<field name="inherit" ref="lims.lims_results_report_version_detail_line_view_list"/>
|
||||
<field name="name">results_report_version_detail_line_list</field>
|
||||
</record>
|
||||
|
||||
<!-- Wizard Change Sample Diagnostician -->
|
||||
|
||||
<record model="ir.ui.view" id="notebook_change_diagnostician_view_form">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# the full copyright notices and license terms.
|
||||
|
||||
from trytond.model import fields
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
__all__ = ['Sample', 'CreateSampleStart', 'CreateSample']
|
||||
|
||||
|
@ -12,25 +12,6 @@ class Sample(metaclass=PoolMeta):
|
|||
__name__ = 'lims.sample'
|
||||
|
||||
diagnostician = fields.Many2One('lims.diagnostician', 'Diagnostician')
|
||||
diagnosis_warning = fields.Function(fields.Boolean('Diagnosis Warning'),
|
||||
'get_diagnosis_warning')
|
||||
|
||||
@classmethod
|
||||
def get_diagnosis_warning(cls, samples, name):
|
||||
pool = Pool()
|
||||
NotebookLine = pool.get('lims.notebook.line')
|
||||
|
||||
result = {}
|
||||
for s in samples:
|
||||
lines = NotebookLine.search_count([
|
||||
('sample', '=', s.id),
|
||||
('diagnosis_warning', '=', True),
|
||||
])
|
||||
if lines > 0:
|
||||
result[s.id] = True
|
||||
else:
|
||||
result[s.id] = False
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def create(cls, vlist):
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<data>
|
||||
<xpath expr="/tree/field[@name='comments']" position="before">
|
||||
<field name="diagnosis_warning"/>
|
||||
</xpath>
|
||||
</data>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<data>
|
||||
<xpath expr="/tree/field[@name='matrix']" position="after">
|
||||
<field name="diagnosis_warning"/>
|
||||
</xpath>
|
||||
</data>
|
Loading…
Reference in New Issue