Estoy tratando de agregar un rol de usuario a un usuario que se ha convertido en miembro de un grupo. El flujo de trabajo es así:
- Solicitudes de usuario para unirse al grupo.
- La solicitud es aprobada por el administrador del grupo.
- El usuario es un miembro del grupo.
- El usuario obtiene un rol adicional.
Intenté hacer una regla que pudiera hacer esto, pero aunque todas las configuraciones parecen correctas después de unirse al grupo, el usuario no obtiene el rol adicional. Vea a continuación una captura de pantalla de la configuración de mi regla:
rules
organic-groups
roose
fuente
fuente
Respuestas:
Ahora su regla se ejecuta después de que el usuario solicite membresía. Pero debe ejecutarlo después de que se aprobó la membresía de OG.
Preparé la regla que agrega el rol "miembro" después de que la membresía fue aprobada o si fue agregada por el administrador (auto-aprobado). Aquí está exportar (
4
es el id de mi rol drupal "miembro"):Captura de pantalla:
Consejo: puede habilitar la depuración de reglas (página
admin/config/workflow/rules/settings
) para ver cuándo se ejecutan sus reglas.fuente
Tengo el mismo problema (por eso comencé una recompensa).
Lo resolví de esta manera.
Agregué una función a un módulo personalizado. Simplemente puede crear su propio módulo creando una nueva carpeta en / sites / all / modules con dos archivos:
yourname_module.info - >>
yourname.module
Luego pase a sus módulos y active "Funciones personalizadas".
Asegúrese de tener habilitado el código php personalizado del módulo.
Luego, en lugar de acción, agregue el usuario al rol en las reglas, agregue: ejecute el código php personalizado e ingrese:
Esto agrega al usuario al rol y detiene el script. Si no detiene el script, el rol no se guarda. Y necesitaba agregar un módulo porque
user_save
no funciona cuando se ejecuta encustom php code
.Entonces, sé que es muy feo, pero funciona para mí.
fuente
¿Qué versión de OG ejecutas?
Este es un error conocido que se ha solucionado con Organic Group 2.4+ ( ver página de error ).
Si ya está ejecutando una versión 2.3 o inferior de OG, la actualización debería ser sencilla. Si está ejecutando OG 1.x, puede encontrar más detalles sobre el proceso de actualización de OG 1.5 a 2.4+
fuente