FE for "Multiple blocking merge request approval rules"
(CE Port https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25193)
What does this MR do?
This is a feature branch for the FE code for #1979 (closed) that has passed FE review. It is in WIP status until the BE is merged to master
.
Instructions!
This MR should not be merged until:
-
!8987 (merged) is merged into this branch. -
!9043 (merged) is merged into this branch. -
!9003 (merged) is merged into this branch. -
!9176 (merged) is merged into this branch. -
!9432 (merged) is merged into this branch. -
!9433 (merged) is merged into master. -
!9452 (merged) is merged into this branch. -
!9488 (merged) is merged into this branch. -
!9524 (merged) is merged into this branch. -
The BE for #1979 (closed) is merged into master
. -
The Merge BE
andBE
commits of this branch have been rebased out. -
The BE patch !9491 (merged) has been merged into master
. -
This MR has been rebased with master
so that 1d79b86d doesn't include BE changes. -
A CE port has been created (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25193)
TODO
MR's still need to be made for the following:
-
License feature with only a single approval rule -
Docs
Implementation design
Vuex:
Both the project_settings
and mr_edit
view have very similar (but slightly different) behavior. For this reason, we have broken up the Vuex store into modules so that we can easily substitute one module for another.
-
base
this is the base module that contains some shared state / mutations. It isn't included directly, just "extended" by the more specific modules. -
project_settings
this module implements the same interface of actions asmr_edit
, but it implements the behavior used in the project approval settings Vue instance. -
mr_edit
this module implements the same interface of actions asproject_settings
, but it implements the behavior used in the MR edit approval section Vue instance.
What are the relevant issue numbers?
- Part of #1979 (closed)
- FE #8350 (closed)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
Tests added for this feature/bug -
Tested in all supported browsers -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides -
Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process. -
EE specific content should be in the top level /ee
folder -
For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan? -
Security reports checked/validated by reviewer
Edited by Paul Slaughter