Sha256: 42c14c4d88f586ad7382b296756740a7cacb47214fb6e87fb23f709962bdc668

Contents?: true

Size: 1.09 KB

Versions: 9

Compression:

Stored size: 1.09 KB

Contents

class FabulatorContext < ActiveRecord::Base
  #serialize :context
  belongs_to :page
  belongs_to :user

  def self.find_by_page(p)
    if p.request.session[:user_id].blank?
      c = self.first(:conditions => [
        'page_id = ? AND session = ? AND (user_id IS NULL OR user_id=0)',
        p.id, p.request.session[:session_id]
      ] )
    else
      c = self.first(:conditions => [
        'page_id = ? AND session = ? AND user_id = ?',
        p.id, p.request.session[:session_id], p.request.session[:user_id]
      ] )
    end
    if c.nil? && !p.request.session[:user_id].blank?
      c = self.first(:conditions => [
        'page_id = ? AND session = ?',
        p.id, p.request.session[:session_id]
      ] )
      if !c.nil? && c.user.nil?
        c.update_attribute(:user_id, p.request.session[:user_id])
      end
    end
    p.fabulator_context = c.context unless c.nil?
    return c unless c.nil?
    self.new(
      :context => YAML::dump(p.fabulator_context),
      :page_id => p.id,
      :user_id => p.request.session[:user_id],
      :session => p.request.session[:session_id]
    )
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
radiant-fabulator-extension-0.0.10 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.9 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.8 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.7 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.6 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.5 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.3 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.2 app/models/fabulator_context.rb
radiant-fabulator-extension-0.0.1 app/models/fabulator_context.rb