From 4a63573b21dedaebaf0722b819926c5a468bcc5d Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Thu, 2 Apr 2015 18:22:54 -0700 Subject: [PATCH] Start applying new layout to snippets pages --- app/controllers/snippets_controller.rb | 40 +++++++-------- app/views/layouts/nav/_snippets.html.haml | 11 +++++ app/views/layouts/snippets.html.haml | 6 +++ .../snippets/current_user_index.html.haml | 49 +++++++++---------- app/views/snippets/index.html.haml | 1 - config/routes.rb | 3 +- 6 files changed, 60 insertions(+), 50 deletions(-) create mode 100644 app/views/layouts/nav/_snippets.html.haml create mode 100644 app/views/layouts/snippets.html.haml diff --git a/app/controllers/snippets_controller.rb b/app/controllers/snippets_controller.rb index cd52556b20..6c84dbbb99 100644 --- a/app/controllers/snippets_controller.rb +++ b/app/controllers/snippets_controller.rb @@ -1,10 +1,6 @@ class SnippetsController < ApplicationController before_filter :snippet, only: [:show, :edit, :destroy, :update, :raw] - - # Allow modify snippet before_filter :authorize_modify_snippet!, only: [:edit, :update] - - # Allow destroy snippet before_filter :authorize_admin_snippet!, only: [:destroy] before_filter :set_title @@ -16,24 +12,24 @@ class SnippetsController < ApplicationController layout :determine_layout def index - @snippets = SnippetsFinder.new.execute(current_user, filter: :all).page(params[:page]).per(PER_PAGE) - end - - def user_index - @user = User.find_by(username: params[:username]) - - render_404 and return unless @user - - @snippets = SnippetsFinder.new.execute(current_user, { - filter: :by_user, - user: @user, - scope: params[:scope] }). - page(params[:page]).per(PER_PAGE) - - if @user == current_user - render 'current_user_index' + if params[:username].present? + @user = User.find_by(username: params[:username]) + + render_404 and return unless @user + + @snippets = SnippetsFinder.new.execute(current_user, { + filter: :by_user, + user: @user, + scope: params[:scope] }). + page(params[:page]).per(PER_PAGE) + + if @user == current_user + render 'current_user_index' + else + render 'user_index' + end else - render 'user_index' + @snippets = SnippetsFinder.new.execute(current_user, filter: :all).page(params[:page]).per(PER_PAGE) end end @@ -108,6 +104,6 @@ class SnippetsController < ApplicationController end def determine_layout - current_user ? 'navless' : 'public_users' + current_user ? 'snippets' : 'public_users' end end diff --git a/app/views/layouts/nav/_snippets.html.haml b/app/views/layouts/nav/_snippets.html.haml new file mode 100644 index 0000000000..1c5d376a76 --- /dev/null +++ b/app/views/layouts/nav/_snippets.html.haml @@ -0,0 +1,11 @@ +%ul.nav.nav-sidebar + = nav_link(path: user_snippets_path(current_user), html_options: {class: 'home'}) do + = link_to user_snippets_path(current_user) do + %i.fa.fa-dashboard + %span + My Snippets + = nav_link(path: snippets_path) do + = link_to snippets_path, title: 'Discover snippets' do + %i.fa.fa-globe + %span + Discover Snippets diff --git a/app/views/layouts/snippets.html.haml b/app/views/layouts/snippets.html.haml new file mode 100644 index 0000000000..fbd29eb23a --- /dev/null +++ b/app/views/layouts/snippets.html.haml @@ -0,0 +1,6 @@ +!!! 5 +%html{ lang: "en"} + = render "layouts/head", title: "Dashboard" + %body{class: "#{app_theme} application", :'data-page' => body_data_page } + = render "layouts/head_panel", title: link_to("Snippets", snippets_path) + = render 'layouts/page', sidebar: 'layouts/nav/snippets' diff --git a/app/views/snippets/current_user_index.html.haml b/app/views/snippets/current_user_index.html.haml index 0df5ade500..4a27355795 100644 --- a/app/views/snippets/current_user_index.html.haml +++ b/app/views/snippets/current_user_index.html.haml @@ -8,32 +8,29 @@ %p.light Share code pastes with others out of git repository -%hr -.row - .col-md-3 - %ul.nav.nav-pills.nav-stacked - = nav_tab :scope, nil do - = link_to user_snippets_path(@user) do - All - %span.pull-right - = @user.snippets.count - = nav_tab :scope, 'are_private' do - = link_to user_snippets_path(@user, scope: 'are_private') do - Private - %span.pull-right - = @user.snippets.are_private.count - = nav_tab :scope, 'are_internal' do - = link_to user_snippets_path(@user, scope: 'are_internal') do - Internal - %span.pull-right - = @user.snippets.are_internal.count - = nav_tab :scope, 'are_public' do - = link_to user_snippets_path(@user, scope: 'are_public') do - Public - %span.pull-right - = @user.snippets.are_public.count +%ul.nav.nav-tabs + = nav_tab :scope, nil do + = link_to user_snippets_path(@user) do + All + %span.badge + = @user.snippets.count + = nav_tab :scope, 'are_private' do + = link_to user_snippets_path(@user, scope: 'are_private') do + Private + %span.badge + = @user.snippets.are_private.count + = nav_tab :scope, 'are_internal' do + = link_to user_snippets_path(@user, scope: 'are_internal') do + Internal + %span.badge + = @user.snippets.are_internal.count + = nav_tab :scope, 'are_public' do + = link_to user_snippets_path(@user, scope: 'are_public') do + Public + %span.badge + = @user.snippets.are_public.count - .col-md-9.my-snippets - = render 'snippets' +.my-snippets + = render 'snippets' diff --git a/app/views/snippets/index.html.haml b/app/views/snippets/index.html.haml index 5cd8ae26cf..108dd0cca3 100644 --- a/app/views/snippets/index.html.haml +++ b/app/views/snippets/index.html.haml @@ -2,7 +2,6 @@ Public snippets .pull-right - - if current_user = link_to new_snippet_path, class: "btn btn-new btn-grouped", title: "New Snippet" do Add new snippet diff --git a/config/routes.rb b/config/routes.rb index 744a99fede..f95507017c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -51,7 +51,8 @@ Gitlab::Application.routes.draw do get 'raw' end end - get '/s/:username' => 'snippets#user_index', as: :user_snippets, constraints: { username: /.*/ } + + get '/s/:username' => 'snippets#index', as: :user_snippets, constraints: { username: /.*/ } # # Invites -- 2.30.9