diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-08-18 18:19:18 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-08-18 18:19:18 +0000 |
commit | ba0c6e4dd8178d69f3e2878205f24b62120acc55 (patch) | |
tree | b54640a3673cfb9b12a79e91f9f6dcd9a15d0d2f /app | |
parent | 4ddd7222e5fa5da997322b98855509191099de8b (diff) | |
parent | 938f3b2a0b4bdf2047caf8735312c80e2291b274 (diff) | |
download | gitlab-ce-ba0c6e4dd8178d69f3e2878205f24b62120acc55.tar.gz |
Merge branch '20454-edit-button-mr' into 'master'
edit_blob_link can receive the blob to avoid access to the repository
## What does this MR do?
Avoid access to the repository to get the blob when can be passed on context
## Are there points in the code the reviewer needs to double check?
## Why was this MR needed?
#20454 to try to speed up the diff pages
## What are the relevant issue numbers?
Relates #20454 probably we want and UI solution not just a backend solution
## Screenshots (if relevant)
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- ~~[ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)~~
- ~~[ ] API support added~~
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !5850
Diffstat (limited to 'app')
-rw-r--r-- | app/helpers/blob_helper.rb | 9 | ||||
-rw-r--r-- | app/views/projects/diffs/_file.html.haml | 7 |
2 files changed, 6 insertions, 10 deletions
diff --git a/app/helpers/blob_helper.rb b/app/helpers/blob_helper.rb index 1cb5d847626..9ea03720c1e 100644 --- a/app/helpers/blob_helper.rb +++ b/app/helpers/blob_helper.rb @@ -11,17 +11,14 @@ module BlobHelper def edit_blob_link(project = @project, ref = @ref, path = @path, options = {}) return unless current_user - blob = project.repository.blob_at(ref, path) rescue nil + blob = options.delete(:blob) + blob ||= project.repository.blob_at(ref, path) rescue nil return unless blob - from_mr = options[:from_merge_request_id] - link_opts = {} - link_opts[:from_merge_request_id] = from_mr if from_mr - edit_path = namespace_project_edit_blob_path(project.namespace, project, tree_join(ref, path), - link_opts) + options[:link_opts]) if !on_top_of_branch?(project, ref) button_tag "Edit", class: "btn disabled has-tooltip btn-file-option", title: "You can only edit files when you are on a branch", data: { container: 'body' } diff --git a/app/views/projects/diffs/_file.html.haml b/app/views/projects/diffs/_file.html.haml index 8fbd89100ca..ad2eb3e504f 100644 --- a/app/views/projects/diffs/_file.html.haml +++ b/app/views/projects/diffs/_file.html.haml @@ -10,10 +10,9 @@ \ - if editable_diff?(diff_file) - = edit_blob_link(@merge_request.source_project, - @merge_request.source_branch, diff_file.new_path, - from_merge_request_id: @merge_request.id, - skip_visible_check: true) + - link_opts = @merge_request.id ? { from_merge_request_id: @merge_request.id } : {} + = edit_blob_link(@merge_request.source_project, @merge_request.source_branch, diff_file.new_path, + blob: blob, link_opts: link_opts) = view_file_btn(diff_commit.id, diff_file.new_path, project) |