diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-05-03 13:03:57 +0100 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-05-03 13:03:57 +0100 |
commit | 7788118c3d059ef93bcc49c1b6b6ec7d72faf8b5 (patch) | |
tree | 6642a358083285d90234f8d4ba27d61bfd9448bd /app/controllers/snippets/notes_controller.rb | |
parent | 637ed8a21e9f9457d1b194f9c591a0813c20cc3e (diff) | |
parent | cac04fbd777ff992bbd92e9ae3cded01d45b07d0 (diff) | |
download | gitlab-ce-7788118c3d059ef93bcc49c1b6b6ec7d72faf8b5.tar.gz |
Merge remote-tracking branch 'origin/master' into add-sentry-js-again-with-vue
Diffstat (limited to 'app/controllers/snippets/notes_controller.rb')
-rw-r--r-- | app/controllers/snippets/notes_controller.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/app/controllers/snippets/notes_controller.rb b/app/controllers/snippets/notes_controller.rb new file mode 100644 index 00000000000..3c4ddc1680d --- /dev/null +++ b/app/controllers/snippets/notes_controller.rb @@ -0,0 +1,44 @@ +class Snippets::NotesController < ApplicationController + include NotesActions + include ToggleAwardEmoji + + skip_before_action :authenticate_user!, only: [:index] + before_action :snippet + before_action :authorize_read_snippet!, only: [:show, :index, :create] + + private + + def note + @note ||= snippet.notes.find(params[:id]) + end + alias_method :awardable, :note + + def note_html(note) + render_to_string( + "shared/notes/_note", + layout: false, + formats: [:html], + locals: { note: note } + ) + end + + def project + nil + end + + def snippet + PersonalSnippet.find_by(id: params[:snippet_id]) + end + + def note_params + super.merge(noteable_id: params[:snippet_id]) + end + + def finder_params + params.merge(last_fetched_at: last_fetched_at, target_id: snippet.id, target_type: 'personal_snippet') + end + + def authorize_read_snippet! + return render_404 unless can?(current_user, :read_personal_snippet, snippet) + end +end |