En este tutorial, aprenderá a limitar el permiso de un usuario para ver solo los registros relacionados con la organización para la que trabaja. Haremos esto añadiendo un rol con un parámetro y una condición.
Antes de empezar
- Asegúrese de que ya ha añadido una base de datos y
- Se le ha asignado un rol con los permisos de operación «Gestionar roles» y «Gestionar usuarios».
- Si no es así, puede utilizar la plantilla de base de datos Quién hace qué dónde (3W) para añadir una nueva base de datos.
En este tutorial, aprenderá a limitar el permiso de un usuario para ver solo los registros relacionados con la organización para la que trabaja. Haremos esto añadiendo un rol con un parámetro y una condición.
En este tutorial, utilizaremos el ejemplo de vincular registros y permisos a las organizaciones socias informantes, pero puede aplicar la misma lógica a cualquier campo de referencia, como provincia, región o sector.
Añadir un formulario de socio
Antes de empezar, necesitamos un formulario que contenga la lista de los socios a los que se puede asignar un usuario.
- Vaya a la Configuración de la base de datos y, a continuación, a la sección Diseño. Haga clic en «Añadir formulario».
- En la siguiente pantalla, ingrese la etiqueta del formulario como «Organización socia»
- Añada un único campo de texto llamado «Nombre». Haga que este campo sea Obligatorio y un campo Clave.
- Guarde el formulario.
- Ahora debería ver la vista de tabla de este formulario.
- Haga clic en «Añadir registro» para añadir el primer Socio. En este ejemplo, estamos usando el nombre «GlobalCare» y luego guardamos.
- Haga clic en «Añadir registro» para añadir cada Socio, con los nombres «EduBright International», «FoodFirst Initiative», «AquaLife Foundation», «ShelterSphere», «TechAid», «EmpowerHer» y «SafeHaven Network» y después de añadir estos nombres de socios como registros, guarde.
- Vuelva a la Configuración de la base de datos.
Añadir un formulario para informes de progreso mensuales
Para aplicar permisos condicionales en los formularios, es importante que cada formulario tenga una referencia a su Formulario de Socios. Esto ayuda a establecer la relación entre cada registro y el socio al que pertenece.
Vaya a la Configuración de la base de datos y, a continuación, a la sección Diseño. Haga clic en «Añadir formulario».
- En la siguiente pantalla, ingrese la etiqueta del formulario como «Informe de progreso»
- Añada un campo de Mes, hágalo obligatorio
- Añada un campo de Socio, que haga referencia al Formulario de Socios, hágalo obligatorio.
- Añada un campo de Cantidad llamado «Número de beneficiarios» y hágalo obligatorio
- Guarde el formulario.
- Puede añadir algunos registros para todos los socios; «GlobalCare», «EduBright International», «FoodFirst Initiative», «AquaLife Foundation», «ShelterSphere», «TechAid», «EmpowerHer» y «SafeHaven Network»
Añadir un rol
Ahora estamos listos para añadir un rol que restrinja a los usuarios a ver y añadir solo los registros que están relacionados con el socio al que han sido asignados.
- Para configurar los roles en su base de datos, siga estos pasos:
- Vaya a la configuración de su base de datos. Busque y haga clic en «Roles».
- Haga clic en «Añadir rol».
- Escriba el nombre del rol, como «Socio informante», y haga clic en Aceptar. Verá el nuevo rol en una lista.
- Haga clic en el nuevo rol. El rol se mostrará en el panel lateral.
Añadir un parámetro de rol
- Cambie a la pestaña «Parámetros» y haga clic en «Añadir parámetro»
- Rellene el ID del parámetro como «socio» y la Etiqueta como «Socio». Seleccione el formulario de Socio que añadió anteriormente y que incluye la lista de socios.
- Haga clic en Hecho.
- El parámetro debería aparecer en la lista de parámetros.
Añadir condiciones a los permisos
Añadir un parámetro por sí solo no tiene ningún efecto en los permisos. En el siguiente paso, utilizaremos el parámetro como parte de una condición para limitar los permisos asociados al rol.
Ahora asignaremos un conjunto de operaciones permitidas a este rol para los formularios «organización socia» e «informe de progreso», que, para nuestro uso actual, constituyen toda la base de datos.
Vuelva a la pestaña «Recursos».
Haga clic en «Conceder recurso».
Seleccione «Base de datos completa» en la primera columna y haga clic en «Seleccionar recurso»
Marque los siguientes permisos:
Ver
Listar
Añadir registro
Editar registro
Eliminar registro
Luego, en la parte inferior de la tarjeta, haga clic en «Gestionar condiciones»
En el modal que aparece, haga clic en «Añadir regla»
- En la primera columna, seleccione «El registro está relacionado con el parámetro»
- En la segunda columna de la regla, seleccione el parámetro «Socio» que acaba de añadir
- Luego haga clic en «Establecer condiciones»
- Luego haga clic en «Guardar» para añadir la nueva concesión.
Ahora ha añadido un rol que permite a los usuarios asignados a este rol solo ver, añadir, editar o eliminar registros que estén asociados con su socio.
Añadir un usuario al nuevo rol
Veamos cómo se ve esto para un socio al que podría invitar a contribuir con el progreso de la base de datos. Para esta parte del tutorial, puede invitarse a sí mismo utilizando un correo electrónico alternativo, como su dirección de correo electrónico personal, para que pueda ver cómo se ve esto para un socio informante.
- Para utilizar este parámetro para un usuario, vaya a la sección «Gestión de usuarios» en la Configuración de la base de datos y, a continuación, haga clic en «Añadir usuario»
- Añada el «correo electrónico» del usuario
- Añada el «Nombre» del usuario
- Seleccione el rol «Socio informante»
- Seleccione el valor específico para el parámetro y
- Haga clic en «Enviar invitación» para invitarlos
Probar el rol
Cierre la sesión de ActivityInfo.
Usando la dirección de correo electrónico alternativa que invitó, inicie sesión en la aplicación.
Vaya a la base de datos
Vaya al formulario de Informe de progreso.
Debería ver solo los registros que pertenecen al socio «GlobalCare». Suponiendo que haya establecido el valor del parámetro para este usuario en «EduBright International», «FoodFirst Initiative», «AquaLife Foundation» o cualquier otro nombre de socio, solo verían los registros pertenecientes a estos socios.
Cuando haga clic en «Añadir registro», el socio «GlobalCare» debería estar preseleccionado y no debería poder seleccionar a los otros socios.