
- Agregar permisos de lectura/escritura para recepcionista en sale.order.line - Agregar permisos de solo lectura para técnico en sale.order y sale.order.line - Agregar permisos completos para administrador en ambos modelos Esto corrige el error "No puede ingresar a los registros 'Línea de pedido de venta'" que impedía a la recepcionista ver las órdenes de laboratorio. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
import odoo
|
|
import json
|
|
|
|
def check_demo_users(cr):
|
|
"""Verificar si los usuarios demo fueron creados"""
|
|
cr.execute("""
|
|
SELECT
|
|
u.id,
|
|
u.login,
|
|
u.name,
|
|
u.active,
|
|
array_agg(g.name) as groups
|
|
FROM res_users u
|
|
LEFT JOIN res_groups_users_rel rel ON rel.uid = u.id
|
|
LEFT JOIN res_groups g ON g.id = rel.gid
|
|
WHERE u.login IN ('recepcionista', 'tecnico', 'administrador')
|
|
GROUP BY u.id, u.login, u.name, u.active
|
|
ORDER BY u.login
|
|
""")
|
|
|
|
users = cr.fetchall()
|
|
|
|
print("\n=== USUARIOS DEMO CREADOS ===")
|
|
print("-" * 60)
|
|
|
|
if not users:
|
|
print("❌ NO se encontraron usuarios demo")
|
|
return
|
|
|
|
for user in users:
|
|
user_id, login, name, active, groups = user
|
|
status = "✓ Activo" if active else "✗ Inactivo"
|
|
print(f"\nUsuario: {login}")
|
|
print(f" ID: {user_id}")
|
|
print(f" Nombre: {name}")
|
|
print(f" Estado: {status}")
|
|
print(f" Grupos: {', '.join(groups) if groups[0] else 'Sin grupos'}")
|
|
|
|
print("\n" + "-" * 60)
|
|
print(f"Total usuarios demo encontrados: {len(users)}")
|
|
|
|
# Verificar contraseñas (solo para confirmar que pueden loguearse)
|
|
expected_users = {
|
|
'recepcionista': 'Recepcionista Demo',
|
|
'tecnico': 'Técnico Demo',
|
|
'administrador': 'Administrador Lab Demo'
|
|
}
|
|
|
|
missing = []
|
|
for login, expected_name in expected_users.items():
|
|
if not any(u[1] == login for u in users):
|
|
missing.append(login)
|
|
|
|
if missing:
|
|
print(f"\n⚠️ Usuarios faltantes: {', '.join(missing)}")
|
|
else:
|
|
print("\n✅ Todos los usuarios demo esperados fueron creados")
|
|
|
|
if __name__ == '__main__':
|
|
db_name = 'lims_demo'
|
|
registry = odoo.registry(db_name)
|
|
with registry.cursor() as cr:
|
|
check_demo_users(cr) |