summaryrefslogtreecommitdiff
path: root/app/controllers/projects/git_hooks_controller.rb
blob: 27c90df871b72682960c8281a5ddb69b21d3c4c6 (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
class Projects::GitHooksController < Projects::ApplicationController
  # Authorize
  before_action :authorize_admin_project!

  respond_to :html

  layout "project_settings"

  def index
    project.create_git_hook unless project.git_hook

    @git_hook = project.git_hook
  end

  def update
    @git_hook = project.git_hook
    @git_hook.update_attributes(git_hook_params)

    if @git_hook.valid?
      redirect_to namespace_project_git_hooks_path(@project.namespace, @project)
    else
      render :index
    end
  end

  private

  # Only allow a trusted parameter "white list" through.
  def git_hook_params
    params.require(:git_hook).permit(:deny_delete_tag, :delete_branch_regex,
      :commit_message_regex, :force_push_regex, :author_email_regex, :member_check, :file_name_regex, :max_file_size)
  end
end