clinical_laboratory/lims_management/views/parameter_dashboard_views.xml
Luis Ernesto Portillo Zaldivar 0a7e3a1b12 fix: Corregir errores de compatibilidad con Odoo 18 y validación de resultados
- Cambiar view_mode de 'tree' a 'list' en menus.xml para action_lims_test
- Cambiar mode='tree' a 'list' en lims_test_views.xml para campo result_ids
- Corregir script create_demo_data.py:
  * Comentar campo inexistente 'lab_request_priority'
  * Cambiar 'observations' por 'note' (campo estándar)
  * Cambiar 'lab_sample_ids' por 'generated_sample_ids'
  * Ajustar índices de pacientes para usar María González (femenina) para embarazo
- Mejorar validación en lims_result.py:
  * Considerar False y 0.0 como equivalentes para campos numéricos
  * Solo requerir valores cuando la prueba no esté en estado 'draft'

Resuelve el error "View types not defined tree found in act_window action 457"
y permite confirmar órdenes con pruebas de selección correctamente.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 18:25:24 -06:00

159 lines
7.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Kanban View for Parameters Dashboard -->
<record id="view_lims_analysis_parameter_kanban" model="ir.ui.view">
<field name="name">lims.analysis.parameter.kanban</field>
<field name="model">lims.analysis.parameter</field>
<field name="arch" type="xml">
<kanban class="o_kanban_mobile">
<field name="code"/>
<field name="name"/>
<field name="value_type"/>
<field name="unit"/>
<field name="analysis_count"/>
<field name="active"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_global_click">
<div class="o_kanban_record_top">
<div class="o_kanban_record_headings">
<strong class="o_kanban_record_title">
<field name="code"/> - <field name="name"/>
</strong>
</div>
</div>
<div class="o_kanban_record_body">
<div class="text-muted">
<span>Tipo: </span>
<field name="value_type" widget="badge"/>
</div>
<div t-if="record.unit.raw_value" class="text-muted">
<span>Unidad: </span>
<field name="unit"/>
</div>
</div>
<div class="o_kanban_record_bottom">
<div class="oe_kanban_bottom_left">
<span t-if="!record.active.raw_value"
class="badge badge-danger">Archivado</span>
</div>
<div class="oe_kanban_bottom_right">
<field name="analysis_count" widget="badge"/>
<span> análisis</span>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<!-- Graph View for Parameter Usage Statistics -->
<record id="view_product_template_parameter_graph" model="ir.ui.view">
<field name="name">product.template.parameter.graph</field>
<field name="model">product.template.parameter</field>
<field name="arch" type="xml">
<graph string="Uso de Parámetros en Análisis" type="bar">
<field name="parameter_id"/>
<field name="product_tmpl_id" type="measure"/>
</graph>
</field>
</record>
<!-- Dashboard Action for Parameters -->
<record id="action_lims_parameter_dashboard" model="ir.actions.act_window">
<field name="name">Panel de Parámetros</field>
<field name="res_model">lims.analysis.parameter</field>
<field name="view_mode">kanban,list,form</field>
<field name="search_view_id" ref="view_lims_analysis_parameter_search"/>
<field name="context">{'search_default_active': 1}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
No hay parámetros configurados
</p>
<p>
Configure los parámetros que se utilizarán en los análisis clínicos.
Cada parámetro puede tener múltiples rangos de referencia según
las características del paciente.
</p>
</field>
</record>
<!-- Parameter Statistics Action -->
<record id="action_lims_parameter_statistics" model="ir.actions.act_window">
<field name="name">Estadísticas de Parámetros</field>
<field name="res_model">product.template.parameter</field>
<field name="view_mode">graph,pivot,list</field>
<field name="help" type="html">
<p>
Visualización estadística del uso de parámetros en los diferentes análisis.
</p>
</field>
</record>
<!-- Configuration Summary Dashboard -->
<record id="view_lims_config_summary_form" model="ir.ui.view">
<field name="name">lims.config.summary.form</field>
<field name="model">res.config.settings</field>
<field name="mode">primary</field>
<field name="inherit_id" ref="lims_management.res_config_settings_view_form_lims"/>
<field name="arch" type="xml">
<xpath expr="//app[@name='lims_management']//block[@name='lims_settings']" position="after">
<div class="row mt16" id="lims_configuration_stats">
<div class="col-12">
<h2>Estadísticas de Configuración</h2>
</div>
<div class="col-lg-3 col-md-6">
<div class="card">
<div class="card-body text-center">
<h4>Parámetros</h4>
<p class="text-muted">Total configurados</p>
<button name="%(action_lims_analysis_parameter)d"
string="Ver Parámetros"
type="action"
class="btn-link"/>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="card">
<div class="card-body text-center">
<h4>Rangos</h4>
<p class="text-muted">Rangos de referencia</p>
<button name="%(action_lims_parameter_range)d"
string="Ver Rangos"
type="action"
class="btn-link"/>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="card">
<div class="card-body text-center">
<h4>Análisis</h4>
<p class="text-muted">Con parámetros</p>
<button name="%(action_product_template_parameter_config)d"
string="Ver Configuración"
type="action"
class="btn-link"/>
</div>
</div>
</div>
<div class="col-lg-3 col-md-6">
<div class="card">
<div class="card-body text-center">
<h4>Estadísticas</h4>
<p class="text-muted">Uso de parámetros</p>
<button name="%(action_lims_parameter_statistics)d"
string="Ver Estadísticas"
type="action"
class="btn-link"/>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>