151 views

Description

Both the create and delete ACLs for the roster_schedule_span table contain a reference to rota from the current object, which is non-existent. In order to read the rota associated with a roster_schedule_span, the script should dot-walk through the roster column on the current object to get the rota.

roster_schedule_span - Create - sys_security_acl.do?sys_id=c5475d780a0a2c5907ae6edac174850b
roster_schedule_span - Delete - sys_security_acl.do?sys_id=c4dc5b4c0a0a2c594619b00f3f161ca6

Steps to Reproduce

  1. Log in as an admin to an instance where the On-Call Scheduling plugin is activated.
  2. Navigate to System Definition > Dictionary.
  3. Retrieve records where Column Name/Element = rota.
    Note that roster_schedule_span is not listed in the Name/Table column.

Alternative STRs:

  1. Log in as an admin to an instance where the On-Call Scheduling plugin is activated.
  2. Navigator: System Definition -> Scripts - Background
  3. Execute the following script:
    var record = new GlideRecord("roster_schedule_span");
    record.initialize();
    gs.print("sys_id exists = " + record.isValidField("sys_id"));
    gs.print("roster exists = " + record.isValidField("roster"));
    gs.print("rota exists = " + record.isValidField("rota"));

    Result:
    *** Script: sys_id exists = true
    *** Script: roster exists = true
    *** Script: rota exists = false

Workaround

Note in the Script field for both ACLs that current is referencing rota like this:

    answer = new OnCallSecurityNG().rotaMgrAccess(current.rota.group);

This should be changed to the following:

    answer = new OnCallSecurityNG().rotaMgrAccess(current.roster.rota.group);


Related Problem: PRB607760

Seen In

There is no data to report.

Fixed In

Helsinki

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2015-11-16 13:05:55
Published:2015-10-12