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 | ... | ... |