Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • 12-9-stable
  • 12-7-stable
  • 12-6-stable
  • 12-8-stable
  • github/fork/Kloppi313/patch-1
  • 12-5-stable
  • 12-4-stable
  • github/fork/ramalokesh8477/master
  • 12-1-stable
  • 12-2-stable
  • 12-0-stable
  • 12-3-stable
  • 42-42-stable
  • github/fork/hussamgit398/patch-2
  • 12-3-auto-deploy-20190911
  • 12-3-auto-deploy-20190916
  • 12-3-auto-deploy-20190908
  • 12-3-auto-deploy-20190901
  • 12-3-auto-deploy-20190901-32664
  • v12.10.0.pre
  • v12.9.0
  • v12.9.0-rc42
  • v12.8.7
  • v12.8.6
  • v12.8.5
  • v12.8.4
  • v12.8.3
  • v12.6.8
  • v12.7.7
  • v12.8.2
  • v12.8.1
  • v12.9.0.pre
  • v12.8.0
  • v12.8.0-rc42
  • v12.5.10
  • v12.7.6
  • v12.6.7
  • v12.7.5
  • v12.5.9
40 results

create_service.rb

  • Timothy Andrew's avatar
    0a8aeb46
    Use `Gitlab::Access` to protected branch access levels. · 0a8aeb46
    Timothy Andrew authored
    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.
    0a8aeb46
    History
    Use `Gitlab::Access` to protected branch access levels.
    Timothy Andrew authored
    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.