Check if a file is editied "on" a branch or a commit.

The previous behavior was a "disabled" link, which was still clickable
and linked to the edit file action.

If the 	user accesses a path like "/edit/master/README" show the file
edit form (just like before).

If the user accesses a path like
"/edit/8d5c1f375ce99e5df84e26b0eafbf1448c6a001e/README", redirect the
user to the file detail page with a note, that he cannot edit a file
"on" a commit.

fixes #5482
parent ee0e9830
......@@ -45,5 +45,9 @@ class Projects::EditTreeController < Projects::ApplicationController
end
return access_denied! unless allowed
unless @repository.branch_names.include?(@ref)
redirect_to project_blob_path(@project, @id), notice: "You can only edit this file if you are on top of a branch"
end
end
end
.btn-group.tree-btn-group
-# only show edit link for text files
- if @blob.text?
= link_to "edit", project_edit_tree_path(@project, @id), class: "btn btn-small", disabled: !allowed_tree_edit?
- if allowed_tree_edit?
= link_to "edit", project_edit_tree_path(@project, @id), class: "btn btn-small"
- else
%span.btn.btn-small.disabled Edit
= link_to "raw", project_raw_path(@project, @id), class: "btn btn-small", target: "_blank"
-# only show normal/blame view links for text files
- if @blob.text?
......
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