Commit 35e21b3402ae934a33b31aa7d6049abaf861f766

Authored by randx
1 parent 1d601616

Admin dashboard

app/assets/stylesheets/common.scss
... ... @@ -903,3 +903,20 @@ li.note {
903 903 .milestone {
904 904 @extend .wll;
905 905 }
  906 +
  907 +/**
  908 + * Admin area
  909 + *
  910 + */
  911 +.admin_dash {
  912 + .data {
  913 + a {
  914 + h1 {
  915 + line-height:48px;
  916 + font-size:48px;
  917 + padding:20px;
  918 + text-align:center;
  919 + }
  920 + }
  921 + }
  922 +}
... ...
app/controllers/admin/dashboard_controller.rb 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +class Admin::DashboardController < ApplicationController
  2 + layout "admin"
  3 + before_filter :authenticate_user!
  4 + before_filter :authenticate_admin!
  5 +
  6 + def index
  7 + @workers = Resque.workers
  8 + @pending_jobs = Resque.size(:post_receive)
  9 + @projects = Project.order("created_at DESC").limit(10)
  10 + @users = User.order("created_at DESC").limit(10)
  11 + end
  12 +end
... ...
app/views/admin/dashboard/index.html.haml 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +.admin_dash.row
  2 + .span4
  3 + .ui-box
  4 + %h5
  5 + Resque Workers
  6 + .data.padded
  7 + = link_to "/info/resque" do
  8 + %h1{:class => @workers.present? ? "cgreen" : "cred"}
  9 + = @workers.count
  10 + %hr
  11 + %p
  12 + %strong{:class => @pending_jobs > 0 ? "cred" : "cgreen"}
  13 + #{@pending_jobs} post receive jobs waiting
  14 +
  15 + .span4
  16 + .ui-box
  17 + %h5 Projects
  18 + .data.padded
  19 + = link_to admin_projects_path do
  20 + %h1= Project.count
  21 + %hr
  22 + = link_to 'New Project', new_admin_project_path, :class => "btn small"
  23 + .span4
  24 + .ui-box
  25 + %h5 Users
  26 + .data.padded
  27 + = link_to admin_users_path do
  28 + %h1= User.count
  29 + %hr
  30 + = link_to 'New User', new_admin_user_path, :class => "btn small"
  31 +
  32 +
  33 +.row
  34 + .span6
  35 + %h3 Latest projects
  36 + %hr
  37 + - @projects.each do |project|
  38 + %h5
  39 + = link_to project.name, [:admin, project]
  40 + .span6
  41 + %h3 Latest users
  42 + %hr
  43 + - @users.each do |user|
  44 + %h5
  45 + = link_to user.name, [:admin, user]
... ...
app/views/layouts/admin.html.haml
... ... @@ -7,6 +7,7 @@
7 7 .container
8 8 %nav.main_menu
9 9 = render "layouts/const_menu_links"
  10 + = link_to "Stats", admin_root_path, :class => controller.controller_name == "dashboard" ? "current" : nil
10 11 = link_to "Projects", admin_projects_path, :class => controller.controller_name == "projects" ? "current" : nil
11 12 = link_to "Users", admin_users_path, :class => controller.controller_name == "users" ? "current" : nil
12 13 = link_to "Emails", admin_emails_path, :class => controller.controller_name == "mailer" ? "current" : nil
... ...
config/routes.rb
... ... @@ -29,7 +29,7 @@ Gitlab::Application.routes.draw do
29 29 get 'mailer/preview_note'
30 30 get 'mailer/preview_user_new'
31 31 get 'mailer/preview_issue_new'
32   - root :to => "users#index"
  32 + root :to => "dashboard#index"
33 33 end
34 34  
35 35 get "errors/githost"
... ...