Regarding the case access form of user

Rai Shivam Ajay
Tera Contributor

The purpose of adding the region to the Case Access section is to limit users from seeing anything (system-wide) from anywhere outside the selected region and/or selected accounts in the Account Access list. The requested behavior should apply to both user creation and user editing.

Case Limitation Behavior:

  • Region = Blank, and Account Access = Blank -> user can see cases for all accounts.
  • Region = Not Blank, Account Access = Blank -> user only sees cases related to customers in the selected Region.
  • Region = Blank and Accounrt Access = Not Blank -> user only sees cases related to customers in the selected Accounts

Region and Account Selector Behavior:

  • Region = Blank -> Account Access selection list is not limited.
  • Region selected -> The Account Access selection list is limited to just accounts in the selected Region.
    How can I achieve this . Any suggestion Thank you

 

1 ACCEPTED SOLUTION

Anurag Tripathi
Mega Patron
Mega Patron

HI Shivam,

I haven't worked on the cases but we are also debating this on interaction table at the moment and the use case is strong so we are leaning towards a custom field to capture region.

Along with who can access there is a strong case in reporting based on the regions as well and how different support teams in the region are working, volumes per region, peak hours etc.

 

To achieve this you will need to create  custom field to capture the region (and populate it based on the Contact's region or whatever your logic is), then you will need to create custom ACLs on the table to restrict access.

You also have to think about backfilling the existing cases (closed / Active), its important to ask that form the business if they need that.

-Anurag

View solution in original post

2 REPLIES 2

Anurag Tripathi
Mega Patron
Mega Patron

HI Shivam,

I haven't worked on the cases but we are also debating this on interaction table at the moment and the use case is strong so we are leaning towards a custom field to capture region.

Along with who can access there is a strong case in reporting based on the regions as well and how different support teams in the region are working, volumes per region, peak hours etc.

 

To achieve this you will need to create  custom field to capture the region (and populate it based on the Contact's region or whatever your logic is), then you will need to create custom ACLs on the table to restrict access.

You also have to think about backfilling the existing cases (closed / Active), its important to ask that form the business if they need that.

-Anurag

Rai Shivam Ajay
Tera Contributor

Hello Anurag,
Thank you for valuable suggestion . 
I have written ACL . But not able to achieve the result. As below I am pasting the code. Can you help me in that to modify the code.


var user = gs.getUserID();
var caseAccount = current.getValue('account');
var userRegion;
var caseAccountRegion;
var userGR = new GlideRecord('sys_user');
if(userGR.get('sys_id', user)){
   userRegion = userGR.getDisplayValue('u_region');
}
var accountGR = new GlideRecord('customer_account');
if(accountGR.get('sys_id', caseAccount)){
   caseAccountRegion = accountGR.getDisplayValue('u_region');
}
if (userRegion == caseAccountRegion)
  answer = true;
else 
       answer = false;