Sha256: ae0c4a8dd27c3a8594b1fd3e092918392b32d876ae8a3a48f5bef8de8fe796d9

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 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
      if user_signed_in?
        add_breadcrumb I18n.t('sufia.dashboard.title'), sufia.dashboard_index_path
      end
    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
      if /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
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sufia-6.0.0 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.0.0.rc4 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.0.0.rc3 app/controllers/concerns/sufia/breadcrumbs.rb