mirror of
https://github.com/Kalenis/kalenislims.git
synced 2023-12-14 07:13:04 +01:00
lims_diagnosis: add states images
This commit is contained in:
parent
d3fc8957bf
commit
bc1c1a1b37
8 changed files with 83 additions and 0 deletions
|
@ -21,6 +21,7 @@ def register():
|
|||
analysis.Analysis,
|
||||
analysis.ProductType,
|
||||
html_template.DiagnosisState,
|
||||
html_template.DiagnosisStateImage,
|
||||
html_template.DiagnosisTemplate,
|
||||
html_template.DiagnosisTemplateState,
|
||||
html_template.ReportTemplate,
|
||||
|
@ -50,3 +51,6 @@ def register():
|
|||
results_report.OpenSamplesComparator,
|
||||
notebook.NotebookLineRepeatAnalysis,
|
||||
module='lims_diagnosis', type_='wizard')
|
||||
Pool.register(
|
||||
results_report.ResultReport,
|
||||
module='lims_report_html', type_='report')
|
||||
|
|
|
@ -22,11 +22,24 @@ class DiagnosisState(DictSchemaMixin, ModelSQL, ModelView):
|
|||
__name__ = 'lims.diagnosis.state'
|
||||
_rec_name = 'name'
|
||||
|
||||
images = fields.One2Many('lims.diagnosis.state.image',
|
||||
'state', 'Images')
|
||||
|
||||
@staticmethod
|
||||
def default_type_():
|
||||
return 'selection'
|
||||
|
||||
|
||||
class DiagnosisStateImage(ModelSQL, ModelView):
|
||||
'Diagnosis State Image'
|
||||
__name__ = 'lims.diagnosis.state.image'
|
||||
|
||||
state = fields.Many2One('lims.diagnosis.state', 'State',
|
||||
required=True, ondelete='CASCADE', select=True)
|
||||
name = fields.Char('Name', required=True)
|
||||
image = fields.Binary('Image', required=True)
|
||||
|
||||
|
||||
class DiagnosisTemplateState(ModelSQL):
|
||||
'Diagnosis Template - State'
|
||||
__name__ = 'lims.diagnosis.template-diagnosis.state'
|
||||
|
|
|
@ -71,6 +71,19 @@
|
|||
id="menu_diagnosis_state_list"
|
||||
parent="menu_html_diagnosis_template_list" sequence="10"/>
|
||||
|
||||
<!-- Diagnosis State Image -->
|
||||
|
||||
<record model="ir.ui.view" id="diagnosis_state_image_view_form">
|
||||
<field name="model">lims.diagnosis.state.image</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">diagnosis_state_image_form</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="diagnosis_state_image_view_list">
|
||||
<field name="model">lims.diagnosis.state.image</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">diagnosis_state_image_list</field>
|
||||
</record>
|
||||
|
||||
<!-- Results Report Template -->
|
||||
|
||||
<record model="ir.ui.view" id="template_view_form">
|
||||
|
|
|
@ -14,6 +14,22 @@ msgctxt "field:lims.create_sample.start,diagnostician:"
|
|||
msgid "Diagnostician"
|
||||
msgstr "Diagnosticador"
|
||||
|
||||
msgctxt "field:lims.diagnosis.state,images:"
|
||||
msgid "Images"
|
||||
msgstr "Imágenes"
|
||||
|
||||
msgctxt "field:lims.diagnosis.state.image,image:"
|
||||
msgid "Image"
|
||||
msgstr "Imagen"
|
||||
|
||||
msgctxt "field:lims.diagnosis.state.image,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
msgctxt "field:lims.diagnosis.state.image,state:"
|
||||
msgid "State"
|
||||
msgstr "Estado"
|
||||
|
||||
msgctxt "field:lims.diagnosis.template,content:"
|
||||
msgid "Content"
|
||||
msgstr "Contenido"
|
||||
|
|
|
@ -459,3 +459,27 @@ class Cron(metaclass=PoolMeta):
|
|||
('lims.samples_comparator|clean_buffer',
|
||||
'Delete Samples comparison records'),
|
||||
])
|
||||
|
||||
|
||||
class ResultReport(metaclass=PoolMeta):
|
||||
__name__ = 'lims.result_report'
|
||||
|
||||
@classmethod
|
||||
def get_context(cls, records, data):
|
||||
report_context = super().get_context(records, data)
|
||||
report_context['state_image'] = cls.get_state_image
|
||||
return report_context
|
||||
|
||||
@classmethod
|
||||
def get_state_image(cls, sample, state):
|
||||
DiagnosisState = Pool().get('lims.diagnosis.state')
|
||||
|
||||
diagnosis_states = DiagnosisState.search([('name', '=', state)])
|
||||
if not diagnosis_states:
|
||||
return None
|
||||
diagnosis_state, = diagnosis_states
|
||||
for image in diagnosis_state.images:
|
||||
if image.name == sample.diagnosis_states[state]:
|
||||
return image.image
|
||||
|
||||
return None
|
||||
|
|
|
@ -6,4 +6,5 @@
|
|||
<field name="string"/>
|
||||
<separator id="selection" colspan="4" string="Options"/>
|
||||
<field name="selection" colspan="4"/>
|
||||
<field name="images" colspan="4"/>
|
||||
</form>
|
||||
|
|
7
lims_diagnosis/view/diagnosis_state_image_form.xml
Normal file
7
lims_diagnosis/view/diagnosis_state_image_form.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<form>
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<label name="image"/>
|
||||
<field name="image" widget="image"/>
|
||||
</form>
|
5
lims_diagnosis/view/diagnosis_state_image_list.xml
Normal file
5
lims_diagnosis/view/diagnosis_state_image_list.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="image" widget="image"/>
|
||||
</tree>
|
Loading…
Reference in a new issue