Skip to content

Migrate protected branch create dropdowns to vue

What does this MR do and why?

Migrate protected branch dropdowns to vue

Base Branch: !126649 (merged)

Note to Reviewer:

I am on the community fork and I am unable to stack branches. Please ignore the first commit as this is from the base branch. This MR needs the changes from the following files to behave properly:

  • app/assets/javascripts/projects/settings/components/access_dropdown.vue
  • app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown.js
  • app/assets/javascripts/projects/settings/init_access_dropdown.js

These changes are applied on the dropdown components that have shared usages. Given that, we can't merge this yet until the base branch is merged.

Screenshots or screen recordings

Before After
image image

How to set up and validate locally

Component instances can be found on Settings > Repository > Protected Branches

Test Project-Level Protected Branch Behavior

  1. Select a project and go to Settings > Repository > Protected Branches
  2. Creation of the protected branches must work as expected.

Additional behavior to validate:

  • Search input must be shown when client has EE license, otherwise it must be hidden.
  • When client has no EE license, Allowed to merge dropdown must be single select.

Test Group-Level Protected Branch Behavior

  1. Enable the following FF: group_protected_branches and allow_protected_branches_for_group.
  2. Select a group and go to Settings > Repository > Protected Branches.
  3. Creation of the protected branches must work as expected.

Additional behavior to validate:

  • Users should NOT be shown in group-level protected branches, with and without license.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #284784 (closed)

Edited by Shane Maglangit

Merge request reports