OSDN Git Service

Restyle snippets
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 5 Jun 2013 19:25:27 +0000 (22:25 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 5 Jun 2013 19:25:27 +0000 (22:25 +0300)
14 files changed:
app/controllers/snippets_controller.rb
app/helpers/snippets_helper.rb
app/views/layouts/_head_panel.html.haml
app/views/layouts/snippets.html.haml
app/views/projects/snippets/_blob.html.haml
app/views/projects/snippets/_snippet.html.haml
app/views/projects/snippets/index.html.haml
app/views/projects/snippets/show.html.haml
app/views/snippets/_blob.html.haml
app/views/snippets/_snippet.html.haml
app/views/snippets/_snippets.html.haml
app/views/snippets/current_user_index.html.haml [new file with mode: 0644]
app/views/snippets/show.html.haml
app/views/snippets/user_index.html.haml

index 70525be..49b740a 100644 (file)
@@ -15,19 +15,28 @@ class SnippetsController < ApplicationController
 
   def user_index
     @user = User.find_by_username(params[:username])
-
-    @snippets = @current_user.snippets.fresh.non_expired
-
-    @snippets = case params[:scope]
-                when 'public' then
-                  @snippets.public
-                when 'private' then
-                  @snippets.private
-                else
-                  @snippets
-                end
+    @snippets = @user.snippets.fresh.non_expired
+
+    if @user == current_user
+      @snippets = case params[:scope]
+                  when 'public' then
+                    @snippets.public
+                  when 'private' then
+                    @snippets.private
+                  else
+                    @snippets
+                  end
+    else
+      @snippets = @snippets.public
+    end
 
     @snippets = @snippets.page(params[:page]).per(20)
+
+    if @user == current_user
+      render 'current_user_index'
+    else
+      render 'user_index'
+    end
   end
 
   def new
@@ -79,7 +88,7 @@ class SnippetsController < ApplicationController
   protected
 
   def snippet
-    @snippet ||= PersonalSnippet.find(params[:id])
+    @snippet ||= PersonalSnippet.where('author_id = :user_id or private is false', user_id: current_user.id).find(params[:id])
   end
 
   def authorize_modify_snippet!
index 6a91d61..b0abc2c 100644 (file)
@@ -8,4 +8,12 @@ module SnippetsHelper
     ]
     options_for_select(options)
   end
+
+  def reliable_snippet_path(snippet)
+    if snippet.project_id?
+      project_snippet_path(snippet.project, snippet)
+    else
+      snippet_path(snippet)
+    end
+  end
 end
index b214d51..f0b001f 100644 (file)
@@ -19,7 +19,7 @@
           = link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
             %i.icon-globe
         %li
-          = link_to snippets_path, title: "Snippets area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
+          = link_to user_snippets_path(current_user), title: "My snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
             %i.icon-paste
         - if current_user.is_admin?
           %li
index d177709..f2696a0 100644 (file)
@@ -7,15 +7,12 @@
     %nav.main-nav
       .container
         %ul
-          = nav_link(path: 'dashboard#show', html_options: {class: 'home'}) do
-            = link_to root_path, title: "Back to dashboard" do
+          = nav_link(path: 'snippets#user_index', html_options: {class: 'home'}) do
+            = link_to user_snippets_path(current_user), title: "My Snippets" do
               %i.icon-home
           = nav_link(path: 'snippets#new') do
             = link_to new_snippet_path do
               New snippet
-          = nav_link(path: 'snippets#user_index') do
-            = link_to user_snippets_path(@current_user) do
-              My snippets
           = nav_link(path: 'snippets#index') do
             = link_to snippets_path do
               Discover snippets
index 017a33b..e0d1669 100644 (file)
@@ -3,7 +3,10 @@
     %i.icon-file
     %strong= @snippet.file_name
     %span.options
-      = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-tiny", target: "_blank"
+      .btn-group.tree-btn-group.pull-right
+        - if can?(current_user, :admin_project_snippet, @project) || @snippet.author == current_user
+          = link_to "Edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-tiny", title: 'Edit Snippet'
+        = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-tiny", target: "_blank"
   .file_content.code
     - unless @snippet.content.empty?
       %div{class: user_color_scheme_class}
