
- 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>
65 lines
2.2 KiB
Python
65 lines
2.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
import odoo
|
|
import json
|
|
|
|
def test_menu_action(cr):
|
|
env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
|
|
|
|
print("\n=== VERIFICANDO MENÚ Y ACCIÓN DE PRUEBAS ===\n")
|
|
|
|
# Verificar el menú
|
|
menu = env.ref('lims_management.menu_lims_tests', raise_if_not_found=False)
|
|
if menu:
|
|
print(f"✓ Menú encontrado: {menu.name}")
|
|
print(f" - ID: {menu.id}")
|
|
print(f" - Acción: {menu.action.name if menu.action else 'Sin acción'}")
|
|
print(f" - Padre: {menu.parent_id.name if menu.parent_id else 'Sin padre'}")
|
|
else:
|
|
print("✗ No se encontró el menú")
|
|
return
|
|
|
|
# Verificar la acción
|
|
action = env.ref('lims_management.action_lims_test', raise_if_not_found=False)
|
|
if action:
|
|
print(f"\n✓ Acción encontrada: {action.name}")
|
|
print(f" - ID: {action.id}")
|
|
print(f" - Modelo: {action.res_model}")
|
|
print(f" - View mode: {action.view_mode}")
|
|
|
|
# Simular la apertura de la acción
|
|
print("\n=== SIMULANDO APERTURA DE LA ACCIÓN ===")
|
|
|
|
# Obtener las vistas
|
|
model = env['lims.test']
|
|
print("\nVistas disponibles para lims.test:")
|
|
views = env['ir.ui.view'].search([('model', '=', 'lims.test')])
|
|
for view in views:
|
|
print(f" - {view.name} (tipo: {view.type})")
|
|
|
|
# Verificar que se puede crear una instancia
|
|
print("\n✓ Modelo lims.test existe y es accesible")
|
|
|
|
# Verificar acciones en formato JSON
|
|
print("\n=== DATOS DE LA ACCIÓN (JSON) ===")
|
|
action_dict = {
|
|
'id': action.id,
|
|
'name': action.name,
|
|
'res_model': action.res_model,
|
|
'view_mode': action.view_mode,
|
|
'context': action.context,
|
|
'domain': action.domain,
|
|
'type': action.type,
|
|
}
|
|
print(json.dumps(action_dict, indent=2))
|
|
|
|
else:
|
|
print("✗ No se encontró la acción")
|
|
|
|
print("\n=== VERIFICACIÓN COMPLETADA ===")
|
|
|
|
if __name__ == '__main__':
|
|
db_name = 'lims_demo'
|
|
registry = odoo.registry(db_name)
|
|
with registry.cursor() as cr:
|
|
test_menu_action(cr) |