When editing the User Profile via Service Portal, if a user edits any field and clicks Save, nothing happens and an error is displayed on the Server side from the REST API call to /api/now/v1/ui/table_edit/sys_user
This issue is caused due to the REST API call attempting to access the [sys_ui_list] table and evaluating ACL's for the table the user did not have access to, for example, the [core_company.name] field:
SELECT sys_ui_list_element0.`sys_id` FROM sys_ui_list_element sys_ui_list_element0 WHERE sys_ui_list_element0.`list_id` = '0fba0acb6fd27608ebd62ba17b3ee491' ORDER BY sys_ui_list_element0.`position`
Important Notes: This issue only affects the Service Portal user profile editing, not the basic UI editing functionality. This issue is pretty difficult to reproduce as it involves many parts. It will require a mandatory reference field on the sys_user form, which is also on the DEFAULT List view layout and a user who cannot read the referenced table.
Steps to Reproduce
- Go to the sys_user table on 'Default' view
2. Configure the LIST Layout
3. Add the Company field to the List view
4. Open any record
5. Change your view to 'Service Portal'
6. Add the 'Company' Field if not present
7. Set the Company field to Mandatory at the Dictionary level
Steps to Reproduce:
- Impersonate a user that has no access to the core_company table. If they have access, modify the table level Read ACL's to block them from reading the table.
2. Go to the OOB Service portal /sp
3. Click on your user name on the right-hand corner and go to Profile
4. On the profile try editing any field such as email, or phone by double-clicking on the field such that a popup shows, editing the field and clicking on the Save button (Please ensure they have write access to records on the sys_user table / fields for this to work).
Expected Behavior: Changes should save and the popup window should disappear and change should reflect on Service Portal form
Actual Behavior: Changes are not saving and clicking on Save button does nothing.
This issue has been fixed. If you are able to upgrade, review the Fixed In or Intended Fix Version fields to determine whether any versions have a planned or permanent fix.
If you are unable to upgrade, the following steps may provide relief as a temporary workaround:
- Go to the Default view list for sys_user
- Configure the List layout
- Remove the Company field from the list
Related Problem: PRB1290476