2013-06-23 16:47:22 +00:00
|
|
|
class Projects::ProtectedBranchesController < Projects::ApplicationController
|
2012-02-15 20:02:33 +00:00
|
|
|
# Authorize
|
2015-04-16 12:03:37 +00:00
|
|
|
before_action :require_non_empty_project
|
|
|
|
before_action :authorize_admin_project!
|
2012-02-15 20:02:33 +00:00
|
|
|
|
2014-05-23 11:25:55 +00:00
|
|
|
layout "project_settings"
|
2012-02-15 21:51:04 +00:00
|
|
|
|
2012-02-15 20:02:33 +00:00
|
|
|
def index
|
2013-12-25 14:12:25 +00:00
|
|
|
@branches = @project.protected_branches.to_a
|
2012-02-15 20:02:33 +00:00
|
|
|
@protected_branch = @project.protected_branches.new
|
|
|
|
end
|
|
|
|
|
|
|
|
def create
|
2014-06-26 12:00:09 +00:00
|
|
|
@project.protected_branches.create(protected_branch_params)
|
2015-01-24 18:02:58 +00:00
|
|
|
redirect_to namespace_project_protected_branches_path(@project.namespace,
|
|
|
|
@project)
|
2012-02-15 20:02:33 +00:00
|
|
|
end
|
|
|
|
|
2014-12-26 10:39:12 +00:00
|
|
|
def update
|
|
|
|
protected_branch = @project.protected_branches.find(params[:id])
|
|
|
|
|
|
|
|
if protected_branch &&
|
|
|
|
protected_branch.update_attributes(
|
|
|
|
developers_can_push: params[:developers_can_push]
|
|
|
|
)
|
|
|
|
|
2014-12-26 14:37:04 +00:00
|
|
|
respond_to do |format|
|
2015-01-24 01:41:10 +00:00
|
|
|
format.json { render json: protected_branch, status: :ok }
|
2014-12-26 14:37:04 +00:00
|
|
|
end
|
|
|
|
else
|
|
|
|
respond_to do |format|
|
|
|
|
format.json { render json: protected_branch.errors, status: :unprocessable_entity }
|
|
|
|
end
|
2014-12-26 10:39:12 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-02-15 20:02:33 +00:00
|
|
|
def destroy
|
2012-02-15 21:51:04 +00:00
|
|
|
@project.protected_branches.find(params[:id]).destroy
|
|
|
|
|
|
|
|
respond_to do |format|
|
2015-01-24 18:02:58 +00:00
|
|
|
format.html { redirect_to namespace_project_protected_branches_path }
|
2012-08-10 22:07:50 +00:00
|
|
|
format.js { render nothing: true }
|
2012-02-15 21:51:04 +00:00
|
|
|
end
|
2012-02-15 20:02:33 +00:00
|
|
|
end
|
2014-06-26 12:00:09 +00:00
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def protected_branch_params
|
2014-12-26 08:14:53 +00:00
|
|
|
params.require(:protected_branch).permit(:name, :developers_can_push)
|
2014-06-26 12:00:09 +00:00
|
|
|
end
|
2012-02-15 20:02:33 +00:00
|
|
|
end
|