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
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!
]
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
= 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
%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
%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}
-%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
- 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.
%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"
%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}
-%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
+
-%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
--- /dev/null
+%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'
+
%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'
%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'