Sha256: 92349abe41a1e8a19c42e9854a1932e6eac711f7aff0884f83d3f9ce2d147ee0

Contents?: true

Size: 1.04 KB

Versions: 17

Compression:

Stored size: 1.04 KB

Contents

module SiteControllerExtensions
  
  def self.included(base)
    base.class_eval {
      rescue_from ReaderError::AccessDenied, :with => :access_denied
      rescue_from ReaderError::LoginRequired, :with => :login_required
      rescue_from ReaderError::ActivationRequired, :with => :activation_required
      
      # NB. to control access without disabling the cache we have overridden Page.cache? 
      # to return false for any page that has a group association.
      
      def find_page_with_group_check(path)
        page = find_page_without_group_check(path)
        if page && page.restricted?
          raise ReaderError::LoginRequired, t("reader_extension.page_not_public") unless current_reader
          raise ReaderError::ActivationRequired, t("reader_extension.page_not_public") unless current_reader.activated?
          raise ReaderError::AccessDenied, t("reader_extension.page_permission_denied") unless page.visible_to?(current_reader)
        end
        page
      end
      alias_method_chain :find_page, :group_check
    }
  end
end



Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
radiant-reader-extension-3.0.38 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.37 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.36 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.35 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.33 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.32 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.31 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.30 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.29 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.28 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.27 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.26 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.25 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.24 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.23 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.20 lib/site_controller_extensions.rb
radiant-reader-extension-3.0.19 lib/site_controller_extensions.rb