OdooWiki OCA HUB

Dynamic groups

auth_dynamic_groups folder_open OCA/server-auth open_in_new
Tools Licencia: AGPL-3

Este módulo permite definir grupos cuya pertenencia es una condición expresada como código python. Para cada usuario, se evalúa durante el inicio de sesión si pertenece al grupo o no.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 14.0

Te permite definir grupos cuyos miembros se eligen automáticamente mediante una condición escrita en Python, evaluada cada vez que un usuario inicia sesión.

Este módulo añade dos campos al formulario de grupo en Ajustes: una casilla "Dynamic" y un cuadro de texto "Condition". Cuando marcas Dynamic, la lista manual de usuarios pasa a ser de solo lectura y debes rellenar una condición. La condición es código Python evaluado en el momento del inicio de sesión, con el registro del usuario disponible como user, por lo que puedes escribir reglas como comprobar un departamento, una compañía o cualquier otro campo del usuario.

  • En cada inicio de sesión (excepto el superusuario), Odoo elimina al usuario de todos los grupos dinámicos y lo vuelve a añadir a aquellos cuya condición sea verdadera.
  • Un botón "Evaluate" en el formulario de grupo vuelve a ejecutar las condiciones para todos los usuarios existentes de inmediato, para que no tengas que esperar a que cada usuario inicie sesión.
  • Si la condición contiene un error de sintaxis o de nombre, Odoo se niega a guardar el grupo y muestra un mensaje de validación.

El módulo toca res.groups (la definición del grupo) y res.users (inicio de sesión y actualización de la pertenencia). Solo modifica la vista del formulario de grupo; no se añade ningún menú nuevo. La pertenencia se almacena en la relación estándar grupo/usuario, por lo que todos los derechos de acceso normales de Odoo basados en ese grupo se aplican como de costumbre.

Depende de

base
Modelos y campos (2)
  • res.users · amplía un modelo existente
  • res.groups · amplía un modelo existenteis_dynamic (Dynamic), dynamic_group_condition (Condition)

Texto generado por IA (DeepSeek) al leer el código de la versión 14.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.

Fuentes · Odoo 14.0

Confirmado el 2026-11-03 en la rama 14.0 de OCA/server-auth.

terminal Instalación y uso

Documentación de OCA · Odoo 14.0

Marque Dynamic en un grupo que quiera que sea dinámico. Ahora rellene la condición, usando user, que es un registro browse del usuario en cuestión que evalúa como verdadero si se supone que el usuario debe ser miembro del grupo y como falso si no.

Existe una restricción en el campo para comprobar la validez de esta expresión. Cuando esté satisfecho, haga clic en el botón Evaluate para rellenar previamente los miembros del grupo. La condición se comprobará ahora para cada usuario que inicie sesión.

Tenemos un grupo llamado Amsterdam y queremos que contenga a todos los usuarios de la ciudad de Ámsterdam. Así que usamos la condición de pertenencia

user.partner_id.city == 'Amsterdam'

Ahora podemos estar seguros de que todos los usuarios que viven en esta ciudad están en el grupo correcto, y podemos empezar a asignarle menús locales, ajustar permisos, etc. Ten en cuenta que las vistas sobrescritas también se pueden restringir mediante un id de grupo, lo que ofrece muchas posibilidades para adaptar dinámicamente las vistas en función de propiedades arbitrarias accesibles a través del registro de usuario.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.