0a8aeb46dc
1. It makes sense to reuse these constants since we had them duplicated in the previous enum implementation. This also simplifies our `check_access` implementation, because we can use `project.team.max_member_access` directly. 2. Use `accepts_nested_attributes_for` to create push/merge access levels. This was a bit fiddly to set up, but this simplifies our code by quite a large amount. We can even get rid of `ProtectedBranches::BaseService`. 3. Move API handling back into the API (previously in `ProtectedBranches::BaseService#translate_api_params`. 4. The protected branch services now return a `ProtectedBranch` rather than `true/false`. 5. Run `load_protected_branches` on-demand in the `create` action, to prevent it being called unneccessarily. 6. "Masters" is pre-selected as the default option for "Allowed to Push" and "Allowed to Merge". 7. These changes were based on a review from @rymai in !5081. |
||
---|---|---|
.. | ||
auth | ||
ci | ||
groups | ||
issues | ||
members | ||
merge_requests | ||
milestones | ||
notes | ||
projects | ||
search | ||
create_commit_builds_service_spec.rb | ||
create_deployment_service_spec.rb | ||
create_release_service_spec.rb | ||
create_snippet_service_spec.rb | ||
create_tag_service_spec.rb | ||
delete_tag_service_spec.rb | ||
delete_user_service_spec.rb | ||
destroy_group_service_spec.rb | ||
event_create_service_spec.rb | ||
git_hooks_service_spec.rb | ||
git_push_service_spec.rb | ||
git_tag_push_service_spec.rb | ||
notification_service_spec.rb | ||
repair_ldap_blocked_user_service_spec.rb | ||
repository_archive_clean_up_service_spec.rb | ||
search_service_spec.rb | ||
system_hooks_service_spec.rb | ||
system_note_service_spec.rb | ||
test_hook_service_spec.rb | ||
todo_service_spec.rb | ||
update_release_service_spec.rb | ||
update_snippet_service_spec.rb |