clinical_laboratory/lims_management/views/menus.xml
Luis Ernesto Portillo Zaldivar 619c6a3afa feat(#8): Task 5 completada - Configuración de validación opcional
- Modelo res.config.settings con parámetro lims_require_validation
- Método _compute_require_validation usa la configuración
- Auto-validación cuando no se requiere validación manual
- Vista de configuración en Laboratorio > Configuración > Ajustes
- Instancia validada sin errores
2025-07-15 00:59:52 -06:00

179 lines
7.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!-- Menú Principal -->
<menuitem
id="lims_menu_root"
name="Laboratorio"
sequence="10"/>
<!-- Acción de Ventana para Pacientes -->
<record id="action_lims_patient" model="ir.actions.act_window">
<field name="name">Pacientes</field>
<field name="res_model">res.partner</field>
<field name="view_mode">list,form</field>
<field name="view_id" ref="lims_management.view_patient_tree"/>
<field name="domain">[('is_patient', '=', True)]</field>
<field name="context">{'default_is_patient': True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Crea un nuevo paciente
</p>
</field>
</record>
<!-- Submenú de Pacientes -->
<menuitem
id="lims_menu_patients"
name="Pacientes"
parent="lims_menu_root"
action="action_lims_patient"
sequence="20"/>
<!-- Acción de Ventana para Doctores -->
<record id="action_lims_doctor" model="ir.actions.act_window">
<field name="name">Doctores</field>
<field name="res_model">res.partner</field>
<field name="view_mode">list,form</field>
<field name="view_id" ref="lims_management.view_doctor_tree"/>
<field name="domain">[('is_doctor', '=', True)]</field>
<field name="context">{'default_is_doctor': True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Crea un nuevo doctor
</p>
</field>
</record>
<!-- Submenú de Doctores -->
<menuitem
id="lims_menu_doctors"
name="Doctores"
parent="lims_menu_root"
action="action_lims_doctor"
sequence="30"/>
<!-- Acción de Ventana para Solicitudes de Laboratorio -->
<record id="action_lims_lab_request" model="ir.actions.act_window">
<field name="name">Solicitudes de Laboratorio</field>
<field name="res_model">sale.order</field>
<field name="view_mode">list,form</field>
<field name="domain">[('is_lab_request', '=', True)]</field>
<field name="context">{'default_is_lab_request': True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Crea una nueva solicitud de laboratorio
</p>
</field>
</record>
<!-- Menú para Solicitudes de Laboratorio -->
<menuitem
id="lims_menu_lab_requests"
name="Solicitudes de Laboratorio"
parent="lims_menu_root"
action="action_lims_lab_request"
sequence="15"/>
<!-- Acción de Ventana para Muestras de Laboratorio -->
<record id="action_lims_lab_sample" model="ir.actions.act_window">
<field name="name">Muestras de Laboratorio</field>
<field name="res_model">stock.lot</field>
<field name="view_mode">list,form</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('view_lab_sample_list')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('view_lab_sample_form')})]"/>
<field name="domain">[('is_lab_sample', '=', True)]</field>
<field name="context" eval="{
'default_is_lab_sample': True
}"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Crea una nueva muestra de laboratorio
</p>
</field>
</record>
<!-- Menú para Muestras de Laboratorio -->
<menuitem
id="lims_menu_lab_samples"
name="Muestras"
parent="lims_menu_root"
action="action_lims_lab_sample"
sequence="16"/>
<!-- Menú para Pruebas -->
<menuitem id="menu_lims_tests"
name="Pruebas"
parent="lims_menu_root"
action="action_lims_test"
sequence="25"/>
<!-- Submenú de Configuración -->
<menuitem
id="lims_menu_config"
name="Configuración"
parent="lims_menu_root"
sequence="100"/>
<!-- Acción de Ventana para Catálogo de Análisis -->
<record id="action_lims_analysis_catalog" model="ir.actions.act_window">
<field name="name">Análisis Clínicos</field>
<field name="res_model">product.template</field>
<field name="view_mode">kanban,form</field>
<field name="domain">[('is_analysis', '=', True)]</field>
<field name="context" eval="{
'default_is_analysis': True,
'default_type': 'service',
'default_purchase_ok': False,
'default_categ_id': ref('lims_management.product_category_analysis')
}"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Crea un nuevo análisis clínico
</p>
</field>
</record>
<!-- Menú para Catálogo de Análisis -->
<menuitem
id="lims_menu_analysis_catalog"
name="Análisis Clínicos"
parent="lims_menu_config"
action="action_lims_analysis_catalog"
sequence="10"/>
<!-- Acción de Ventana para Tipos de Muestra -->
<record id="action_lims_sample_type_catalog" model="ir.actions.act_window">
<field name="name">Tipos de Muestra</field>
<field name="res_model">product.template</field>
<field name="view_mode">kanban,form</field>
<field name="domain">[('is_sample_type', '=', True)]</field>
<field name="context" eval="{
'default_is_sample_type': True,
'default_type': 'service'
}"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Crea un nuevo tipo de muestra
</p>
</field>
</record>
<!-- Menú para Tipos de Muestra -->
<menuitem
id="lims_menu_sample_type_catalog"
name="Tipos de Muestra"
parent="lims_menu_config"
action="action_lims_sample_type_catalog"
sequence="20"/>
<!-- Menú de configuración de ajustes -->
<menuitem id="menu_lims_config_settings"
name="Ajustes"
parent="lims_menu_config"
action="lims_management.action_lims_config_settings"
sequence="100"/>
</data>
</odoo>