
- 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>
51 lines
2.0 KiB
Python
51 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
import odoo
|
|
|
|
def check_views_and_action(cr):
|
|
env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
|
|
|
|
print("\n=== VERIFICANDO ACCIÓN DE lims.test ===\n")
|
|
|
|
# Verificar la acción
|
|
action = env.ref('lims_management.action_lims_test', raise_if_not_found=False)
|
|
if action:
|
|
print(f"ID de la acción: {action.id}")
|
|
print(f"Nombre de la acción: {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"Contexto: {action.context}")
|
|
|
|
# Verificar las vistas disponibles
|
|
print("\n=== VISTAS DE lims.test ===\n")
|
|
|
|
views = env['ir.ui.view'].search([('model', '=', 'lims.test')])
|
|
for view in views:
|
|
print(f"- {view.name} (tipo: {view.type}, XML ID: {view.xml_id})")
|
|
|
|
# Simular la apertura de la acción
|
|
print("\n=== SIMULANDO APERTURA DE LA ACCIÓN ===\n")
|
|
|
|
try:
|
|
# Intentar obtener las vistas que usaría la acción
|
|
model = env['lims.test']
|
|
for view_mode in action.view_mode.split(','):
|
|
view_mode = view_mode.strip()
|
|
print(f"\nIntentando obtener vista '{view_mode}':")
|
|
try:
|
|
view_id, view_type = model.get_view(view_type=view_mode)
|
|
actual_view = env['ir.ui.view'].browse(view_id)
|
|
print(f" ✓ Vista encontrada: {actual_view.name} (ID: {view_id})")
|
|
except Exception as e:
|
|
print(f" ✗ Error: {e}")
|
|
except Exception as e:
|
|
print(f"Error general: {e}")
|
|
else:
|
|
print("✗ No se encontró la acción 'lims_management.action_lims_test'")
|
|
|
|
if __name__ == '__main__':
|
|
db_name = 'lims_demo'
|
|
registry = odoo.registry(db_name)
|
|
with registry.cursor() as cr:
|
|
check_views_and_action(cr) |