diff --git a/app/assets/javascripts/app/controllers/session.js.coffee b/app/assets/javascripts/app/controllers/session.js.coffee index a9e28fec8..9b704a006 100644 --- a/app/assets/javascripts/app/controllers/session.js.coffee +++ b/app/assets/javascripts/app/controllers/session.js.coffee @@ -10,7 +10,7 @@ class Session extends App.ControllerContent @load() @interval( => - @load + @load() 10000 ) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index b34704ec5..a56b8010d 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -110,6 +110,9 @@ class ApplicationController < ActionController::Base message = 'authentication failed' end + # remember user + session[:user_id] = userdata.id + # return auth ok if message == '' diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index e3946f14e..39f8326ce 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -150,7 +150,7 @@ class SessionsController < ApplicationController def list return if deny_if_not_role('Admin') - sessions = ActiveRecord::SessionStore::Session.order('created_at DESC').limit(10000) + sessions = ActiveRecord::SessionStore::Session.order('updated_at DESC').limit(10000) users = {} sessions_clean = [] sessions.each {|session| @@ -168,10 +168,18 @@ class SessionsController < ApplicationController } end + def delete_old + ActiveRecord::SessionStore::Session.where('request_type = ? AND updated_at < ?', 1, Time.now - 150.days ).delete_all + ActiveRecord::SessionStore::Session.where('request_type = ? AND updated_at < ?', 2, Time.now - 2.days ).delete_all + render :json => {} + end + def delete return if deny_if_not_role('Admin') - session = ActiveRecord::SessionStore::Session.find(params[:id]) - session.destroy + session = ActiveRecord::SessionStore::Session.where( :id => params[:id] ).first + if session + session.destroy + end render :json => {} end end