Merge branch 'download_snippets' into 'master'
Added 'Download' button to snippet view ## What does this MR do? Adds a `Download` button above a snippet. ## Are there points in the code the reviewer needs to double check? ## Why was this MR needed? Requested in #22811 ## Screenshots (if relevant) ![image](/uploads/59b67aa02cc601c08a18fd60c37797ed/image.png) ## 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 - [ ] Added for this feature/bug - [ ] All builds are passing - [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [ ] 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) ## What are the relevant issue numbers? Closes #22811 See merge request !6720
This commit is contained in:
commit
d3a9838065
|
@ -46,6 +46,7 @@ v 8.13.0 (unreleased)
|
|||
- Fix todos page mobile viewport layout (ClemMakesApps)
|
||||
- Fix inconsistent highlighting of already selected activity nav-links (ClemMakesApps)
|
||||
- Remove redundant mixins (ClemMakesApps)
|
||||
- Added 'Download' button to the Snippets page (Justin DiPierro)
|
||||
- Fix robots.txt disallowing access to groups starting with "s" (Matt Harrison)
|
||||
- Close open merge request without source project (Katarzyna Kobierska Ula Budziszewska)
|
||||
- Fix that manual jobs would no longer block jobs in the next stage. !6604
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
class SnippetsController < ApplicationController
|
||||
include ToggleAwardEmoji
|
||||
|
||||
before_action :snippet, only: [:show, :edit, :destroy, :update, :raw]
|
||||
before_action :snippet, only: [:show, :edit, :destroy, :update, :raw, :download]
|
||||
|
||||
# Allow read snippet
|
||||
before_action :authorize_read_snippet!, only: [:show, :raw]
|
||||
before_action :authorize_read_snippet!, only: [:show, :raw, :download]
|
||||
|
||||
# Allow modify snippet
|
||||
before_action :authorize_update_snippet!, only: [:edit, :update]
|
||||
|
@ -12,7 +12,7 @@ class SnippetsController < ApplicationController
|
|||
# Allow destroy snippet
|
||||
before_action :authorize_admin_snippet!, only: [:destroy]
|
||||
|
||||
skip_before_action :authenticate_user!, only: [:index, :show, :raw]
|
||||
skip_before_action :authenticate_user!, only: [:index, :show, :raw, :download]
|
||||
|
||||
layout 'snippets'
|
||||
respond_to :html
|
||||
|
@ -75,6 +75,14 @@ class SnippetsController < ApplicationController
|
|||
)
|
||||
end
|
||||
|
||||
def download
|
||||
send_data(
|
||||
@snippet.content,
|
||||
type: 'text/plain; charset=utf-8',
|
||||
filename: @snippet.sanitized_file_name
|
||||
)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def snippet
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
.file-actions
|
||||
= clipboard_button(clipboard_target: ".blob-content[data-blob-id='#{@snippet.id}']")
|
||||
= link_to 'Raw', raw_snippet_path(@snippet), class: "btn btn-sm", target: "_blank"
|
||||
= link_to 'Download', download_snippet_path(@snippet), class: "btn btn-sm"
|
||||
= render 'shared/snippets/blob'
|
||||
|
||||
= render 'award_emoji/awards_block', awardable: @snippet, inline: true
|
|
@ -1,6 +1,7 @@
|
|||
resources :snippets, concerns: :awardable do
|
||||
member do
|
||||
get 'raw'
|
||||
get 'download'
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue