Skip to content

Create multiple schedules [RUN ALL RSPEC] [RUN AS-IF-FOSS]

David O'Regan requested to merge 273797-multi-schedules into master

What does this MR do?

A small MVC for #273797 (closed) where we allow for multiple schedules but gate the feature behind a feature flag . This merge looks to expand the schedule code base in the most boring way possible i.e. change the data prop from a single Object to an Array and then allow the children components to consume 1-N schedules at a time depending on the feature flag or how many the uer has created.

This merge will also be followed by a second merge to abstract the modals currently living inside the oncall_schedule.vue component to lift them into the oncall_schedule_wrapper.vue as to DRY the code up and improve performance.

Merge Train

Merge You are here
Allow for multiple schedule creation 🤘
Add tooltip for add schedule button when feature flag is enabled !60162 (merged)
Clear the schedule form between form creation !60417 (merged)
Only request open schedules !60441 (merged)
Abstract schedule action (modals) out of schedule loop to improve performance TBA
Update schedule create popover text (after EP are implemented) see: #273797 (comment 556382219) TBA

Screenshots (strongly suggested)

No feature flag feature flag enabled
Screenshot_2021-04-21_at_06.55.14 Screenshot_2021-04-21_at_06.57.51

How to test this?

  1. Enable the feature flag => ❯ echo "Feature.enable(:multiple_oncall_schedules)" | rails c
  2. Ensure you are at least a project maintainer and have a GitLab Premium license running.
  3. Navigate to On-call Schedules for any project => Operations > On-Call Schedules http://localhost:3000/h5bp/html5-boilerplate/-/oncall_schedules
  4. Test CRUD for multiple schedules
  5. Test CRUD for multiple rotations per schedule created

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 #273797 (closed)

Edited by David O'Regan

Merge request reports