2012-01-30 20:39:34 +00:00
|
|
|
# -*- encoding : utf-8 -*-
|
2011-10-14 21:45:58 +01:00
|
|
|
Warden::Manager.after_authentication do |user,auth,opts| # after_set_user, :except => fetch
|
|
|
|
ActiveSupport::Notifications.instrument("event_log.observer", :object => user)
|
|
|
|
end
|
|
|
|
|
|
|
|
Warden::Manager.before_failure do |env, opts|
|
|
|
|
# raise env.inspect
|
2011-10-29 15:50:22 +01:00
|
|
|
ActiveSupport::Notifications.instrument "event_log.observer", :kind => 'error',
|
|
|
|
:message => (env['action_dispatch.request.request_parameters']['user'].delete_if{|k,v| k == 'password'}.inspect rescue nil)
|
2011-10-14 21:45:58 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
Warden::Manager.before_logout do |user,auth,opts|
|
|
|
|
ActiveSupport::Notifications.instrument("event_log.observer", :object => user)
|
|
|
|
end
|
|
|
|
|
|
|
|
ActiveSupport::Notifications.subscribe "event_log.observer" do |name, start, finish, id, payload|
|
|
|
|
if c = EventLog.current_controller
|
2011-10-29 15:50:22 +01:00
|
|
|
object = payload[:object]
|
|
|
|
message = payload[:message].presence; message ||= object.event_log_message if object.respond_to?(:event_log_message)
|
|
|
|
EventLog.create_with_current_controller :kind => (payload[:kind].presence || 'info'), :message => message,
|
|
|
|
:object => object, :object_name => payload[:object_name].presence
|
2011-10-14 21:45:58 +01:00
|
|
|
end
|
|
|
|
end
|