clinical_laboratory/test/verify_company_logo.py
Luis Ernesto Portillo Zaldivar ddbc829103 feat: Reorganización de scripts y actualización automática de logo
- Movidos scripts Python a carpetas organizadas (test/ y utils/)
- Agregado logo del laboratorio (lab_logo.png)
- Implementado sistema de actualización automática de logo y nombre de empresa
- Creado script de validación para verificar estado del logo
- Actualizada documentación CLAUDE.md con nuevas rutas
- Eliminados intentos fallidos de cambio de tema CSS
- Ajustado docker-compose.yml para mapear carpetas de scripts

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15 03:50:46 -06:00

87 lines
3.6 KiB
Python

#!/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()