summaryrefslogtreecommitdiff
path: root/app/controllers/projects/protected_branches_controller.rb
blob: c2a55c9500a8de5b93143f7c1a8cd88004a24eb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Projects::ProtectedBranchesController < Projects::ProtectedRefsController
  protected

  def protected_ref
    @protected_branch
  end

  def protected_ref=(val)
    @protected_branch = val
  end

  def matching_refs=(val)
    @matching_branches = val
  end

  def project_refs
    @project.repository.branches
  end

  def create_service
    ::ProtectedBranches::CreateService
  end

  def update_service
    ::ProtectedBranches::UpdateService
  end

  def load_protected_ref
    self.protected_ref = @project.protected_branches.find(params[:id])
  end

  def protected_ref_params
    params.require(:protected_branch).permit(:name,
                                             merge_access_levels_attributes: [:access_level, :id],
                                             push_access_levels_attributes: [:access_level, :id])
  end
end