Sha256: f99963f9aa9d3175b515596449a59e62b22023c739e0f7bfe88227bbe81eddbd

Contents?: true

Size: 1.06 KB

Versions: 137

Compression:

Stored size: 1.06 KB

Contents

module MultiSite::ResourceControllerExtensions

  def self.included(base)
    base.class_eval {
      alias_method :discover_current_site_without_input, :discover_current_site
      alias_method :discover_current_site, :discover_current_site_with_input
    }
  end

  def current_site=(site=nil)
    Page.current_site = site
    set_session_site
  end

  # among other things this determines whether the site chooser is shown in the submenu

  def sited_model?
    model_class == Page || model_class.is_site_scoped?
  end

protected

  def discover_current_site_with_input
    site_from_param || site_from_session || discover_current_site_without_input
  end

  # for interface consistency we want to be able to remember site choices between requests

  def set_session_site(site_id=nil)
    site_id ||= current_site.id.to_s if current_site.is_a? Site
    session[:site_id] = site_id
  end

  def site_from_session
    session[:site_id] && Site.find(session[:site_id]) rescue nil
  end

  def site_from_param
    params[:site_id] && Site.find(params[:site_id]) rescue nil
  end

end

Version data entries

137 entries across 137 versions & 2 rubygems

Version Path
trusty-cms-7.0.22 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.21 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.20 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.19 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.18 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.17 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.16 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.14 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.13 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.12 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.15 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.9.1 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.11 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.10 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.9 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.8 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.7 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.6 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.5 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb
trusty-cms-7.0.4 vendor/extensions/multi-site-extension/lib/multi_site/resource_controller_extensions.rb