Merge pull request #1018 from glebm/master

Resque Authentication + iFrame view
This commit is contained in:
Dmitriy Zaporozhets 2012-06-29 04:53:43 -07:00
commit f73d71810e
7 changed files with 28 additions and 11 deletions

View file

@ -0,0 +1,5 @@
class Admin::ResqueController < ApplicationController
layout 'admin'
def show
end
end

View file

@ -4,7 +4,7 @@
%h5
Resque Workers
.data.padded
= link_to "/info/resque" do
= link_to admin_resque_path do
%h1{:class => @workers.present? ? "cgreen" : "cred"}
= @workers.count
%hr

View file

@ -0,0 +1,2 @@
%h3 Resque
%iframe{:src => "/info/resque", :width => 1168, :height => 600, :style => "border: none"}

View file

@ -6,10 +6,10 @@
= render "layouts/head_panel", :title => "Admin area"
.container
%nav.main_menu
= link_to "Stats", admin_root_path, :class => "home #{controller.controller_name == "dashboard" ? "current" : nil}"
= link_to "Projects", admin_projects_path, :class => controller.controller_name == "projects" ? "current" : nil
= link_to "Users", admin_users_path, :class => controller.controller_name == "users" ? "current" : nil
= link_to "Emails", admin_emails_path, :class => controller.controller_name == "mailer" ? "current" : nil
= link_to "Resque", "/info/resque"
= link_to "Stats", admin_root_path, :class => "home #{'current' if controller.controller_name == "dashboard"}"
= link_to "Projects", admin_projects_path, :class => ('current' if controller.controller_name == "projects")
= link_to "Users", admin_users_path, :class => ('current' if controller.controller_name == 'users')
= link_to "Emails", admin_emails_path, :class => ('current' if controller.controller_name == 'mailer')
= link_to "Resque", admin_resque_path, :class => ('current' if controller.controller_name == 'resque')
.content= yield

View file

@ -1,5 +0,0 @@
require 'resque/server'
Resque::Server.use(Rack::Auth::Basic) do |user, password|
user == "gitlab"
password == "5iveL!fe"
end

View file

@ -0,0 +1,14 @@
require 'resque/server'
class Authentication
def initialize(app)
@app = app
end
def call(env)
account = env['warden'].authenticate!(:database_authenticatable, :rememberable, scope: :user)
raise "Access denied" if !account.admin?
@app.call(env)
end
end
Resque::Server.use Authentication

View file

@ -50,6 +50,7 @@ Gitlab::Application.routes.draw do
get 'mailer/preview_note'
get 'mailer/preview_user_new'
get 'mailer/preview_issue_new'
resource :resque, :controller => 'resque'
root :to => "dashboard#index"
end