Refactor repository settings frontend to prepare for protected branches custom ability
What does this MR do and why?
It refactors part of frontend so that it is ready for admin_protected_branch
custom ability. We will introduce admin protected branch custom permission and this is preparation for this.
In !152152 (merged) we already did that. But frontend changes caused QA test suite to fail.
This could be seen already on the original MR but we missed it and merged it anyway.
In Introduce admin_protected_branch ability (!158657 - merged) we started putting the changes back, the MR contained only backend changes.
So this MR adds some frontend changes, but not changes in app/assets/javascripts/projects/settings/components/access_dropdown.vue
which likely caused !152152 (merged) E2E tests to fail. The last changes will be introduced separately to minimize the risk.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
How to set up and validate locally
- Go to project repository settings
- Play around with the settings as a project owner (especially with protected branches and branch rules) and also as a project maintainer
Related to #462398 (closed)