diff --git a/app/controllers/cmtool/application_controller.rb b/app/controllers/cmtool/application_controller.rb index 540495b..223891a 100644 --- a/app/controllers/cmtool/application_controller.rb +++ b/app/controllers/cmtool/application_controller.rb @@ -1,5 +1,6 @@ module Cmtool class ApplicationController < ::ApplicationController + include Cmtool::ControllerGlue before_filter :authorize_user, :check_environment, :set_locale layout 'cmtool/application' @@ -21,11 +22,6 @@ module Cmtool end end - def cmtool_user - defined?(super) ? super : current_user - end - helper_method :cmtool_user - def check_environment @cmtool_warnings ||= [] @cmtool_warnings << 'no_host_specified' unless ( Rails.application.config.action_mailer.default_url_options[:host] rescue false) || diff --git a/app/controllers/cmtool/sessions_controller.rb b/app/controllers/cmtool/sessions_controller.rb index 3830363..43a66ef 100644 --- a/app/controllers/cmtool/sessions_controller.rb +++ b/app/controllers/cmtool/sessions_controller.rb @@ -1,5 +1,6 @@ module Cmtool class SessionsController < ::Devise::SessionsController + include Cmtool::ControllerGlue layout 'cmtool/devise' end end diff --git a/app/controllers/concerns/cmtool/controller_glue.rb b/app/controllers/concerns/cmtool/controller_glue.rb new file mode 100644 index 0000000..97d14c6 --- /dev/null +++ b/app/controllers/concerns/cmtool/controller_glue.rb @@ -0,0 +1,11 @@ +module Cmtool::ControllerGlue + extend ActiveSupport::Concern + included do + helper_method :cmtool_user + end + + def cmtool_user + defined?(super) ? super : current_user + end + +end diff --git a/app/helpers/cmtool/application_helper.rb b/app/helpers/cmtool/application_helper.rb index 5dab62f..747f3d8 100644 --- a/app/helpers/cmtool/application_helper.rb +++ b/app/helpers/cmtool/application_helper.rb @@ -125,6 +125,7 @@ module Cmtool format("%.2f",n) + %w(B KB MB GB TB)[count] end + # Add extra helper method since cmtool layouts may be used outside the cmtool scope def cmtool_user controller.send :cmtool_user end