
- 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>
69 lines
2.4 KiB
Python
69 lines
2.4 KiB
Python
import base64
|
|
import os
|
|
import sys
|
|
|
|
try:
|
|
# El script se ejecuta dentro del shell de Odoo
|
|
# env ya está disponible en el contexto
|
|
|
|
print("Iniciando actualización de logo...")
|
|
|
|
# Buscar TODAS las empresas (puede haber más de una)
|
|
companies = env['res.company'].search([])
|
|
print(f"Empresas encontradas: {len(companies)}")
|
|
|
|
# Leer el archivo de logo
|
|
logo_path = '/mnt/extra-addons/lims_management/static/img/lab_logo.png'
|
|
if not os.path.exists(logo_path):
|
|
print(f"ERROR: No se encontró el archivo de logo en: {logo_path}")
|
|
sys.exit(1)
|
|
|
|
print(f"Archivo de logo encontrado en: {logo_path}")
|
|
|
|
# Leer y codificar la imagen
|
|
with open(logo_path, 'rb') as logo_file:
|
|
logo_data = logo_file.read()
|
|
logo_base64 = base64.b64encode(logo_data).decode('utf-8')
|
|
|
|
print(f"Logo leído correctamente, tamaño: {len(logo_data)} bytes")
|
|
|
|
# Actualizar TODAS las empresas
|
|
for company in companies:
|
|
print(f"\nActualizando empresa ID {company.id}: {company.name}")
|
|
|
|
# Actualizar el logo y nombre de la empresa
|
|
company.write({
|
|
'logo': logo_base64,
|
|
'name': 'Laboratorio Clínico LIMS'
|
|
})
|
|
|
|
print(f"Logo actualizado para la empresa ID {company.id}")
|
|
|
|
# También actualizar el partner asociado
|
|
if company.partner_id:
|
|
company.partner_id.write({
|
|
'image_1920': logo_base64,
|
|
'name': 'Laboratorio Clínico LIMS'
|
|
})
|
|
print(f"Logo y nombre del partner también actualizados (ID: {company.partner_id.id})")
|
|
|
|
# IMPORTANTE: Hacer commit explícito
|
|
env.cr.commit()
|
|
print("\nCommit realizado - cambios guardados en la base de datos.")
|
|
|
|
# Verificar que los cambios se guardaron
|
|
companies_check = env['res.company'].search([])
|
|
for company in companies_check:
|
|
has_logo = bool(company.logo)
|
|
correct_name = company.name == 'Laboratorio Clínico LIMS'
|
|
print(f"\nVerificación empresa ID {company.id}:")
|
|
print(f" - Nombre: {company.name} ({'✓' if correct_name else '✗'})")
|
|
print(f" - Logo: {'✓ Presente' if has_logo else '✗ Ausente'}")
|
|
|
|
print("\nLogo de la empresa actualizado exitosamente en la base de datos.")
|
|
|
|
except Exception as e:
|
|
print(f"ERROR al actualizar el logo: {str(e)}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
sys.exit(1) |