-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature - Grupos de seguridad - Reglas de herencia por módulo #3
Conversation
Actions executed at: 2024-01-18 09:04:34. |
Corregido |
…/SinergiaCRM into feature/CustomSecurityGroups
* @param string $userId The user's ID. | ||
* @return array An associative array of groups with their IDs and names. | ||
*/ | ||
public static function getSticUserSecurityGroups($userId) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cambiaría el nombre de esta función y un poco la SQL. Le llamaría getSticUserInheritableSecurityGroups y no devolvería ningún grupo no heradable (sea por la relación grupo-usuario o en la propia definición del grupo). El nombre actual induce a error (no habla de que sólo devuelve heredables y la explicación y la SQL no acaban de encajar al 100%: la descripción dice que se excluyen los no heredables, pero la SQL sólo excluye los no heradables según la relación usuario-grupo). Y para nota, haría lo que comentamos: un flag que me diga si quiero todos o sólo los no heredables pensando en el futuro, pero ahora no es necesario.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)provado
Aparte de lo comentado sobre la función getSticUserSecurityGroups (tema menor), todo parece OK.
Pruebas realizadas:
- Relaciones 1:n, N:1, M:N, 1:1
- Creación directa y desde subpanel
- Creación de compromiso y pago con distintas reglas de herencia
- Creación pago vía batch
- Creación vía Workflow
- Distintas herencias separadas y en combinación con grupos disyuntos y coincidentes
- Grupos no heredables, no heredables para usuario (presente y no presente en otras herencias), grupos prohibidos según la regla
- Múltiples relaciones con el mismo módulo
Anteriormente:
- Creación vía API
- Creación vía Importación
- Merge de registros
…/SinergiaCRM into feature/CustomSecurityGroups
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)probado
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(A)provado
(Comprobado que los métodos se invocan correctamente ;-) )
# This is the 1st commit message: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #2: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #3: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #4: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #5: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #6: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #7: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #8: Fix salesagility#10364 - Adding now option in Datetime fields # This is the commit message #9: Fix salesagility#10364 - Adding now option in Datetime fields
Visión General
Se ha añadido una funcionalidad que permite una gestión avanzada y personalizada de las reglas de herencia de Grupos de Seguridad en SuiteCRM. Esta se enfoca en la activación selectiva de reglas específicas para diferentes módulos, brindando mayor flexibilidad y control sobre la aplicación de los Grupos de Seguridad en diversos contextos del sistema. La configuración de esta funcionalidad se lleva a cabo a través del módulo de nueva creación Reglas de Grupos de Seguridad
(stic_Security_Groups_Rules)
, ofreciendo opciones detalladas como la herencia de grupos de seguridad basada en usuarios asignados, creadores del registro o registros padre, y la exclusión de ciertos grupos de seguridad. Esta herramienta permite a las administradoras y administradores definir con precisión cómo se heredan y aplican los Grupos de Seguridad en todo el sistema.Este PR aborda únicamente aspectos de los Grupos de Seguridad relacionados con la herencia, dejando otras posibles mejoras para desarrollos futuros.
Activación de la Funcionalidad
Habilitar reglas personalizadas de herencia de Grupos de Seguridad por módulos
disponible enAdmin > Configuración de Grupos de Seguridad
.Configuración de Reglas de Herencia Personalizadas
Se realizan mediante la vista de lista y/o edición del nuevo módulo. Los campos son los siguientes:
inherit_from_modules
.Detalles Relevantes
Reglas de Herencia Custom y Estándar:
Vista de Lista de Reglas Personalizadas:
Habilitar reglas personalizadas de herencia de Grupos de Seguridad por módulos
está deshabilitada, se muestra un mensaje de advertencia en las vistas de lista y de edición, indicando que, aunque haya reglas definidas, no se aplicarán hasta que se active la funcionalidad.Acceso y Vista del Módulo:
Proceso de Aplicación de Reglas:
active=true
) para el módulo actual, se aplicarán las reglas de herencia indicadas en el registro; en caso contrario, se aplicará la configuración global de herencia de Grupos de seguridad.inherit()
en el fichero del coremodules/SecurityGroups/SecurityGroup.php
para verificar si está activada la funcionalidad y si hay una regla definida para el módulo en el que se está guardando el registro. En caso afirmativo, aplica las reglas de herencia correspondientes al módulo, omitiendo las reglas generales; en caso contrario, ejecuta las reglas generales.Pruebas a Realizar
Verificación de Activación de Funcionalidad:
Habilitar reglas personalizadas de herencia de Grupos de Seguridad por módulos
enAdmin > Configuración de Grupos de Seguridad
, la funcionalidad se habilita correctamente.Pruebas de Configuración de Reglas de Herencia Personalizadas:
Grupos de Seguridad - Configuración Avanzada
con diferentes combinaciones de reglas (herencia asignada, creador, registros padre, exclusión de ciertos grupos, etc.).Validación de Prioridad de Reglas Custom sobre Estándar:
Revisión de la Funcionalidad de No Heredables:
Verificación de la Asignación de Grupos por Defecto a Nuevos Registros:
Comprobación de la Vista de Lista de Reglas Personalizadas:
Testeo del Proceso de Aplicación de Reglas:
NOTA: sin que afecte en nada a la funcionalidad descrita, se aprovecha el PR para eliminar restos de 3 módulos que llegaron de manera errónea a SinergiaCRM hace tiempo: SharedSecurityRules, SharedSecurityRulesActions y SharedSecurityRulesConditions