Tutor de usuarios y permisos Página 1 de 9 Índice Introducción ..................................................................................................................................................................... 2 Toolbar Cajero ............................................................................................................................................................... 2 Toolbar Comercial.......................................................................................................................................................... 2 Toolbar Administrador.................................................................................................................................................... 2 Proyecto de datos............................................................................................................................................................ 3 Tablas ............................................................................................................................................................................ 3 Grupos de usuarios .................................................................................................................................................... 3 Usuarios ..................................................................................................................................................................... 4 Variables globales.......................................................................................................................................................... 4 Proyecto de aplicación.................................................................................................................................................... 4 Función RECALCULAR_PERMISOS ............................................................................................................................ 4 Comprobación de permisos al ejecutar la instancia ...................................................................................................... 6 Formulario principal: PRINCIPAL ............................................................................................................................... 8 Otros puntos donde se recalculan los permisos ............................................................................................................ 8 Ejecutando el proyecto ................................................................................................................................................... 9 Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 2 de 9 Introducción Este tutor es un ejemplo de cómo condicionar el acceso a determinadas opciones de una aplicación. Vamos a diseñar un proyecto en el que queremos controlar tres perfiles de usuario distintos: ▪ Usuarios administradores. ▪ Usuarios comerciales. ▪ Usuarios de caja. Se crearán tantas toolbars como grupos de usuarios queremos controlar, y cada una de ellas contendrá las acciones disponibles para cada grupo de usuarios. En este ejemplo solamente trabajaremos con toolbars y acciones. No hemos considerado necesario trabajar también con menús porque la operativa para ocultar/mostrar, activar/desactivar es idéntica que a la de las toolbars. A continuación explicaremos las toolbars que hemos diseñado. Toolbar Cajero Se trata de una toolbar que incluye una única acción. Esta toolbar será habilitada/deshabilitada y visible/ocultada en su totalidad. Toolbar Comercial Se trata de una toolbar que incluye tres acciones. Esta toolbar será habilitada/deshabilitada y visible/ocultada en su totalidad. Toolbar Administrador Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 3 de 9 Se trata de una toolbar que incluye tres acciones. Esta toolbar también será habilitada/deshabilitada y visible/ocultada en su totalidad, pero además, se podrá configurar de modo independiente la actividad o no de la acción llamada Súper administrador. Es decir, que un usuario podrá tener visible y habilitada esta toolbar y pero deshabilitada la acción Súper administrador: Todas las acciones de las toolbars son no funcionales, es decir, que no ejecutan nada, salvo las acciones Grupos y Usuarios de esta última toolbar que lo que harán será disparar sendas búsquedas. Proyecto de datos Para que en tiempo de ejecución podamos establecer los permisos de acceso a los distintos usuarios de la aplicación hemos creado un proyecto de datos que contiene los siguientes objetos: Tablas Grupos de usuarios Se trata de la tabla donde podremos configurar los permisos de acceso a las distintas toolbars. Esta tabla contiene, además de los campos ID y NAME, tres campos de tipo booleano, uno por cada toolbar, que serán usados para saber si ese grupo de usuarios tendrá acceso o no a cada una de las toolbars. Estos son: ACC_OPC_ADMIN (Toolbar Administrador). ACC_OPC_COMERCIAL (Toolbar Comercial). ACC_OPC_CAJERO (Toolbar Cajero). Si el campo correspondiente a una toolbar es igual a 1, la toolbar estará disponible para los usuarios que pertenezcan a ese grupo, pero si es igual a 0, no. La tabla también incluye un campo enlazado a tabla estática llamado MODO_ACCION_NO_ACCESIBLE. Dicha tabla estática contiene dos registros: 1. 2. Desactivar toolbars no marcadas Deasctivar y ocultar toolbars no marcadas Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 4 de 9 Esto nos permitirá configurar en un grupo de usuarios qué se hará si no tiene acceso a una toolbar concreta, deshabilitarla o deshabilitarla y ocultarla. Usuarios Se trata de una tabla donde se almacenarán los usuarios que ejecuten el proyecto. Además de los campos ID y NAME, contiene un campo enlazado a la tabla de Grupos de usuarios y un campo booleano llamado USR_SUPER_ADMIN, que nos permitirá configurar si el usuario es o no súper administrador. Variables globales Además, se han creado las siguientes variables globales: GRUPO_ACTIVO: Variable global en memoria de tipo numérico. Contendrá el ID del grupo de usuarios al que pertenezca el usuario que está ejecutando el proyecto. SUPER_USR: Variable global en memoria de tipo booleano. Estará activa si el usuario que está ejecutando el proyecto es administrador y tiene activo el campo USR_SUPER_ADMIN. Proyecto de aplicación Del proyecto de aplicación explicaremos aquellos objetos relativos a la evaluación de permisos y las consiguientes acciones sobre los objetos de interfaz de la aplicación. Función RECALCULAR_PERMISOS Para evaluar los permisos y activar/desactivar y/o mostrar/ocultar los distintos objetos de interfaz hemos creado una función que será llamada siempre que se necesiten recalcular los permisos (al ejecutar el proyecto, al cambiar las propiedades del usuario en curso, etc.). Tiene las propiedades siguientes: Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 5 de 9 La función tiene un único parámetro, llamado GRUPO, de tipo numérico, que se corresponderá con el grupo de usuarios al que pertenezca el usuario en curso. Su contenido es: La propia función incluye comentarios que explican su funcionamiento. Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 6 de 9 A grandes rasgos lo que hace es leer la ficha correspondiente al grupo de usuarios pasado como parámetro y en función de si están activados o no los campos booleanos de la misma y del dato seleccionado en el campo enlazado a la tabla estática, usando los comandos de interfaz Interfaz: Mostrar/Interfaz: Ocultar, Interfaz: Habilitar/Interfaz: Deshabilitar muestra/oculta y/o habilita/deshabilita las toolbars correspondientes. En el caso de que la variable global SUPER_USR sea igual a 1 y el campo del grupo de usuarios ACC_OPC_ADMIN sea también igual a 1, se activará la acción "Súper usuario" de la toolbar Administrador con el comando de instrucción de proceso Interfaz: Habilitar acción. En lugar de programar la función pasándole un único parámetro (el ID del grupo de usuarios) podríamos haberla programado declarando tantos parámetros como toolbars y opciones necesitemos controlar. Comprobación de permisos al ejecutar la instancia Al inicializarse el marco AUTOEXEC se ejecuta un evento que hace lo siguiente: Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 7 de 9 En primer lugar comprueba si hay datos en la tabla de Grupos de usuarios; si no los hay crea los siguientes registros: Administradores, Comerciales, Cajeros e Invitados. A continuación se comprueba si el usuario que ha ejecutado la instancia existe en la tabla de Usuarios. Si no existe lo crea. Y lo asigna al grupo 1 (Administradores). Una vez localizado o creado el usuario se guarda en la variable global GRUPO_ACTIVO el ID del grupo al que pertenece y la variable global SUPER_USR con el valor del campo USR_SUPER_ADMIN del usuario. Las toolbars no se gestionan en este evento dado que éstas son creadas después de su ejecución. Lo que hacemos es gestionarlas desde el formulario principal asociado a este marco AUTOEXEC. Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 8 de 9 Formulario principal: PRINCIPAL Se trata de un formulario sin origen, cuyo identificador es PRINCIPAL y que hemos asociado como formulario principal en las propiedades del marco AUTOEXEC. Este formulario dispara un evento al inicializarse, evento que hace una llamada a la función RECALCULAR_PERMISOS: Otros puntos donde se recalculan los permisos Durante la ejecución del proyecto hay dos momentos en los que han de recalcularse los permisos: Al modificar las propiedades del usuario que está ejecutando la instancia (cambiar el grupo, activar/desactivar la opción Usuario súperadministrador) o al cambiar las propiedades del grupo de usuarios asociado al usuario que está ejecutando la instancia. En el formulario del usuario el botón "Aceptar" lo que hace es disparar el siguiente evento: El evento realiza las comprobaciones pertinentes y, en caso necesario, llama a la función que activa/desactiva, muestra/ oculta las toolbars del marco. La rejilla asociada a la tabla de Grupos de usuarios tiene asociado el siguiente evento de interfaz que se disparará al hacer doble clic sobre un elemento de la misma: La modificación de la ficha de grupo de usuarios la hemos hecho de este modo para que la función sea llamada una vez guardados los cambios realizados en la misma en el disco. Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción Tutor de usuarios y permisos Página 9 de 9 Ejecutando el proyecto Al ejecutar el proyecto se presenta un formulario que contiene una rejilla de grupos de usuarios y otra de usuarios. A través de esta rejilla podremos modificar dinámicamente los permisos, por ejemplo, editando el grupo al que pertenece el usuario actual y modificando los permisos, o bien, editando la ficha del usuario actual y cambiarle el grupo asignado o el valor del campo Súper-administrador. Así podremos ver como se ocultan/muestran, desactivan/activan las distintas toolbars y acciones del proyecto. Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 36 63 82 [email protected] velneo.es Velneo, S.A. C.I.F. A-36494706. Inscrita en el Registro Mercantil de Pontevedra, al Tomo 3085, Libro 3085, Folio 90, Hoja PO-37578, primera inscripción
© Copyright 2024