Self Service List View

kchorny
Tera Guru

I have (with a lot of help from the community) created the ability for customers to see all incidents for their company in Self Service.   I did this by creating an Application module called Company Incidents that is a List of Records link type.   The ability to display these incidents is dependent on membership of a security group, Customer Managers.  


Issue # 1.   I want to display some different columns for these folks, so I created a list view called Manager View and set that as the View name in the Company Incidents module definition.   This doesn't seem to be working, though - the list still displays in Self Service view.   I tried creating a view rule as well, still no luck.   It forces the view for me, but not for self-service users.

Issue # 2. I want to show who opened the incident in the list view (ideally in Manager View if I could get #1 fixed).   In the incident form, there's a field that references the User table and consolidates First Name and Last Name to display full name in the Incident caller_id field.   However, when I add the caller_id column (to the self-service view, as that's the only one I can get to display ATM), it displays as blank to the self-service user.   I figured they probably don't have permission to see those fields, so I created read ACLs on the First Name and Last Name fields of the sys_user table.   But they are still blank in the list view.

Ideas for either?

Thanks!

Karla

6 REPLIES 6

manikorada
ServiceNow Employee
ServiceNow Employee

Karla,



You can use Debug Security rules and see whats the ACL which is restricting access when you type in sys_user.list


Here's the red message that I believe is the culprit.   I looked for other ACLs on sys_user.name and only found one with no conditions, no script, no roles... so I don't know where the rest of these rules are coming from.   My ACL script is at the end.



16:17:49.583: TIME = 0:00:00.000 PATH = record/sys_user.name/read RULE = ((((hasRole(itil) AND script=if(!gs.getUser().hasRoles() && current.company == gs.getUser().getCompanyID()) { answer = true; } else if (gs.hasRole("itil")) { answer = true; } )) SEQ ((hasRole() AND script=gs.hasRole('admin') || gs.getProperty('glide.sm.default_mode') == 'allow') OR (hasRole() AND script=var ra = false; if (root_rule.substring(0,7)=='var__m_') { var wa = gs.getUser().hasRole('workflow_admin'); var wc = gs.getUser().hasRole('workflow_creator'); var fn = gs.getUser().hasRole('normalizer'); if (wa || wc || fn) ra = true; } ra; ) OR (hasRole() AND script=typeof g_approval_form_request != "undefined" && g_approval_form_request == true;))) AND (((hasRole() AND script=var thisUser = gs.getUser(); if (thisUser.isMemberOf('Customer Managers')) { answer = 'true'; } OR (hasRole() )))) RC = false