Sha256: 01a10b3e467ebcf87d5bdf2f078692a13f10d2d638b55e5afdc18627543b5eb1

Contents?: true

Size: 1.8 KB

Versions: 18

Compression:

Stored size: 1.8 KB

Contents

module Spotlight
  module Concerns
    ##
    # Search context helpers
    module CatalogSearchContext
      protected

      def current_page_context
        @current_page_context ||= if current_search_session_from_home_page?
                                    current_exhibit.home_page if can? :read, current_exhibit.home_page
                                  elsif current_search_session_from_page?
                                    page_id = current_search_session.query_params['id']
                                    current_exhibit.pages.accessible_by(current_ability).find(page_id) if page_id
                                  end
      end

      def current_browse_category
        @current_browse_category ||= if current_search_session_from_browse_category?
                                       search_id = current_search_session.query_params['id']
                                       current_exhibit.searches.accessible_by(current_ability).find(search_id)
                                     end
      end

      def current_search_session_from_browse_category?
        current_search_session &&
          current_search_session.query_params['action'] == 'show' &&
          current_search_session.query_params['controller'] == 'spotlight/browse' &&
          current_search_session.query_params['id']
      end

      def current_search_session_from_page?
        current_search_session &&
          current_search_session.query_params['action'] == 'show' &&
          current_search_session.query_params['controller'].ends_with?('_pages')
      end

      def current_search_session_from_home_page?
        current_search_session &&
          current_search_session.query_params['action'] == 'show' &&
          current_search_session.query_params['controller'] == 'spotlight/home_pages'
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
blacklight-spotlight-0.12.1 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.12.0 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.11.0 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.10.3 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.10.2 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.10.1 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.10.0 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.9.2 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.9.1 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.9.0 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.8.2 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.8.1 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.8.0 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.7.2 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.7.1 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.7.0 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.6.0 app/controllers/spotlight/concerns/catalog_search_context.rb
blacklight-spotlight-0.5.0 app/controllers/spotlight/concerns/catalog_search_context.rb