#!/usr/bin/env python3 """ Script de validación para verificar el estado del logo y nombre de la empresa """ import odoo import base64 def verify_company_logo_status(): db_name = 'lims_demo' registry = odoo.registry(db_name) with registry.cursor() as cr: env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {}) print("=" * 60) print("VERIFICACIÓN DE LOGO Y NOMBRE DE EMPRESA") print("=" * 60) # Buscar todas las empresas companies = env['res.company'].search([]) for company in companies: print(f"\nEmpresa ID: {company.id}") print(f"Nombre actual: '{company.name}'") print(f"Nombre esperado: 'Laboratorio Clínico LIMS'") print(f"¿Nombre correcto?: {'✓ SÍ' if company.name == 'Laboratorio Clínico LIMS' else '✗ NO'}") # Verificar logo if company.logo: logo_size = len(base64.b64decode(company.logo)) print(f"Logo presente: ✓ SÍ (tamaño: {logo_size:,} bytes)") # Verificar si es el logo correcto comparando tamaño expected_size = 1428899 # Tamaño del lab_logo.png if abs(logo_size - expected_size) < 1000: # Margen de error pequeño print(f"¿Logo correcto?: ✓ PROBABLEMENTE SÍ (tamaño coincide)") else: print(f"¿Logo correcto?: ✗ PROBABLEMENTE NO (tamaño esperado: {expected_size:,} bytes)") else: print("Logo presente: ✗ NO") # Verificar partner asociado if company.partner_id: print(f"\nPartner asociado ID: {company.partner_id.id}") print(f"Nombre del partner: '{company.partner_id.name}'") if company.partner_id.image_1920: partner_img_size = len(base64.b64decode(company.partner_id.image_1920)) print(f"Imagen del partner: ✓ SÍ (tamaño: {partner_img_size:,} bytes)") else: print("Imagen del partner: ✗ NO") print("-" * 60) # Verificar configuración del sistema print("\nCONFIGURACIÓN DEL SISTEMA:") print("-" * 30) # Verificar parámetros del sistema param_obj = env['ir.config_parameter'].sudo() web_base_url = param_obj.get_param('web.base.url') print(f"URL base: {web_base_url}") # Verificar usuarios admin admin_users = env['res.users'].search([('id', '=', 2)]) # Usuario admin for user in admin_users: print(f"\nUsuario admin: {user.login}") print(f"Empresa del usuario: {user.company_id.name}") print(f"Empresas permitidas: {', '.join([c.name for c in user.company_ids])}") print("\n" + "=" * 60) # Resumen final company_ok = any(c.name == 'Laboratorio Clínico LIMS' for c in companies) logo_ok = any(c.logo for c in companies) print("\nRESUMEN:") print(f"Estado del nombre: {'✓ CORRECTO' if company_ok else '✗ INCORRECTO'}") print(f"Estado del logo: {'✓ PRESENTE' if logo_ok else '✗ AUSENTE'}") if not company_ok or not logo_ok: print("\n⚠️ ATENCIÓN: El logo o nombre no están configurados correctamente.") print(" Es posible que los cambios no se estén guardando en la base de datos.") else: print("\n✓ Todo parece estar configurado correctamente.") if __name__ == '__main__': verify_company_logo_status()