index a576500..72865bf 100644 (file)
@@ -1,13 +1,25 @@
-%tr
-  %td
-    = image_tag gravatar_icon(snippet.author_email), class: "avatar s24"
-    %a{href: project_snippet_path(snippet.project, snippet)}
-      %strong= truncate(snippet.title, length: 60)
-  %td
-    = snippet.file_name
-  %td
+%li
+  .snippet-title
+    - if snippet.private?
+      %i.icon-lock.cgreen
+    - else
+      %i.icon-globe.cblue
+    = link_to reliable_snippet_path(snippet) do
+      %h5.inline
+        = truncate(snippet.title, length: 60)
     %span.cgray
-      - if snippet.expires_at
-        = snippet.expires_at.to_date.to_s(:short)
-      - else
-        Never
+      = snippet.file_name
+
+  %small.pull-right.cgray
+    Expires:
+    - if snippet.expires_at
+      = snippet.expires_at.to_date.to_s(:short)
+    - else
+      Never
+
+  .snippet-info.prepend-left-20
+    = "##{snippet.id}"
+    %span.light
+      by
+      = image_tag gravatar_icon(snippet.author_email), class: "avatar avatar-inline s16"
+      = snippet.author_name
index 5971e3f..ce36bed 100644 (file)
@@ -5,15 +5,9 @@
   - if can? current_user, :write_project_snippet, @project
     = link_to new_project_snippet_path(@project), class: "btn btn-small add_new pull-right", title: "New Snippet" do
       Add new snippet
-%br
-%table
-  %thead
-    %tr
-      %th Title
-      %th File Name
-      %th Expires At
+%hr
+%ul.bordered-list
   = render partial: "projects/snippets/snippet", collection: @snippets
   - if @snippets.empty?
-    %tr
-      %td{colspan: 3}
-        %h3.nothing_here_message Nothing here.
+    %li
+      %h3.nothing_here_message Nothing here.
index db5a721..da93e4b 100644 (file)
@@ -1,9 +1,13 @@
 %h3.page_title
+  %i.icon-lock.cgreen
   = @snippet.title
-  %small= @snippet.file_name
-  - if can?(current_user, :admin_project_snippet, @project) || @snippet.author == current_user
-    = link_to "Edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-small pull-right", title: 'Edit Snippet'
 
+  %small.pull-right
+    = "##{@snippet.id}"
+    %span.light
+      by
+      = image_tag gravatar_icon(@snippet.author_email), class: "avatar avatar-inline s16"
+      = @snippet.author_name
 %br
 %div= render 'projects/snippets/blob'
 %div#notes= render "notes/notes_with_form"
index 56e62f0..6f62ea0 100644 (file)
@@ -3,7 +3,10 @@
     %i.icon-file
     %strong= @snippet.file_name
     %span.options
-      = link_to "raw", raw_snippet_path(@snippet), class: "btn btn-tiny", target: "_blank"
+      .btn-group.tree-btn-group.pull-right
+        - if @snippet.author == current_user
+          = link_to "Edit", edit_snippet_path(@snippet), class: "btn btn-tiny", title: 'Edit Snippet'
+        = link_to "Raw", raw_snippet_path(@snippet), class: "btn btn-tiny", target: "_blank"
   .file_content.code
     - unless @snippet.content.empty?
       %div{class: user_color_scheme_class}
index 77d9d21..1256236 100644 (file)
@@ -1,24 +1,30 @@
-%tr
-  %td
+%li
+  .snippet-title
     - if snippet.private?
-      %i.icon-lock
+      %i.icon-lock.cgreen
     - else
-      %i.icon-globe
-    = image_tag gravatar_icon(snippet.author_email), class: "avatar s24"
-    - if snippet.project_id?
-      %a{href: project_snippet_path(snippet.project, snippet)}
-        %strong= truncate(snippet.title, length: 60)
-    - else
-      %a{href: snippet_path(snippet)}
-        %strong= truncate(snippet.title, length: 60)
-  %td
-    = snippet.file_name
-  %td
+      %i.icon-globe.cblue
+    = link_to reliable_snippet_path(snippet) do
+      %h5.inline
+        = truncate(snippet.title, length: 60)
     %span.cgray
