fix(#58): Agregar permisos faltantes para sale.order.line
- 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>
This commit is contained in:
parent
87640b48e0
commit
b35a4be5d9
BIN
documents/logs/Screenshot_3.png
Normal file
BIN
documents/logs/Screenshot_3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
|
@ -36,7 +36,6 @@ odoo_command = [
|
|||
"-d", DB_NAME,
|
||||
"-i", MODULES_TO_INSTALL,
|
||||
"--load-language", "es_ES",
|
||||
"--without-demo=", # Forzar carga de datos demo
|
||||
"--stop-after-init"
|
||||
]
|
||||
|
||||
|
|
|
@ -6,6 +6,11 @@ access_product_template_parameter_manager,product.template.parameter.manager,mod
|
|||
access_lims_parameter_range_user,lims.parameter.range.user,model_lims_parameter_range,base.group_user,1,0,0,0
|
||||
access_lims_parameter_range_manager,lims.parameter.range.manager,model_lims_parameter_range,group_lims_admin,1,1,1,1
|
||||
access_sale_order_receptionist,sale.order.receptionist,sale.model_sale_order,group_lims_receptionist,1,1,1,0
|
||||
access_sale_order_line_receptionist,sale.order.line.receptionist,sale.model_sale_order_line,group_lims_receptionist,1,1,1,0
|
||||
access_sale_order_technician,sale.order.technician,sale.model_sale_order,group_lims_technician,1,0,0,0
|
||||
access_sale_order_line_technician,sale.order.line.technician,sale.model_sale_order_line,group_lims_technician,1,0,0,0
|
||||
access_sale_order_admin,sale.order.admin,sale.model_sale_order,group_lims_admin,1,1,1,1
|
||||
access_sale_order_line_admin,sale.order.line.admin,sale.model_sale_order_line,group_lims_admin,1,1,1,1
|
||||
access_stock_lot_user,stock.lot.user,stock.model_stock_lot,base.group_user,1,1,1,1
|
||||
access_lims_test_receptionist,lims.test.receptionist,model_lims_test,group_lims_receptionist,1,0,0,0
|
||||
access_lims_test_technician,lims.test.technician,model_lims_test,group_lims_technician,1,1,1,0
|
||||
|
|
|
63
test/check_demo_users.py
Normal file
63
test/check_demo_users.py
Normal file
|
@ -0,0 +1,63 @@
|
|||
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)
|
Loading…
Reference in New Issue
Block a user