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. |
||
---|---|---|
.. | ||
api | ||
assets | ||
backup | ||
banzai | ||
ci | ||
container_registry | ||
gitlab | ||
json_web_token | ||
omni_auth | ||
rouge/formatters | ||
support | ||
tasks | ||
banzai.rb | ||
disable_email_interceptor.rb | ||
event_filter.rb | ||
extracts_path.rb | ||
file_size_validator.rb | ||
file_streamer.rb | ||
gitlab.rb | ||
gt_one_coercion.rb | ||
repository_cache.rb | ||
static_model.rb | ||
unfold_form.rb | ||
uploaded_file.rb | ||
version_check.rb |