Commit 228b757d authored by James Lopez's avatar James Lopez

refactor blob link methods

parent 9753396f
...@@ -24,19 +24,24 @@ module BlobHelper ...@@ -24,19 +24,24 @@ module BlobHelper
if !on_top_of_branch?(project, ref) if !on_top_of_branch?(project, ref)
edit_button_tag(edit_text, common_classes) edit_button_tag(edit_text, common_classes)
# This condition applies to anonymous or users who can edit directly # This condition applies to anonymous or users who can edit directly
elsif !current_user || user_can_modify_blob(blob, project, ref) elsif !current_user || user_can_modify_blob?(blob, project, ref)
edit_link_tag(edit_text, edit_blob_path(project, ref, path, options), common_classes) edit_link_tag(edit_text, edit_blob_path(project, ref, path, options), common_classes)
elsif user_can_fork_project(project) elsif user_can_fork_project?(project)
edit_fork_button_tag(common_classes, edit_fork_button_tag(common_classes,
project, edit_text, project,
edit_text,
edit_blob_fork_params(edit_blob_path(project, ref, path, options))) edit_blob_fork_params(edit_blob_path(project, ref, path, options)))
end end
end end
def user_can_fork_project(project) def user_can_fork_project?(project)
current_user && can?(current_user, :fork_project, project) current_user && can?(current_user, :fork_project, project)
end end
def user_can_modify_blob?(blob, project, ref)
current_user && can_modify_blob?(blob, project, ref)
end
def ide_edit_path(project = @project, ref = @ref, path = @path, options = {}) def ide_edit_path(project = @project, ref = @ref, path = @path, options = {})
"#{ide_path}/project#{edit_blob_path(project, ref, path, options)}" "#{ide_path}/project#{edit_blob_path(project, ref, path, options)}"
end end
...@@ -59,9 +64,9 @@ module BlobHelper ...@@ -59,9 +64,9 @@ module BlobHelper
edit_button_tag(ide_edit_text, common_classes) edit_button_tag(ide_edit_text, common_classes)
# This condition only applies to users who are logged in # This condition only applies to users who are logged in
# Web IDE (Beta) requires the user to have this feature enabled # Web IDE (Beta) requires the user to have this feature enabled
elsif user_can_modify_blob(blob, project, ref) elsif user_can_modify_blob?(blob, project, ref)
edit_link_tag(ide_edit_text, ide_edit_path(project, ref, path, options), common_classes) edit_link_tag(ide_edit_text, ide_edit_path(project, ref, path, options), common_classes)
elsif user_can_fork_project(project) elsif user_can_fork_project?(project)
edit_fork_button_tag(common_classes, edit_fork_button_tag(common_classes,
project, project,
ide_edit_text, ide_edit_text,
...@@ -69,10 +74,6 @@ module BlobHelper ...@@ -69,10 +74,6 @@ module BlobHelper
end end
end end
def user_can_modify_blob(blob, project, ref)
current_user && can_modify_blob?(blob, project, ref)
end
def modify_file_element(project = @project, ref = @ref, path = @path, label:, action:, btn_class:, modal_type:) def modify_file_element(project = @project, ref = @ref, path = @path, label:, action:, btn_class:, modal_type:)
return unless current_user return unless current_user
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment