
- 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>
87 lines
3.6 KiB
Python
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() |