foreman/app/controllers/application_controller.rb @ b09b4515
5563217a | Ohad Levy | # Filters added to this controller apply to all controllers in the application.
|
|
# Likewise, all the methods added will be available for all controllers.
|
|||
class ApplicationController < ActionController::Base
|
|||
protect_from_forgery # See ActionController::RequestForgeryProtection for details
|
|||
816b9c22 | Ohad Levy | filter_parameter_logging :root_pass
|
|
a98d5dcf | Ohad Levy | ||
7fcd9832 | Ohad Levy | # standard layout to all controllers
|
|
a944fa00 | Ohad Levy | layout 'standard'
|
|
55ed30c7 | Ohad Levy | helper 'layout'
|
|
46ac4aa8 | Ohad Levy | ||
6c6713de | Ohad Levy | before_filter :require_ssl, :require_login
|
|
1ba05a93 | Ohad Levy | ||
46ac4aa8 | Ohad Levy | def self.active_scaffold_controller_for(klass)
|
|
return FactNamesController if klass == Puppet::Rails::FactName
|
|||
return FactValuesController if klass == Puppet::Rails::FactValue
|
|||
return "#{klass}ScaffoldController".constantize rescue super
|
|||
end
|
|||
1ba05a93 | Ohad Levy | ||
f2b00c3c | Ohad Levy | protected
|
|
6c6713de | Ohad Levy | ||
def require_ssl
|
|||
# if SSL is not configured, don't bother forcing it.
|
|||
return true unless SETTINGS[:require_ssl]
|
|||
# don't force SSL on localhost
|
|||
return true if request.host=~/localhost|127.0.0.1/
|
|||
# finally - redirect
|
|||
redirect_to :protocol => 'https' and return if request.protocol != 'https' and not request.ssl?
|
|||
end
|
|||
1ba05a93 | Ohad Levy | #Force a user to login if ldap authentication is enabled
|
|
def require_login
|
|||
9c3ffb6b | Ohad Levy | return true unless SETTINGS[:ldap]
|
|
1ba05a93 | Ohad Levy | unless (session[:user] and (@user = User.find(session[:user])))
|
|
session[:original_uri] = request.request_uri
|
|||
bb7981b5 | Ohad Levy | redirect_to login_path
|
|
1ba05a93 | Ohad Levy | end
|
|
end
|
|||
f2b00c3c | Ohad Levy | # returns current user
|
|
aa5a2230 | Ohad Levy | def current_user
|
|
9925f8cf | Ohad Levy | @user
|
|
aa5a2230 | Ohad Levy | end
|
|
0265427b | Ohad Levy | def invalid_request
|
|
render :text => 'Invalid query', :status => 400 and return
|
|||
end
|
|||
c6f1b718 | Ohad Levy | def setgraph chart, data, options = {}
|
|
data[:labels].each {|l| chart.add_column *l }
|
|||
chart.add_rows data[:values]
|
|||
defaults = { :width => 400, :height => 240, :is3D => true,
|
|||
:backgroundColor => "#E6DFCF", :legendBackgroundColor => "#E6DFCF" }
|
|||
defaults.merge(options).each {|k,v| chart.send "#{k}=",v if chart.respond_to? k}
|
|||
return chart
|
|||
end
|
|||
5563217a | Ohad Levy | end
|