Skip to content

Fix(oncallschedules): update grid start and midnight edge case

David O'Regan requested to merge 322137-grid-start-and-end-time into master

What does this MR do?

An MVC as part of https://gitlab.com/gitlab-org/gitlab/-/issues/322137 that:

  1. Add conditional case for when shift starts at midnight and creates a gap in the weekly grid
  2. Allow grid to start slightly ahead of midnight to prevent shifts less than 24 hours from having an extra(incorrect) shift provided to the grid

How/What to test

This feature is behind the feature flag oncall_schedules_mvc and the minimal license is GitLab Premium. You can enable this feature flag by running in your console:

echo "Feature.enable(:oncall_schedules_mvc)" | rails c

To check Enable the feature flag:

  • Navigate to Operations => On-call Schedules or direct link is your_project/-/oncall_schedules e.g. http://127.0.0.1:3000/gitlab-org/gitlab-shell/-/oncall_schedules
  • Click Add schedule in the empty state
  • Add a base schedule with a name, description, and timezone
  • You will see an empty grid with no rotations
  • Click add a rotation on the top right of the grid
  • Add a rotation with a handful of members that have access to the current project and pick a start date/time
  • You should not see gaps in the rotations if created at midnight
  • You should not see a double render for the first shift less than 24 hours in the first timeframe

Screenshots (strongly suggested)

Before After
Screenshot_2021-02-24_at_05.10.11 Screenshot_2021-02-24_at_05.11.39
Screenshot_2021-02-24_at_08.08.58 Screenshot_2021-02-24_at_08.16.19

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team

Related to #322137

Edited by David O'Regan

Merge request reports