Renamed controllers classes.
[merb_radiant.git] / app / controllers / application.rb
blob6aa5504ca2e963e58e8b7ca7bdf883306a3e7a13
1 require_dependency 'radiant'
3 class Application < Merb::Controller
5   include LoginSystem
6   
7   filter_parameter_logging :password, :password_confirmation
8   
9   before :set_current_user
10   before :set_javascripts_and_stylesheets
11   
12   attr_accessor :config
13   
14   def initialize
15     super
16     @config = Radiant::Config
17   end
18   
19   # helpers to include additional assets from actions or views
20   helper_method :include_stylesheet, :include_javascript
21   
22   def include_stylesheet(sheet)
23     @stylesheets << sheet
24   end
25   
26   def include_javascript(script)
27     @javascripts << script
28   end
29   
30   def rescue_action_in_public(exception)
31     case exception
32       when ActiveRecord::RecordNotFound, ActionController::UnknownController, ActionController::UnknownAction, ActionController::RoutingError
33         render :template => "site/not_found", :status => 404
34       else
35         super
36     end
37   end
38   
39   private
40   
41     def set_current_user
42       UserActionObserver.current_user = current_user
43     end
44   
45     def set_javascripts_and_stylesheets
46       @stylesheets = %w(admin/main)
47       @javascripts = %w(prototype string effects tabcontrol ruledtable admin)
48     end
50 end