ACL with conditions on table pointed in Related list of a record doesn't load related list in Service Portal using Form widget
Steps to Reproduce
1. Open OOB Madrid/New York instance, for example.
2. Open an active record on "change_request" table.
3. Under related lists, look for "Change Tasks". If no change_task records are there, create two records. One with random short description and other with short description being "test".
4. On "change_task" table, look for read ACLs (table-level)
5. Deactivate all of them and create a new one that can grant access to ITIL users with additional condition being "Short Description" "contains" "test".
6. So the above ACL will grant read access to one of the two change tasks.
7. Now impersonate ITIL user and navigate to "/sp?id=form&table=change_request&sys_id=<sys_id>" and scroll down to Related List section at the bottom and click "Change Tasks"
8. The URL on the portal will contain Lists & Form page "lf": "/sp?id=lf&table=change_task&filter=change_request%3D<change_request_sys_id>&view="
9. And you will see only one record instead of two because of above ACL (You will also see "Security Constraints..." message). Notice on the right side the form frame doesn't display anything yet.
10. Now click the displayed record, the form widget on the right doesn't render the form view of this record on first-click. (The URL does get updated though)
11. Now reload the page and notice the selected record's form view shows on the right! (because of the URL)
- Clone the OOTB Form Widget
- Change the below line in the Body HTML Template
<div ng-show="isPageReady" class="panel panel-default" ng-if="::data.f._view.length || !data.hideRelatedLists" >
<div ng-show="isPageReady" class="panel panel-default" ng-if="data.f._view.length || !data.hideRelatedLists" >
- Configure the pages with issues to use this Cloned Widget
Note: Please make sure to revert to OOTB widget once upgraded to fixed version.
Related Problem: PRB1349658