Modificacion de permisos en roles

Hola.
Tengo un error en la version 7.11 en el cual no puedo modificar los permisos de los modulos desde el administrador de roles. Tenemos un poco mas de 200 modulos y en el listado de estos, solo me deja cambiar los permisos a los primeros 100, luego de eso ya no guarda las modificaciones de los permisos. No hay errores en los log, solo no funciona la asignacion de permisos.

¿Cuál es su “memory_limit” (esta configuración se encuentra en el archivo php.ini)?
¿Versión de PHP?
¿Tipo y versión de base de datos?
¿Tipo y versión del sistema operativo?

Hola,

Nosotros en SinergiaCRM hemos detectado este error, te explico el workaround.

Hay un problema al modificar los permisos de cualquier Rol cuando la cantidad de módulos en la instancia supera aproximadamente 125.

El formulario para editar permisos genera una variable $_POST por cada combinación de módulo y permiso (8 diferentes), lo que resulta en más de 1000 variables $_POST. Debido a que la configuración max_input_vars de PHP limita la cantidad de variables $_POST que pueden ser procesadas, se omite cualquier elemento que exceda este límite. Esto conlleva a que los últimos módulos listados en la edición de Roles sean ignorados.

Soluciones Propuestas:

  1. Incrementar temporalmente el valor de max_input_vars para solucionar el error.
  2. Modificar el método de envío de los datos del formulario para utilizar una única variable $_POST que incluya toda la información necesaria, en lugar de una variable $_POST por cada combinación módulo-permiso.

Espero que sea de ayuda.

Un abrazo,

2 Likes