Commit 093159a8683c381a9f7aa80073ac94c4ed03e108
1 parent
b96af79b
Exists in
master
and in
4 other branches
Styled snippets. Raw button for snippet
Showing
5 changed files
with
39 additions
and
7 deletions
Show diff stats
app/controllers/snippets_controller.rb
| 1 | 1 | class SnippetsController < ApplicationController |
| 2 | 2 | before_filter :authenticate_user! |
| 3 | 3 | before_filter :project |
| 4 | - before_filter :snippet, :only => [:show, :edit, :destroy, :update] | |
| 4 | + before_filter :snippet, :only => [:show, :edit, :destroy, :update, :raw] | |
| 5 | 5 | layout "project" |
| 6 | 6 | |
| 7 | 7 | # Authorize |
| ... | ... | @@ -67,7 +67,17 @@ class SnippetsController < ApplicationController |
| 67 | 67 | redirect_to project_snippets_path(@project) |
| 68 | 68 | end |
| 69 | 69 | |
| 70 | + def raw | |
| 71 | + send_data( | |
| 72 | + @snippet.content, | |
| 73 | + :type => "text/plain", | |
| 74 | + :disposition => 'inline', | |
| 75 | + :filename => @snippet.file_name | |
| 76 | + ) | |
| 77 | + end | |
| 78 | + | |
| 70 | 79 | protected |
| 80 | + | |
| 71 | 81 | def snippet |
| 72 | 82 | @snippet ||= @project.snippets.find(params[:id]) |
| 73 | 83 | end | ... | ... |
app/views/snippets/_snippet.html.haml
| 1 | 1 | %tr |
| 2 | 2 | %td |
| 3 | 3 | %a{:href => project_snippet_path(snippet.project, snippet)} |
| 4 | - = truncate(snippet.title, :length => 60) | |
| 5 | - %span.right.cgray | |
| 6 | - = snippet.file_name | |
| 4 | + %strong= truncate(snippet.title, :length => 60) | |
| 5 | + %td | |
| 6 | + = snippet.file_name | |
| 7 | + %td | |
| 8 | + %span.cgray | |
| 9 | + - if snippet.expires_at | |
| 10 | + = snippet.expires_at.to_date.to_s(:short) | |
| 11 | + - else | |
| 12 | + Never | ... | ... |
app/views/snippets/index.html.haml
| ... | ... | @@ -8,5 +8,14 @@ |
| 8 | 8 | %br |
| 9 | 9 | To add new snippet - click on button. |
| 10 | 10 | |
| 11 | -- unless @snippets.fresh.empty? | |
| 12 | - %table.zebra-striped.borders= render @snippets.fresh | |
| 11 | +%table.admin-table | |
| 12 | + %thead | |
| 13 | + %tr | |
| 14 | + %th Title | |
| 15 | + %th File Name | |
| 16 | + %th Expires At | |
| 17 | + = render @snippets.fresh | |
| 18 | + - if @snippets.fresh.empty? | |
| 19 | + %tr | |
| 20 | + %td{:colspan => 3} | |
| 21 | + %h3.nothing_here_message Nothing here. | ... | ... |
app/views/snippets/show.html.haml
| ... | ... | @@ -13,6 +13,8 @@ |
| 13 | 13 | .view_file_header |
| 14 | 14 | %i.icon-file |
| 15 | 15 | %strong= @snippet.file_name |
| 16 | + %span.options | |
| 17 | + = link_to "raw", raw_project_snippet_path(@project, @snippet), :class => "btn very_small", :target => "_blank" | |
| 16 | 18 | .view_file_content |
| 17 | 19 | %div{:class => current_user.dark_scheme ? "black" : ""} |
| 18 | 20 | = raw @snippet.colorize(options: { linenos: 'True'}) | ... | ... |
config/routes.rb
| ... | ... | @@ -119,7 +119,12 @@ Gitlab::Application.routes.draw do |
| 119 | 119 | end |
| 120 | 120 | end |
| 121 | 121 | |
| 122 | - resources :snippets | |
| 122 | + resources :snippets do | |
| 123 | + member do | |
| 124 | + get "raw" | |
| 125 | + end | |
| 126 | + end | |
| 127 | + | |
| 123 | 128 | resources :hooks, :only => [:index, :create, :destroy] do |
| 124 | 129 | member do |
| 125 | 130 | get :test | ... | ... |