
- 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>
59 lines
2.1 KiB
Python
59 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
import odoo
|
|
|
|
def check_views(cr):
|
|
env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
|
|
|
|
print("\n=== VERIFICANDO VISTAS DE lims.test ===\n")
|
|
|
|
# Buscar todas las vistas del modelo
|
|
views = env['ir.ui.view'].search([('model', '=', 'lims.test')])
|
|
|
|
print(f"Total de vistas encontradas: {len(views)}\n")
|
|
|
|
for view in views:
|
|
print(f"ID: {view.id}")
|
|
print(f"Nombre: {view.name}")
|
|
print(f"Tipo: {view.type}")
|
|
print(f"Prioridad: {view.priority}")
|
|
print(f"Activa: {view.active}")
|
|
print(f"XML ID: {view.xml_id}")
|
|
print("-" * 50)
|
|
|
|
# Verificar la acción
|
|
print("\n=== VERIFICANDO ACCIÓN ===\n")
|
|
|
|
action = env.ref('lims_management.action_lims_test', raise_if_not_found=False)
|
|
if action:
|
|
print(f"Acción encontrada: {action.name}")
|
|
print(f"Modelo: {action.res_model}")
|
|
print(f"View mode: {action.view_mode}")
|
|
print(f"View ID: {action.view_id.name if action.view_id else 'No definida'}")
|
|
print(f"Search view ID: {action.search_view_id.name if action.search_view_id else 'No definida'}")
|
|
|
|
# Verificar las vistas específicas
|
|
print("\nVistas específicas de la acción:")
|
|
for view_ref in action.view_ids:
|
|
print(f" - Tipo: {view_ref.view_mode}, Vista: {view_ref.view_id.name if view_ref.view_id else 'Por defecto'}")
|
|
else:
|
|
print("⚠️ No se encontró la acción")
|
|
|
|
# Probar obtener la vista por defecto
|
|
print("\n=== PROBANDO OBTENER VISTA POR DEFECTO ===\n")
|
|
|
|
try:
|
|
view_id, view_type = env['lims.test'].get_view()
|
|
print(f"Vista por defecto: ID={view_id}, Tipo={view_type}")
|
|
|
|
# Intentar obtener vista tree específicamente
|
|
tree_view = env['lims.test'].get_view(view_type='tree')
|
|
print(f"Vista tree: ID={tree_view[0]}, Tipo={tree_view[1]}")
|
|
except Exception as e:
|
|
print(f"❌ Error al obtener vista: {e}")
|
|
|
|
if __name__ == '__main__':
|
|
db_name = 'lims_demo'
|
|
registry = odoo.registry(db_name)
|
|
with registry.cursor() as cr:
|
|
check_views(cr) |