reduce common code even further to satisfy rake flay
This commit is contained in:
parent
4e3b9e03f8
commit
759e37f3b1
1 changed files with 25 additions and 23 deletions
|
@ -128,31 +128,11 @@ module CommitsHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def revert_commit_link(commit, continue_to_path, btn_class: nil, has_tooltip: true)
|
def revert_commit_link(commit, continue_to_path, btn_class: nil, has_tooltip: true)
|
||||||
return unless current_user
|
commit_action_link('revert', commit, continue_to_path, btn_class: btn_class, has_tooltip: has_tooltip)
|
||||||
|
|
||||||
tooltip = "Revert this #{commit.change_type_title(current_user)} in a new merge request" if has_tooltip
|
|
||||||
btn_class = "btn btn-#{btn_class}" unless btn_class.nil?
|
|
||||||
|
|
||||||
if can_collaborate_with_project?
|
|
||||||
link_to 'Revert', '#modal-revert-commit', 'data-toggle' => 'modal', 'data-container' => 'body', title: (tooltip if has_tooltip), class: "#{btn_class} #{'has-tooltip' if has_tooltip}"
|
|
||||||
elsif can?(current_user, :fork_project, @project)
|
|
||||||
fork_path = fork_path_url(continue_to_path, message: 'Try to revert this commit again.')
|
|
||||||
link_to 'Revert', fork_path, class: btn_class, method: :post, 'data-toggle' => 'tooltip', 'data-container' => 'body', title: (tooltip if has_tooltip)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def cherry_pick_commit_link(commit, continue_to_path, btn_class: nil, has_tooltip: true)
|
def cherry_pick_commit_link(commit, continue_to_path, btn_class: nil, has_tooltip: true)
|
||||||
return unless current_user
|
commit_action_link('cherry-pick', commit, continue_to_path, btn_class: btn_class, has_tooltip: has_tooltip)
|
||||||
|
|
||||||
tooltip = "Cherry-pick this #{commit.change_type_title(current_user)} in a new merge request" if has_tooltip
|
|
||||||
btn_class = "btn btn-#{btn_class}" unless btn_class.nil?
|
|
||||||
|
|
||||||
if can_collaborate_with_project?
|
|
||||||
link_to 'Cherry-pick', '#modal-cherry-pick-commit', 'data-toggle' => 'modal', 'data-container' => 'body', title: (tooltip if has_tooltip), class: "#{btn_class} #{'has-tooltip' if has_tooltip}"
|
|
||||||
elsif can?(current_user, :fork_project, @project)
|
|
||||||
fork_path = fork_path_url(continue_to_path, message: 'Try to cherry-pick this commit again.')
|
|
||||||
link_to 'Cherry-pick', fork_path, class: btn_class, method: :post, 'data-toggle' => 'tooltip', 'data-container' => 'body', title: (tooltip if has_tooltip)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
@ -192,6 +172,28 @@ module CommitsHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def commit_action_link(action, commit, continue_to_path, btn_class: nil, has_tooltip: true)
|
||||||
|
return unless current_user
|
||||||
|
|
||||||
|
tooltip = "#{action.capitalize} this #{commit.change_type_title(current_user)} in a new merge request" if has_tooltip
|
||||||
|
btn_class = "btn btn-#{btn_class}" unless btn_class.nil?
|
||||||
|
|
||||||
|
if can_collaborate_with_project?
|
||||||
|
link_to action.capitalize, "#modal-#{action}-commit", 'data-toggle' => 'modal', 'data-container' => 'body', title: (tooltip if has_tooltip), class: "#{btn_class} #{'has-tooltip' if has_tooltip}"
|
||||||
|
elsif can?(current_user, :fork_project, @project)
|
||||||
|
continue_params = {
|
||||||
|
to: continue_to_path,
|
||||||
|
notice: "#{edit_in_new_fork_notice} Try to #{action} this commit again.",
|
||||||
|
notice_now: edit_in_new_fork_notice_now
|
||||||
|
}
|
||||||
|
fork_path = namespace_project_forks_path(@project.namespace, @project,
|
||||||
|
namespace_key: current_user.namespace.id,
|
||||||
|
continue: continue_params)
|
||||||
|
|
||||||
|
link_to action.capitalize, fork_path, class: btn_class, method: :post, 'data-toggle' => 'tooltip', 'data-container' => 'body', title: (tooltip if has_tooltip)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def fork_path_url(continue_to_path, message: nil)
|
def fork_path_url(continue_to_path, message: nil)
|
||||||
notice = edit_in_new_fork_notice
|
notice = edit_in_new_fork_notice
|
||||||
notice << " #{message}" unless message.nil?
|
notice << " #{message}" unless message.nil?
|
||||||
|
@ -201,7 +203,7 @@ module CommitsHelper
|
||||||
notice: notice,
|
notice: notice,
|
||||||
notice_now: edit_in_new_fork_notice_now
|
notice_now: edit_in_new_fork_notice_now
|
||||||
}
|
}
|
||||||
fork_path = namespace_project_forks_path(@project.namespace, @project,
|
namespace_project_forks_path(@project.namespace, @project,
|
||||||
namespace_key: current_user.namespace.id,
|
namespace_key: current_user.namespace.id,
|
||||||
continue: continue_params)
|
continue: continue_params)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue