Conceder acceso a casos

<< Clic para mostrar Tabla de Contenidos >>

Conceder acceso a casos

 

Conceder acceso a casos

  •     Expresión para agregar un jefe del usuario creador
  •     Agregar un usuario privilegiado usando una expresión
  •     Agregar múltiples usuarios privilegiados usando una expresión
  • Expresión para agregar un jefe del usuario creador

    En un proceso de Solicitud de Compras se desea restringir la información de forma que sólo puedan acceder a los casos creados el usuario creador y su jefe. De acuerdo a lo explicado anteriormente, los usuarios que sean asignados durante el proceso del caso  tendrán acceso.

     

    El usuario creador, por definición, automáticamente será adicionado a la lista de usuarios con privilegios. Sin embargo, el jefe del usuario debe ser agregado por medio de una regla para que también pueda tener acceso al caso desde la primera actividad. Para lograr lo anterior se debe configurar el proceso para que tenga seguridad de caso Privado, y luego agregar una expresión que incluya al jefe del creador como usuario privilegiado.

     

    1. En la vista de Experto, ingrese a las propiedades del Proceso dando clic sobre su versión.

     

    CaseSecurity4

     

    2. Seleccione la opción Privado (Private) en el menú de Seguridad del caso (Case security) para restringir el acceso de los casos y dé clic en OK.

     

    CaseSecurity8

     

    3. En el paso número 4 (cuatro) del Asistente de Procesos, diríjase a Acciones de la Actividad para crear una expresión Al entrar en la actividad de registro. La regla debe agregar a la lista de usuarios privilegiados al jefe del usuario que crea la solicitud.

     

    CaseSecurity9

     

    CaseSecurity10

     

    //Obtain the direct supervisor

    Boss=Me.Case.WorkingCredential.UserProperties['idbossuser'];

    //Grant Access to the supervisor

    CHelper.GrantCaseAccess(Me.Case.Id,Boss);

     

    Ahora probemos si la expresión funciona. Suponga que tenemos tres usuarios:

     

    Usuario Creador (CreatorUser): Será el usuario que crea el caso.

    Jefe (Boss): El supervisor del creador del caso.

    Usuario Restringido (RestrictedUser): El usuario al cual se debe restringir el acceso.

     

    CaseSecurity11

     

    Ingrese con el usuario Creador del caso (CreatorUser) y cree un nuevo caso de Solicitud de Compras.

     

    CaseSecurity12

     

    El Usuario creador se incluirá automáticamente como usuario privilegiado y por lo tanto podrá consultar el caso en cualquier momento. Ingrese el número de caso en el campo de búsqueda. Para este ejemplo será 1905.

     

    CaseSecurity13

     

    Si da clic en el Número de Caso usted podrá ver su información.

     

    CaseSecurity27

     

    De forma similar, el usuario jefe (Boss), a quien se concedieron permisos previamente como supervisor del Creador del caso, también tendrá acceso.

     

    CaseSecurity14

     

    Si ingresamos con el usuario restringido (RestrictedUSer), no podremos acceder al caso. Cuando realicemos la búsqueda, aparecerá como si el caso no existiera.

     

    CaseSecurity28

     

    Agregar un usuario privilegiado usando una expresión

    En un proceso de Solicitud de Compras se desea restringir la información de forma que sólo puedan acceder a los casos creados los usuarios privilegiados (creador y asignados) y adicionalmente el Vicepresidente Comercial, quien no tiene asignaciones en dichos casos.

     

    Por lo anterior, es necesario añadir al usuario vicepresidente a los usuarios privilegiados utilizando una expresión. Para ello, creamos una tabla paramétrica en donde guardaremos el Usuario Vicepresidente Comercial, de forma que podamos acceder fácilmente al identificador del usuario y que éste pueda ser administrado en caso de que cambie. Esta entidad paramétrica esta asociada con el Proceso de Solicitud de Compras.

     

    CaseSecurity18

     

    En el paso número 4 del Asistente de procesos, diríjase a Acciones de la Actividad para crear una expresión al entrar en la actividad de registro.

     

    CaseSecurity19

     

    La expresión agrega a la lista de usuarios privilegiados al Vicepresidente. Se encuentra el registro del Vicepresidente en la tabla paramétrica creada, y se guarda su ID en una variable. Luego, esta variable es registrada en la función que adiciona a los usuarios privilegiados.

     

    CaseSecurity20

     

    //Obtain VicePresident User

    var parameters = new FilterParameters();

    parameters.AddParameter("@Code", "CVP");

    ViceId=CHelper.getEntityAttrib("Userwithaccess","Usertograntaccess","Code = @Code",parameters);

    //Grant access to VicePresident

    CHelper.GrantCaseAccess(Me.Case.Id,ViceId);

     

    Agregar múltiples usuarios privilegiados usando una expresión

    En un proceso de Solicitud de Compras se desea restringir la información de forma que sólo puedan acceder a los casos creados los usuarios privilegiados (creador y asignados). Adicionalmente, el Vicepresidente Comercial y el Presidente quienes no tienen ninguna asignación en este caso, como usuarios privilegiados. Por lo tanto, es necesario añadirlos a los usuarios privilegiados utilizando una expresión. Para ello, se creará una tabla paramétrica en donde se almacenarán los dos usuarios: Vicepresidente Comercial y Presidente, de forma que sea posible acceder fácilmente a sus identificadores y puedan ser administrados en caso de que cambien.

     

    CaseSecurity21

     

    En el paso número 4 del Asistente de procesos, vaya a Acciones de la Actividad para crear una expresión al entrar en la actividad de registro.

     

    CaseSecurity19

     

    La siguiente expresión agrega a la lista de usuarios privilegiados al Vicepresidente y al Presidente. Se encuentran todos los registros de la tabla paramétrica y se guardan los identificadores en una variable. Luego, esta variable es registrada en la función que adiciona a los usuarios privilegiados.

     

    CaseSecurity22

     

    //Obtain list of all users in the 'Users with access' table
    UserstoAdd = Me.getXPath("entity-list('Userswithaccess', '')");

     

    //Go through the list

    for (Counter=0; UserstoAdd.size()>Counter;Counter++)

    {

     

     IdUser=UserstoAdd[Counter].getXPath("Usertograntaccess");

     

     //Validate there are no duplicities

     if(!MyArray.Contains(IdUser))

     {

         //Store users

             MyArray.Add(IdUser);

     }

    //Grant Access to users

    CHelper.GrantCaseAccessToUsers(Me.Case.Id,MyArray);

    }

    En este articulo