Commit 35e21b3402ae934a33b31aa7d6049abaf861f766
1 parent
1d601616
Exists in
master
and in
4 other branches
Admin dashboard
Showing
5 changed files
with
76 additions
and
1 deletions
Show diff stats
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 | +} | ... | ... |
| ... | ... | @@ -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 | ... | ... |
| ... | ... | @@ -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