Commit a1e9a84903d733877a1a1016423709d9e92c20c8

Authored by Victor Costa
1 parent 6a0c7fc6

Workaround for empty sessions with active record session store

app/models/session.rb
1 1 class Session < ActiveRecord::SessionStore::Session
2 2  
3   - # removed and redefined on super class
4   - def self.find_by_session_id session_id
5   - super
  3 + def self.find_by_session_id(session_id)
  4 + where(session_id: session_id).first
6 5 end
7 6  
8 7 belongs_to :user
... ...
lib/authenticated_system.rb
... ... @@ -23,6 +23,17 @@ module AuthenticatedSystem
23 23 def current_user
24 24 @current_user ||= begin
25 25 id = session[:user]
  26 +
  27 + session_id = cookies[:_noosfero_session]
  28 + if id.blank? && session_id.present?
  29 + Session.connection.clear_query_cache
  30 + session_obj = Session.where(session_id: session_id).first
  31 + if session_obj.present?
  32 + session = session_obj.data
  33 + id = session_obj.user_id
  34 + end
  35 + end
  36 +
26 37 user = User.where(id: id).first if id
27 38 user.session = session if user
28 39 User.current = user
... ...