5 views

Description

The Global UI Action 'Edit...' for one-to-many-lists uses the following clause in the condition:

(new GlideRecord(current.getTableName())).canWrite()

If the ACL for the listed table contains a condition that checks the 'Active' field, this will fail, regardless of the state, even if Active IS NOT true or Active IS NOT false should pass for null or undefined.

UI Action example:
/nav_to.do?uri=sys_ui_action.do?sys_id=7fff4c3d0a0a0b3400ad3f1a1d613f74

 

Steps to Reproduce

1. Add the 'Incidents' related list to the Problem form.
2. Impersonate an itil user and verify that the 'Edit...' UI Action is present on the Incidents related list.
3. Login as administrator and modify the ACL for Incident to have a condition 'ActiveISNOTfalse'.
4. Impersonate an itil user and verify the 'Edit...' UI Action no longer shows up.
5. Perform steps 3 - 4 again but with the condition 'ActiveISNOTtrue'.
 
One of these conditions should work regardless of the default value of 'Active'. If 'orActiveISempty' is added the ACL will work again.
 

Workaround

After carefully considering the severity and frequency of the issue, and the cost and risk of attempting a fix, it has been decided to not address this issue in any current or near future releases. We do not make these decisions lightly, and we apologize for any inconvenience. You can submit an Enhancement Request and Subscribe to this article to be notified in case of future updates.

As a workaround, add 'Active is empty' to the condition on the affected ACL. Alternatively, instead of the "Active" field, use the "Incident State" field as in the OOB provided ACL.

 


Related Problem: PRB623422

Seen In

Eureka Patch 2
Eureka Patch 7
Eureka Patch 7 Hot Fix 1
Fuji Patch 10

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2018-10-11 07:12:21
Published:2018-10-11