Notifications

1142 views

Description

When setting the timezone for a CAB meeting to Eastern, the planned start and end dates for the change requests differ from the change request record, and the CAB workbench meetings listed dates.

Steps to Reproduce

1) Go to Change > CAB Workbench.
2) On the calendar window opening, click on any event.
3) When the pop-over shows up, click "Open".
4) Select an agenda item (a change request record) from the list on the left-hand-side.
5) Remember the CHG record number of the record displaying on the right-hand-side.
6) Observe the form on the right-hand-side showing 3 tabs. The first one is "Change", where it is possible to see the field "Conflict last run", a glideDateTime showing a UTC value when the meeting and the user timezone are US/Eastern.
7) Selecting the "Schedule" tab shows more glideDateTime fields all in UTC. Clicking on the pencil opens a modal with the form, where it is possible to confirm the value in the read-only form is UTC, not the display value provided by the locale settings. The time is then formatted in the browser's timezone for display.

Workaround

This problem was due to the way one of the methods used in the CAB Form Widget was setting display values in Kingston, and has been fixed in later patches. Please review the Fixed In section to determine the latest available patch your instance can be upgraded to.

The following workarounds can be applied (removing the related sys_update_xml record to prevent future upgrade skipping):

- Kingston Instances

In the 'CAB Workbench-Form Widget' Client Controller change line 158 from:

g_form.setValue(fieldName, task[fieldName].value, task[fieldName].display_value);

To:

if ($scope.data.f._fields[fieldName].type == "glide_date_time")
    g_form.setValue(fieldName, task[fieldName].display_value, task[fieldName].display_value);
else
    g_form.setValue(fieldName, task[fieldName].value, task[fieldName].display_value);

 

- London instances

In the 'CAB Workbench - Form Widget' Client controller change line 158 from:

g_form.$private.fieldState.applyTemplateValue(fieldName, task[fieldName].value, task[fieldName].display_value); 

To:

if ($scope.data.f._fields[fieldName].type == "glide_date_time")
    g_form.$private.fieldState.applyTemplateValue(fieldName, task[fieldName].display_value, task[fieldName].display_value);
else
    g_form.$private.fieldState.applyTemplateValue(fieldName, task[fieldName].value, task[fieldName].display_value);

 


Related Problem: PRB1303778

Seen In

There is no data to report.

Fixed In

Kingston Patch 12
London Patch 5
Madrid

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2019-06-04 13:41:57
Published:2019-05-27