Customer Portal - users only see their own cases and not all cases for their account

mcconnellsj
Kilo Sage

Hello

We upgrade to Madrid and Customer Portal seems to have changed behaviour.

When a customer contacts logs in they can only view Cases where they are the Case Contact.  Previously contacts could see all cases created by contacts in the same account (I assume this is standard).

I checked all ACLs and Business Rules and can't see anything related to this issue.

We only reverted one ACL as part of the upgrade and it is accounted for.

So the Customer Portal is behaving a bit like the Service Portal (users only see their own tasks)

Not sure where else to look, any ideas?

Thanks

 

1 ACCEPTED SOLUTION

mcconnellsj
Kilo Sage

Thanks for the response.

It seems we reverted the script include CSQueryBRUtil to Madrid baseline, that previously had some custom development.

Functions in this script are called from the ACLs on case.

Strangely, I now see that it is OOTB behaviour for customer contacts to only see their own tickets ... this is not what our customers want, so will build the development back up again in a different script include to keep things neat.

The culprit:

canESMUserReadCase: function (current, tableName) {	
var entity = gs.nil(tableName) ? current.getTableName() : tableName;

if( this.checkRoleConditions(current,entity) || this.checkRoleAccessCxt(current, this.DEFAULT_DRIVER_FIELD,false,entity))	

  return true;

else

  return current.contact == gs.getUser().getID();	

},

 

View solution in original post

3 REPLIES 3

Brandon Barret1
Mega Sage

Could it do with views or maybe the way the model is configured for visibility?

https://docs.servicenow.com/bundle/newyork-customer-service-management/page/product/customer-service-management/reference/cust-serv-portal-prod-model-access.html

Just a shot in the dark, but it would limit customer viability to data.

Good call, and reminds me we need to look into this feature, thanks!

mcconnellsj
Kilo Sage

Thanks for the response.

It seems we reverted the script include CSQueryBRUtil to Madrid baseline, that previously had some custom development.

Functions in this script are called from the ACLs on case.

Strangely, I now see that it is OOTB behaviour for customer contacts to only see their own tickets ... this is not what our customers want, so will build the development back up again in a different script include to keep things neat.

The culprit:

canESMUserReadCase: function (current, tableName) {	
var entity = gs.nil(tableName) ? current.getTableName() : tableName;

if( this.checkRoleConditions(current,entity) || this.checkRoleAccessCxt(current, this.DEFAULT_DRIVER_FIELD,false,entity))	

  return true;

else

  return current.contact == gs.getUser().getID();	

},