Borrar el acceso al caso

<< Clic para mostrar Tabla de Contenidos >>

Borrar el acceso al caso

 

Borrar el acceso al caso

  • Inicio
  •     Expresión para borrar el acceso a un caso
  •     Expresión para borrar el acceso a una lista de casos
  • note_pin

    Las siguientes expresiones eliminan a todos los usuarios con acceso al caso, incluido el usuario creador. Se recomienda otorgar acceso a un usuario después de usar este método. De lo contrario, el caso será inaccesible.

     

    Expresión para borrar el acceso a un caso

    En un proceso de solicitud de compra del ejemplo mencionado en Conceder acceso a casos. Debido a razones de seguridad, cuando el proceso llega al Subproceso de Orden de Compra, necesitamos revocar el acceso a este caso a todos los usuarios y otorgar acceso solo a los usuarios del área de Compras, los usuarios en esta área pueden no tener asignación en tales casos. Por lo tanto, debe borrar el acceso al caso y otorgar acceso a estos usuarios mediante una expresión.

     

    En el paso cuatro del Asistente de Procesos, seleccione las Acciones de Actividad para crear una expresión Al Entrar en el subproceso.

     

    CaseSecurity32

     

    La expresión revoca el acceso al caso a todos los usuarios, incluido el creador del caso. Luego, trae los usuarios en el área de Compras para otorgarles acceso.

     

    CaseSecurity33

     

    //Clear the access to the current case

    var success=CHelper.ClearCaseAccess(Me.Case.Id);

    //If the procedure is success, add the Users in Purchase areas. Otherwise, throws an error

    if(success)

    {

     //Get the id of the Purchases area

     var parameters = new FilterParameters();

     parameters.AddParameter("@areaName", "Purchases");

     var AreaId=CHelper.getEntityAttrib("Area","idArea","areaName = @areaName",parameters);

     //Get the list of users in the Purchase Area

     parameters.AddParameter("@areaId", AreaId);

     UserList = Me.getXPath("entity-list('WFUSER','idArea = @areaId')",parameters);

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

     {

             //Get the user id

             IdUser=UserList[Counter].getXPath("Id");

             //Validate there are no duplicities

             if(!MyArray.Contains(IdUser))

             {

             //Store users

                     MyArray.Add(IdUser);

             }

     }

     //Grant access to the users list

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

    }

    else

    {

     // Throw an error if the case access could not be cleared

     CHelper.ThrowValidationError("The procedure failed");

    }

     

    Expresión para borrar el acceso a una lista de casos

    Como complemento del ejemplo anterior, también debemos revocar el acceso a los casos secundarios del caso actual. Debe borrar el acceso al caso y sus elementos secundarios y otorgar acceso a estos usuarios mediante una expresión.

     

    En el paso cuatro del Asistente de Procesos, seleccione las Acciones de Actividad para crear una expresión Al Entrar en el subproceso.

     

    CaseSecurity32

     

    La expresión revoca el acceso al caso a todos los usuarios, incluido el creador del caso. Luego, trae los usuarios en el área de Compras para otorgarles acceso.

     

    CaseSecurity34

     

    //Get subprocesses Ids

    var CasesArray=CHelper.getSubProcessesId(Me);

    //Add the current case Id.

    CasesArray.Add(Me.Case.Id);

    //Clear the access to the current case

    CHelper.ClearCaseAccess(CasesArray);

    //Get the id of the Purchases area

    var parameters = new FilterParameters();

    parameters.AddParameter("@areaName", "Purchases");

    var AreaId=CHelper.getEntityAttrib("Area","idArea","areaName = @areaName",parameters);

    //Get the list of users in the Purchase Area

    parameters.AddParameter("@areaId", AreaId);

    UserList = Me.getXPath("entity-list('WFUSER','idArea = @areaId')",parameters);

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

    {

     //Get the user id

     IdUser=UserList[Counter].getXPath("Id");

     //Validate there are no duplicities

     if(!MyArray.Contains(IdUser))

     {

     //Store users

             MyArray.Add(IdUser);

     }

    }

    //Grant access to the users list

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

    En este articulo