Create multiple schedules [RUN ALL RSPEC] [RUN AS-IF-FOSS]
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 |
---|---|
How to test this?
- Enable the feature flag => ❯
echo "Feature.enable(:multiple_oncall_schedules)" | rails c
- Ensure you are at least a project maintainer and have a GitLab Premium license running.
- Navigate to On-call Schedules for any project => Operations > On-Call Schedules
http://localhost:3000/h5bp/html5-boilerplate/-/oncall_schedules
- Test CRUD for multiple schedules
- Test CRUD for multiple rotations per schedule created
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?- [-] I have included a changelog entry.
-
I have not included a changelog entry because this merge sits behind a feature flag .
- [-] Documentation (if required)
- [-] Code review guidelines
- [-] Merge request performance guidelines
- [-] Style guides
- [-] Database guides
- [-] Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers - [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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)