Sha256: a53fe6ce40fd797c52e6421a33c87a531c1a5df31a44be1e406fd0aa9b6a94f2
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
module Locomotive module Routing module SiteDispatcher extend ActiveSupport::Concern included do if self.respond_to?(:before_filter) before_filter :fetch_site helper_method :current_site end end protected def fetch_site Locomotive.log "[fetch site] host = #{request.host} / #{request.env['HTTP_HOST']}" if Locomotive.config.multi_sites? @current_site ||= Locomotive::Site.match_domain(request.host).first else @current_site ||= Locomotive::Site.first end end def current_site @current_site || fetch_site end def require_site return true if current_site redirect_to installation_url and return false if Locomotive::Account.count == 0 || Locomotive::Site.count == 0 render_no_site_error and return false end def render_no_site_error render :template => '/locomotive/errors/no_site', :layout => false, :status => :not_found end def validate_site_membership return true if current_site.present? && current_site.accounts.include?(current_locomotive_account) sign_out(current_locomotive_account) flash[:alert] = I18n.t(:no_membership, :scope => [:devise, :failure, :locomotive]) redirect_to new_locomotive_account_session_url and return false end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
locomotive_cms-2.0.0.rc11 | lib/locomotive/routing/site_dispatcher.rb |