
- Crear script assign_admin_to_lab_group.py - Integrar en proceso de inicialización - Asegurar que admin tenga acceso completo al menú de configuración 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Script para asignar el usuario admin al grupo de Administrador de Laboratorio
|
|
"""
|
|
|
|
import logging
|
|
|
|
# Configurar logging
|
|
logging.basicConfig(level=logging.INFO)
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
try:
|
|
# Buscar el usuario admin
|
|
admin_user = env['res.users'].search([('login', '=', 'admin')], limit=1)
|
|
if not admin_user:
|
|
_logger.error("No se encontró el usuario admin")
|
|
exit(1)
|
|
|
|
# Buscar el grupo de Administrador de Laboratorio
|
|
try:
|
|
lab_admin_group = env.ref('lims_management.group_lims_admin')
|
|
except ValueError:
|
|
_logger.error("No se encontró el grupo de Administrador de Laboratorio")
|
|
exit(1)
|
|
|
|
# Verificar si el usuario ya está en el grupo
|
|
if lab_admin_group in admin_user.groups_id:
|
|
_logger.info("El usuario admin ya está en el grupo de Administrador de Laboratorio")
|
|
else:
|
|
# Agregar el usuario al grupo
|
|
admin_user.write({
|
|
'groups_id': [(4, lab_admin_group.id)]
|
|
})
|
|
_logger.info("Usuario admin agregado exitosamente al grupo de Administrador de Laboratorio")
|
|
|
|
# Confirmar los grupos del usuario
|
|
group_names = ', '.join(admin_user.groups_id.mapped('name'))
|
|
_logger.info(f"Grupos del usuario admin: {group_names}")
|
|
|
|
env.cr.commit()
|
|
_logger.info("Cambios guardados exitosamente")
|
|
|
|
except Exception as e:
|
|
_logger.error(f"Error al asignar usuario admin al grupo: {str(e)}")
|
|
exit(1) |