¿Será posible modificar uno o varios perfiles funcionales desde una personalización?
Supongo que lo correcto sería agregarle o quitarle una membresía…
La idea es que un usuario con perfil ‘x’ pueda modificar el perfil ‘y’ sin ser administrador, estando restringido a habilitar o deshabilitar ciertas operaciones prefijadas.
Una guía rápida y/o instructivo de como encarar una operación que resuelva lo anteriormente expuesto se agradece de antemano.
¿Con qué versión están probando? Te respondo con links a la documentación de la última familia de versiones vigentes (3.13).
Hay una cuestión que me parece importante aclarar: los perfiles funcionales no están relacionados con una personalización, son aspectos de configuración. Tenemos por un lado la definición de los perfiles, que se hace en Toba Usuarios (te paso este link de documentación para ampliar), y por otra parte la asociación de perfiles funcionales a una persona, que se efectúa en Gestión con la operación Administrar Personas, en la solapa Acceso al sistema (documentación).
Es importante recordar que si una persona tiene asignado más de un perfil funcional, el resultado de operaciones a las que podrá acceder será la unión de los conjuntos.
Lo que se necesita para cambiarle los permisos de acceso a un usuario es tener el perfil definido en Toba Usuarios, y un usuario con acceso total a esa operación de Gestión para quitarle o agregarle perfiles funcionales a la persona. Pero insisto, son cuestiones de configuración, no de personalización.
Ya que están con este tema, nunca está de más recordar cómo debe configurarse la aplicación en un ambiente de producción para no perder los perfiles en un cambio de versión. Les paso este link.
El tema es el siguiente, estamos viendo de cambiar el perfil sin ir a Toba Usuarios, ni Administrar Personas.
La idea es que un usuario con determinado perfil, tenga una operación que le permita habilitar/deshabilitar en un solo paso un conjunto de operaciones predefinidas a otro perfil. Sería un cambio genérico a un grupo de usuarios, por eso se me ocurrió hacer una operación que simplemente elija si quiere habilitar/deshabilitar una membresía.
Lo que se me ocurrió es ver las diferencias de los metadatos antes y después de habilitar los accesos en un perfil e intentar actualizar los metadatos en tiempo real cuando desde una personalización activo o desactivo el acceso…
un ejemplo:
diff --git a/metadatos/permisos/grupo_acceso__sac.sql b/metadatos/permisos/grupo_acceso__sac.sql
index 6025f113..9d52431b 100644
--- a/metadatos/permisos/grupo_acceso__sac.sql
+++ b/metadatos/permisos/grupo_acceso__sac.sql
@@ -47,6 +47,12 @@ INSERT INTO apex_usuario_grupo_acc_item (proyecto, usuario_grupo_acc, item_id, i
'guarani', --proyecto
'sac', --usuario_grupo_acc
NULL, --item_id
+ '3547' --item
+);
+INSERT INTO apex_usuario_grupo_acc_item (proyecto, usuario_grupo_acc, item_id, item) VALUES (
+ 'guarani', --proyecto
+ 'sac', --usuario_grupo_acc
+ NULL, --item_id
'3563' --item
);
--- FIN Grupo de desarrollo 0
@@ -113,6 +119,12 @@ INSERT INTO apex_usuario_grupo_acc_item (proyecto, usuario_grupo_acc, item_id, i
'guarani', --proyecto
Eso es lo que veo en la consola al hacer un “git diff” luego de editar un perfil desde Toba Usuarios… ¿Será posible hacer lo expuesto o algo parecido?
No sé si se entendió lo que quiero hacer… cualquier cosa repregúntenme que no tengo problema en intentar explicarlo las veces que haga falta.
Supongo que se resume todo en ejecutar algo parecido a
INSERT INTO apex_usuario_grupo_acc_item (proyecto, usuario_grupo_acc, item_id, item) VALUES (‘guarani’, ‘sac’, NULL, ‘3563’);
cuando se desea habilitar la operación 3563 y el correspondiente DELETE para deshabilitarla. Si me lo confirman o sugieren otra cosa es bienvenida la colaboración.