Commit e7bcbb95c88a42fc31bc0ccbdf6a819780a612ec
1 parent
36e832cc
Exists in
master
and in
4 other branches
Restyle snippets
Showing
14 changed files
with
138 additions
and
93 deletions
Show diff stats
app/controllers/snippets_controller.rb
... | ... | @@ -15,19 +15,28 @@ class SnippetsController < ApplicationController |
15 | 15 | |
16 | 16 | def user_index |
17 | 17 | @user = User.find_by_username(params[:username]) |
18 | - | |
19 | - @snippets = @current_user.snippets.fresh.non_expired | |
20 | - | |
21 | - @snippets = case params[:scope] | |
22 | - when 'public' then | |
23 | - @snippets.public | |
24 | - when 'private' then | |
25 | - @snippets.private | |
26 | - else | |
27 | - @snippets | |
28 | - end | |
18 | + @snippets = @user.snippets.fresh.non_expired | |
19 | + | |
20 | + if @user == current_user | |
21 | + @snippets = case params[:scope] | |
22 | + when 'public' then | |
23 | + @snippets.public | |
24 | + when 'private' then | |
25 | + @snippets.private | |
26 | + else | |
27 | + @snippets | |
28 | + end | |
29 | + else | |
30 | + @snippets = @snippets.public | |
31 | + end | |
29 | 32 | |
30 | 33 | @snippets = @snippets.page(params[:page]).per(20) |
34 | + | |
35 | + if @user == current_user | |
36 | + render 'current_user_index' | |
37 | + else | |
38 | + render 'user_index' | |
39 | + end | |
31 | 40 | end |
32 | 41 | |
33 | 42 | def new |
... | ... | @@ -79,7 +88,7 @@ class SnippetsController < ApplicationController |
79 | 88 | protected |
80 | 89 | |
81 | 90 | def snippet |
82 | - @snippet ||= PersonalSnippet.find(params[:id]) | |
91 | + @snippet ||= PersonalSnippet.where('author_id = :user_id or private is false', user_id: current_user.id).find(params[:id]) | |
83 | 92 | end |
84 | 93 | |
85 | 94 | def authorize_modify_snippet! | ... | ... |
app/helpers/snippets_helper.rb
app/views/layouts/_head_panel.html.haml
... | ... | @@ -19,7 +19,7 @@ |
19 | 19 | = link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do |
20 | 20 | %i.icon-globe |
21 | 21 | %li |
22 | - = link_to snippets_path, title: "Snippets area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do | |
22 | + = link_to user_snippets_path(current_user), title: "My snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do | |
23 | 23 | %i.icon-paste |
24 | 24 | - if current_user.is_admin? |
25 | 25 | %li | ... | ... |
app/views/layouts/snippets.html.haml
... | ... | @@ -7,15 +7,12 @@ |
7 | 7 | %nav.main-nav |
8 | 8 | .container |
9 | 9 | %ul |
10 | - = nav_link(path: 'dashboard#show', html_options: {class: 'home'}) do | |
11 | - = link_to root_path, title: "Back to dashboard" do | |
10 | + = nav_link(path: 'snippets#user_index', html_options: {class: 'home'}) do | |
11 | + = link_to user_snippets_path(current_user), title: "My Snippets" do | |
12 | 12 | %i.icon-home |
13 | 13 | = nav_link(path: 'snippets#new') do |
14 | 14 | = link_to new_snippet_path do |
15 | 15 | New snippet |
16 | - = nav_link(path: 'snippets#user_index') do | |
17 | - = link_to user_snippets_path(@current_user) do | |
18 | - My snippets | |
19 | 16 | = nav_link(path: 'snippets#index') do |
20 | 17 | = link_to snippets_path do |
21 | 18 | Discover snippets | ... | ... |
app/views/projects/snippets/_blob.html.haml
... | ... | @@ -3,7 +3,10 @@ |
3 | 3 | %i.icon-file |
4 | 4 | %strong= @snippet.file_name |
5 | 5 | %span.options |
6 | - = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-tiny", target: "_blank" | |
6 | + .btn-group.tree-btn-group.pull-right | |
7 | + - if can?(current_user, :admin_project_snippet, @project) || @snippet.author == current_user | |
8 | + = link_to "Edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-tiny", title: 'Edit Snippet' | |
9 | + = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-tiny", target: "_blank" | |
7 | 10 | .file_content.code |
8 | 11 | - unless @snippet.content.empty? |
9 | 12 | %div{class: user_color_scheme_class} | ... | ... |
app/views/projects/snippets/_snippet.html.haml
1 | -%tr | |
2 | - %td | |
3 | - = image_tag gravatar_icon(snippet.author_email), class: "avatar s24" | |
4 | - %a{href: project_snippet_path(snippet.project, snippet)} | |
5 | - %strong= truncate(snippet.title, length: 60) | |
6 | - %td | |
7 | - = snippet.file_name | |
8 | - %td | |
1 | +%li | |
2 | + .snippet-title | |
3 | + - if snippet.private? | |
4 | + %i.icon-lock.cgreen | |
5 | + - else | |
6 | + %i.icon-globe.cblue | |
7 | + = link_to reliable_snippet_path(snippet) do | |
8 | + %h5.inline | |
9 | + = truncate(snippet.title, length: 60) | |
9 | 10 | %span.cgray |
10 | - - if snippet.expires_at | |
11 | - = snippet.expires_at.to_date.to_s(:short) | |
12 | - - else | |
13 | - Never | |
11 | + = snippet.file_name | |
12 | + | |
13 | + %small.pull-right.cgray | |
14 | + Expires: | |
15 | + - if snippet.expires_at | |
16 | + = snippet.expires_at.to_date.to_s(:short) | |
17 | + - else | |
18 | + Never | |
19 | + | |
20 | + .snippet-info.prepend-left-20 | |
21 | + = "##{snippet.id}" | |
22 | + %span.light | |
23 | + by | |
24 | + = image_tag gravatar_icon(snippet.author_email), class: "avatar avatar-inline s16" | |
25 | + = snippet.author_name | ... | ... |
app/views/projects/snippets/index.html.haml
... | ... | @@ -5,15 +5,9 @@ |
5 | 5 | - if can? current_user, :write_project_snippet, @project |
6 | 6 | = link_to new_project_snippet_path(@project), class: "btn btn-small add_new pull-right", title: "New Snippet" do |
7 | 7 | Add new snippet |
8 | -%br | |
9 | -%table | |
10 | - %thead | |
11 | - %tr | |
12 | - %th Title | |
13 | - %th File Name | |
14 | - %th Expires At | |
8 | +%hr | |
9 | +%ul.bordered-list | |
15 | 10 | = render partial: "projects/snippets/snippet", collection: @snippets |
16 | 11 | - if @snippets.empty? |
17 | - %tr | |
18 | - %td{colspan: 3} | |
19 | - %h3.nothing_here_message Nothing here. | |
12 | + %li | |
13 | + %h3.nothing_here_message Nothing here. | ... | ... |
app/views/projects/snippets/show.html.haml
1 | 1 | %h3.page_title |
2 | + %i.icon-lock.cgreen | |
2 | 3 | = @snippet.title |
3 | - %small= @snippet.file_name | |
4 | - - if can?(current_user, :admin_project_snippet, @project) || @snippet.author == current_user | |
5 | - = link_to "Edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-small pull-right", title: 'Edit Snippet' | |
6 | 4 | |
5 | + %small.pull-right | |
6 | + = "##{@snippet.id}" | |
7 | + %span.light | |
8 | + by | |
9 | + = image_tag gravatar_icon(@snippet.author_email), class: "avatar avatar-inline s16" | |
10 | + = @snippet.author_name | |
7 | 11 | %br |
8 | 12 | %div= render 'projects/snippets/blob' |
9 | 13 | %div#notes= render "notes/notes_with_form" | ... | ... |
app/views/snippets/_blob.html.haml
... | ... | @@ -3,7 +3,10 @@ |
3 | 3 | %i.icon-file |
4 | 4 | %strong= @snippet.file_name |
5 | 5 | %span.options |
6 | - = link_to "raw", raw_snippet_path(@snippet), class: "btn btn-tiny", target: "_blank" | |
6 | + .btn-group.tree-btn-group.pull-right | |
7 | + - if @snippet.author == current_user | |
8 | + = link_to "Edit", edit_snippet_path(@snippet), class: "btn btn-tiny", title: 'Edit Snippet' | |
9 | + = link_to "Raw", raw_snippet_path(@snippet), class: "btn btn-tiny", target: "_blank" | |
7 | 10 | .file_content.code |
8 | 11 | - unless @snippet.content.empty? |
9 | 12 | %div{class: user_color_scheme_class} | ... | ... |
app/views/snippets/_snippet.html.haml
1 | -%tr | |
2 | - %td | |
1 | +%li | |
2 | + .snippet-title | |
3 | 3 | - if snippet.private? |
4 | - %i.icon-lock | |
4 | + %i.icon-lock.cgreen | |
5 | 5 | - else |
6 | - %i.icon-globe | |
7 | - = image_tag gravatar_icon(snippet.author_email), class: "avatar s24" | |
8 | - - if snippet.project_id? | |
9 | - %a{href: project_snippet_path(snippet.project, snippet)} | |
10 | - %strong= truncate(snippet.title, length: 60) | |
11 | - - else | |
12 | - %a{href: snippet_path(snippet)} | |
13 | - %strong= truncate(snippet.title, length: 60) | |
14 | - %td | |
15 | - = snippet.file_name | |
16 | - %td | |
6 | + %i.icon-globe.cblue | |
7 | + = link_to reliable_snippet_path(snippet) do | |
8 | + %h5.inline | |
9 | + = truncate(snippet.title, length: 60) | |
17 | 10 | %span.cgray |
18 | - - if snippet.expires_at | |
19 | - = snippet.expires_at.to_date.to_s(:short) | |
20 | - - else | |
21 | - Never | |
22 | - %td | |
11 | + = snippet.file_name | |
12 | + | |
13 | + %small.pull-right.cgray | |
23 | 14 | - if snippet.project_id? |
24 | - = link_to snippet.project.name, project_path(snippet.project) | |
15 | + = link_to snippet.project.name_with_namespace, project_path(snippet.project) | |
16 | + %span | |
17 | + \| | |
18 | + Expires: | |
19 | + - if snippet.expires_at | |
20 | + = snippet.expires_at.to_date.to_s(:short) | |
21 | + - else | |
22 | + Never | |
23 | + | |
24 | + .snippet-info.prepend-left-20 | |
25 | + = "##{snippet.id}" | |
26 | + %span.light | |
27 | + by | |
28 | + = image_tag gravatar_icon(snippet.author_email), class: "avatar avatar-inline s16" | |
29 | + = snippet.author_name | |
30 | + | ... | ... |
app/views/snippets/_snippets.html.haml
1 | -%table | |
2 | - %thead | |
3 | - %tr | |
4 | - %th Title | |
5 | - %th File Name | |
6 | - %th Expires At | |
7 | - %th Project | |
8 | - | |
1 | +%ul.bordered-list | |
9 | 2 | = render partial: 'snippet', collection: @snippets |
10 | 3 | - if @snippets.empty? |
11 | - %tr | |
12 | - %td{colspan: 4} | |
13 | - %h3.nothing_here_message Nothing here. | |
4 | + %li | |
5 | + %h3.nothing_here_message Nothing here. | |
14 | 6 | |
15 | 7 | = paginate @snippets | ... | ... |
... | ... | @@ -0,0 +1,21 @@ |
1 | +%h3.page_title | |
2 | + My Snippets | |
3 | + %small share code pastes with others out of git repository | |
4 | + = link_to new_snippet_path, class: "btn btn-small add_new pull-right", title: "New Snippet" do | |
5 | + Add new snippet | |
6 | + | |
7 | +%hr | |
8 | + | |
9 | +.row | |
10 | + .span3 | |
11 | + %ul.nav.nav-pills.nav-stacked | |
12 | + = nav_tab :scope, nil do | |
13 | + = link_to "All", user_snippets_path(@user) | |
14 | + = nav_tab :scope, 'private' do | |
15 | + = link_to "Private", user_snippets_path(@user, scope: 'private') | |
16 | + = nav_tab :scope, 'public' do | |
17 | + = link_to "Public", user_snippets_path(@user, scope: 'public') | |
18 | + | |
19 | + .span9 | |
20 | + = render 'snippets' | |
21 | + | ... | ... |
app/views/snippets/show.html.haml
1 | 1 | %h3.page_title |
2 | 2 | - if @snippet.private? |
3 | - %i.icon-lock | |
3 | + %i.icon-lock.cgreen | |
4 | 4 | - else |
5 | - %i.icon-globe | |
5 | + %i.icon-globe.cblue | |
6 | 6 | |
7 | 7 | = @snippet.title |
8 | - %small= @snippet.file_name | |
9 | - - if @snippet.author == current_user | |
10 | - = link_to "Edit", edit_snippet_path(@snippet), class: "btn btn-small pull-right", title: 'Edit Snippet' | |
11 | 8 | |
9 | + %small.pull-right | |
10 | + = "##{@snippet.id}" | |
11 | + %span.light | |
12 | + by | |
13 | + = image_tag gravatar_icon(@snippet.author_email), class: "avatar avatar-inline s16" | |
14 | + = @snippet.author_name | |
12 | 15 | %br |
13 | 16 | %div= render 'blob' | ... | ... |
app/views/snippets/user_index.html.haml
1 | 1 | %h3.page_title |
2 | - Snippets by | |
2 | + = image_tag gravatar_icon(@user.email), class: "avatar s24" | |
3 | 3 | = @user.name |
4 | + %span | |
5 | + \/ | |
6 | + Snippets | |
4 | 7 | %small share code pastes with others out of git repository |
5 | 8 | = link_to new_snippet_path, class: "btn btn-small add_new pull-right", title: "New Snippet" do |
6 | 9 | Add new snippet |
7 | 10 | |
8 | 11 | %hr |
9 | -.row | |
10 | - .span3 | |
11 | - %ul.nav.nav-pills.nav-stacked | |
12 | - = nav_tab :scope, nil do | |
13 | - = link_to "All", user_snippets_path(@user) | |
14 | - = nav_tab :scope, 'private' do | |
15 | - = link_to "Private", user_snippets_path(@user, scope: 'private') | |
16 | - = nav_tab :scope, 'public' do | |
17 | - = link_to "Public", user_snippets_path(@user, scope: 'public') | |
18 | 12 | |
19 | - .span9 | |
20 | - = render 'snippets' | |
13 | += render 'snippets' | ... | ... |