-      - if snippet.expires_at
-        = snippet.expires_at.to_date.to_s(:short)
-      - else
-        Never
-  %td
+      = snippet.file_name
+
+  %small.pull-right.cgray
     - if snippet.project_id?
-      = link_to snippet.project.name, project_path(snippet.project)
+      = link_to snippet.project.name_with_namespace, project_path(snippet.project)
+      %span
+        \|
+    Expires:
+    - if snippet.expires_at
+      = snippet.expires_at.to_date.to_s(:short)
+    - else
+      Never
+
+  .snippet-info.prepend-left-20
+    = "##{snippet.id}"
+    %span.light
+      by
+      = image_tag gravatar_icon(snippet.author_email), class: "avatar avatar-inline s16"
+      = snippet.author_name
+
index 192cb6a..636bf37 100644 (file)
@@ -1,15 +1,7 @@
-%table
-  %thead
-    %tr
-      %th Title
-      %th File Name
-      %th Expires At
-      %th Project
-
+%ul.bordered-list
   = render partial: 'snippet', collection: @snippets
   - if @snippets.empty?
-    %tr
-      %td{colspan: 4}
-        %h3.nothing_here_message Nothing here.
+    %li
+      %h3.nothing_here_message Nothing here.
 
 = paginate @snippets
diff --git a/app/views/snippets/current_user_index.html.haml b/app/views/snippets/current_user_index.html.haml
new file mode 100644 (file)
index 0000000..912f4c7
--- /dev/null
@@ -0,0 +1,21 @@
+%h3.page_title
+  My Snippets
+  %small share code pastes with others out of git repository
+  = link_to new_snippet_path, class: "btn btn-small add_new pull-right", title: "New Snippet" do
+    Add new snippet
+
+%hr
+
+.row
+  .span3
+    %ul.nav.nav-pills.nav-stacked
+      = nav_tab :scope, nil do
+        = link_to "All", user_snippets_path(@user)
+      = nav_tab :scope, 'private' do
+        = link_to "Private", user_snippets_path(@user, scope: 'private')
+      = nav_tab :scope, 'public' do
+        = link_to "Public", user_snippets_path(@user, scope: 'public')
+
+  .span9
+    = render 'snippets'
+
index 18348fb..f425c4b 100644 (file)
@@ -1,13 +1,16 @@
 %h3.page_title
   - if @snippet.private?
-    %i.icon-lock
+    %i.icon-lock.cgreen
   - else
-    %i.icon-globe
+    %i.icon-globe.cblue
 
   = @snippet.title
-  %small= @snippet.file_name
-  - if @snippet.author == current_user
-    = link_to "Edit", edit_snippet_path(@snippet), class: "btn btn-small pull-right", title: 'Edit Snippet'
 
+  %small.pull-right
+    = "##{@snippet.id}"
+    %span.light
+      by
+      = image_tag gravatar_icon(@snippet.author_email), class: "avatar avatar-inline s16"
+      = @snippet.author_name
 %br
 %div= render 'blob'
index 2f2cce2..79e3ddf 100644 (file)
@@ -1,20 +1,13 @@
 %h3.page_title
-  Snippets by
+  = image_tag gravatar_icon(@user.email), class: "avatar s24"
   = @user.name
+  %span
+    \/
+    Snippets
   %small share code pastes with others out of git repository
   = link_to new_snippet_path, class: "btn btn-small add_new pull-right", title: "New Snippet" do
     Add new snippet
 
 %hr
-.row
-  .span3
-    %ul.nav.nav-pills.nav-stacked
-      = nav_tab :scope, nil do
-        = link_to "All", user_snippets_path(@user)
-      = nav_tab :scope, 'private' do
-        = link_to "Private", user_snippets_path(@user, scope: 'private')
-      = nav_tab :scope, 'public' do
-        = link_to "Public", user_snippets_path(@user, scope: 'public')
 
-  .span9
-    = render 'snippets'
+= render 'snippets'