33. Errores de borrado de registro por integridad referencial. Permisos adicionales. Administrador / Ajustes

 1. Borrar un usuario: Constraint res_users_apikeys_user_id_fkey

Se produce cuando este usuario tiene registros en la tabla res.users.apikeys

Para ello consultamos por API:

print(xmodoo.request_props( myPropsOdoo \
    ,'res.users.apikeys', 'search_read' \
    ,[[['id','>', 0]]], {'fields': [], 'limit': 500} \
))

Y sale:

[
  {'id': 1, 'name': 'Proves Ximo', 
   'user_id': [2, 'Ximo Dante'], 'scope': False,
   'create_date': '2024-02-20 16:45:13', '__last_update': '2024-09-25 08:04:31',
   'display_name': 'Proves Ximo'}, 
  {'id': 2, 'name': 'Pruebas Borrar', 
   'user_id': [2108, 'Usario Para Borrar'], 'scope': False, 
   'create_date': '2024-05-21 08:57:06', '__last_update': '2024-09-25 08:04:31', 
   'display_name': 'Pruebas Borrar'}
]

En este caso tendríamos que borrar el registro marcado en rojo, pero si intentamos borrarlo con API nos contesta:

res.users.apikeys delete id=2
Error in mdodoo.py-request_params:[[2]] Fault <Fault warning -- AccessError

No puedes borrar informes 'Users API Keys' (res.users.apikeys)

Ningún grupo actualmente permite esta operación.

Ponte en contacto con tu administrador para pedirle acceso si es necesario: ''>

Para poder borrarlo , como no tenemos suficientes permisos, tenenmos que conseguir los permisos para borralo. Para ello entramos en Odoo con un usuario administrador y le damos a:

Ajustes - Usuarios

Y seleccionamos nuestro usuario y en el icono de grupos


Seleccionamos el grupo "Administrador /Ajustes"

Ahora nos salen todos los usuarios que hay en ese grupo, y seleccionamos "Permisos de Acceso"



Y le damos a agregar línea



Y le damos un nombre de permisos como "A_ BORRAR" y le damos el modelo "res.users.apikeys" que en este caso nos sugiere "Users API Keys "y le indicamos todos los permisos (crear, eliminar, leer...)


Ahora ya tenemos los permisos necesarios para poder borrar registros de "res.users.apikeys" con lo que ya podemos ejecutar el borrado des de el principio.

OJO: Una vez borrado este registro, hay que borrar este permiso que hemos llamado "A_BORRAR" 





Comentarios

Entradas populares de este blog

4. Desarrollando con Odoo (2). Introducción a modulos, vistas, modelos .. Añadir dependencias externas de Python a Odoo

26. Desarrollando con Odoo (21). IMPORTANTE: Entorno de desarrollo. Instalar odoo. Modulos. scaffold. Recapitulaciones del capítulo 8 (Development, Test and Debug).

8. Desarrollando con Odoo (6). Herencia de clase en modelos. Herencia de vistas. Operaciones numeradas en Odoo ??