diff --git a/documents/logs/Screenshot_3.png b/documents/logs/Screenshot_3.png new file mode 100644 index 0000000..ff2e0f7 Binary files /dev/null and b/documents/logs/Screenshot_3.png differ diff --git a/init_odoo.py b/init_odoo.py index 46e197f..a10b3c9 100644 --- a/init_odoo.py +++ b/init_odoo.py @@ -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" ] diff --git a/lims_management/security/ir.model.access.csv b/lims_management/security/ir.model.access.csv index ef28518..fbe8000 100644 --- a/lims_management/security/ir.model.access.csv +++ b/lims_management/security/ir.model.access.csv @@ -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 diff --git a/test/check_demo_users.py b/test/check_demo_users.py new file mode 100644 index 0000000..82704c3 --- /dev/null +++ b/test/check_demo_users.py @@ -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) \ No newline at end of file