Sha256: c5eee3924af3f7302c006866630ca0e05d97e69d958a714fa59b476107f3d505

Contents?: true

Size: 1.14 KB

Versions: 6

Compression:

Stored size: 1.14 KB

Contents

module Sufia
  module Breadcrumbs
    extend ActiveSupport::Concern

    def build_breadcrumbs
      if request.referer
        trail_from_referer
      else
        default_trail
      end
    end

    def default_trail
      add_breadcrumb I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path if user_signed_in?
    end

    def trail_from_referer
      case request.referer
      when /catalog/
        add_breadcrumb I18n.t('sufia.bread_crumb.search_results'), request.referer
      else
        default_trail
        add_breadcrumb_for_controller
        add_breadcrumb_for_action
      end
    end

    def add_breadcrumb_for_controller
      case controller_name
      when /files|batch/
        add_breadcrumb I18n.t('sufia.dashboard.my.files'), sufia.dashboard_files_path
      when /collections/
        add_breadcrumb I18n.t('sufia.dashboard.my.collections'), sufia.dashboard_collections_path
      end
    end

    def add_breadcrumb_for_action
      return unless /edit|stats/ =~ action_name && controller_name == "generic_files"
      add_breadcrumb I18n.t("sufia.generic_file.browse_view"), sufia.generic_file_path(params["id"])
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sufia-6.7.0 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.6.1 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.6.0 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.5.0 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.4.0 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.3.0 app/controllers/concerns/sufia/breadcrumbs.rb