Restyle snippets

This commit is contained in:
Dmitriy Zaporozhets 2013-06-05 22:25:27 +03:00
parent 36e832cc28
commit e7bcbb95c8
14 changed files with 137 additions and 92 deletions

View File

@ -15,19 +15,28 @@ class SnippetsController < ApplicationController
def user_index
@user = User.find_by_username(params[:username])
@snippets = @user.snippets.fresh.non_expired
@snippets = @current_user.snippets.fresh.non_expired
@snippets = case params[:scope]
when 'public' then
@snippets.public
when 'private' then
@snippets.private
else
@snippets
end
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!

View 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

View 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

View 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

View 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}

View 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

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

View 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"

View 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}

View 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

View 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

View File

@ -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'

View 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'

View 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'