From ff21ff1489afd6a16d52acc05a71bd58abc401ac Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Nov 2016 15:17:03 +0100 Subject: Make User#current_sign_in_at actually track when user was last active, by updating it at least every 24h if the user visits the site --- app/controllers/application_controller.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'app/controllers') diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index ba0098c71..bb52646a7 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -14,6 +14,7 @@ class ApplicationController < ActionController::Base before_action :store_current_location, except: :raise_not_found, unless: :devise_controller? before_action :set_locale + before_action :set_user_activity def raise_not_found raise ActionController::RoutingError, "No route matches #{params[:unmatched_route]}" @@ -35,6 +36,10 @@ class ApplicationController < ActionController::Base redirect_to root_path unless current_user&.admin? end + def set_user_activity + current_user.touch(:current_sign_in_at) if !current_user.nil? && current_user.current_sign_in_at < 24.hours.ago + end + protected def not_found -- cgit