lims_diagnosis: check for valid diagnosis states
This commit is contained in:
parent
7c3ebad715
commit
56a05394b3
|
@ -268,6 +268,10 @@ msgctxt "model:ir.message,text:lbl_line_acceptance"
|
||||||
msgid "Notebook Line Acceptance"
|
msgid "Notebook Line Acceptance"
|
||||||
msgstr "Aceptación de Línea de cuaderno"
|
msgstr "Aceptación de Línea de cuaderno"
|
||||||
|
|
||||||
|
msgctxt "model:ir.message,text:msg_invalid_diagnosis_state"
|
||||||
|
msgid "Missing diagnosis states"
|
||||||
|
msgstr "Faltan estados de diagnóstico"
|
||||||
|
|
||||||
msgctxt "model:ir.ui.menu,name:lims_open_samples_comparator_menu"
|
msgctxt "model:ir.ui.menu,name:lims_open_samples_comparator_menu"
|
||||||
msgid "Samples Comparator"
|
msgid "Samples Comparator"
|
||||||
msgstr "Comparador de muestras"
|
msgstr "Comparador de muestras"
|
||||||
|
@ -288,6 +292,10 @@ msgctxt "model:lims.diagnosis.state,name:"
|
||||||
msgid "Diagnosis State"
|
msgid "Diagnosis State"
|
||||||
msgstr "Estado de Diagnóstico"
|
msgstr "Estado de Diagnóstico"
|
||||||
|
|
||||||
|
msgctxt "model:lims.diagnosis.state.image,name:"
|
||||||
|
msgid "Diagnosis State Image"
|
||||||
|
msgstr "Imagen de Estado de diagnóstico"
|
||||||
|
|
||||||
msgctxt "model:lims.diagnosis.template,name:"
|
msgctxt "model:lims.diagnosis.template,name:"
|
||||||
msgid "Diagnosis Template"
|
msgid "Diagnosis Template"
|
||||||
msgstr "Plantilla de Diagnóstico"
|
msgstr "Plantilla de Diagnóstico"
|
||||||
|
|
|
@ -4,5 +4,8 @@
|
||||||
<record model="ir.message" id="lbl_line_acceptance">
|
<record model="ir.message" id="lbl_line_acceptance">
|
||||||
<field name="text">Notebook Line Acceptance</field>
|
<field name="text">Notebook Line Acceptance</field>
|
||||||
</record>
|
</record>
|
||||||
|
<record model="ir.message" id="msg_invalid_diagnosis_state">
|
||||||
|
<field name="text">Missing diagnosis states</field>
|
||||||
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</tryton>
|
</tryton>
|
||||||
|
|
|
@ -8,6 +8,7 @@ from trytond.wizard import Wizard, StateTransition, StateView, StateAction, \
|
||||||
from trytond.pool import Pool, PoolMeta
|
from trytond.pool import Pool, PoolMeta
|
||||||
from trytond.pyson import Eval, Not, Bool
|
from trytond.pyson import Eval, Not, Bool
|
||||||
from trytond.transaction import Transaction
|
from trytond.transaction import Transaction
|
||||||
|
from trytond.exceptions import UserError
|
||||||
from trytond.i18n import gettext
|
from trytond.i18n import gettext
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,8 +38,20 @@ class ResultsReportVersionDetail(metaclass=PoolMeta):
|
||||||
@classmethod
|
@classmethod
|
||||||
@ModelView.button
|
@ModelView.button
|
||||||
def diagnose(cls, details):
|
def diagnose(cls, details):
|
||||||
|
cls.check_diagnosis_states(details)
|
||||||
cls.write(details, {'state': 'diagnosed'})
|
cls.write(details, {'state': 'diagnosed'})
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def check_diagnosis_states(cls, details):
|
||||||
|
for detail in details:
|
||||||
|
for sample in detail.samples:
|
||||||
|
if not sample.diagnosis_states:
|
||||||
|
continue
|
||||||
|
for state in sample.diagnosis_states.values():
|
||||||
|
if state == '*':
|
||||||
|
raise UserError(gettext(
|
||||||
|
'lims_diagnosis.msg_invalid_diagnosis_state'))
|
||||||
|
|
||||||
@fields.depends('template', '_parent_template.diagnosis_template',
|
@fields.depends('template', '_parent_template.diagnosis_template',
|
||||||
methods=['on_change_diagnosis_template'])
|
methods=['on_change_diagnosis_template'])
|
||||||
def on_change_template(self):
|
def on_change_template(self):
|
||||||
|
|
Loading…
Reference in New Issue