Commit cc505f550da83b2073adb168bcca620f656a076b
1 parent
ee0e9830
Exists in
master
and in
4 other branches
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
Showing
2 changed files
with
8 additions
and
1 deletions
Show diff stats
app/controllers/projects/edit_tree_controller.rb
| @@ -45,5 +45,9 @@ class Projects::EditTreeController < Projects::ApplicationController | @@ -45,5 +45,9 @@ class Projects::EditTreeController < Projects::ApplicationController | ||
| 45 | end | 45 | end |
| 46 | 46 | ||
| 47 | return access_denied! unless allowed | 47 | return access_denied! unless allowed |
| 48 | + | ||
| 49 | + unless @repository.branch_names.include?(@ref) | ||
| 50 | + redirect_to project_blob_path(@project, @id), notice: "You can only edit this file if you are on top of a branch" | ||
| 51 | + end | ||
| 48 | end | 52 | end |
| 49 | end | 53 | end |
app/views/projects/blob/_actions.html.haml
| 1 | .btn-group.tree-btn-group | 1 | .btn-group.tree-btn-group |
| 2 | -# only show edit link for text files | 2 | -# only show edit link for text files |
| 3 | - if @blob.text? | 3 | - if @blob.text? |
| 4 | - = link_to "edit", project_edit_tree_path(@project, @id), class: "btn btn-small", disabled: !allowed_tree_edit? | 4 | + - if allowed_tree_edit? |
| 5 | + = link_to "edit", project_edit_tree_path(@project, @id), class: "btn btn-small" | ||
| 6 | + - else | ||
| 7 | + %span.btn.btn-small.disabled Edit | ||
| 5 | = link_to "raw", project_raw_path(@project, @id), class: "btn btn-small", target: "_blank" | 8 | = link_to "raw", project_raw_path(@project, @id), class: "btn btn-small", target: "_blank" |
| 6 | -# only show normal/blame view links for text files | 9 | -# only show normal/blame view links for text files |
| 7 | - if @blob.text? | 10 | - if @blob.text? |