Sha256: 79e2ed01045d8d860e0672d6e34da50d75cf3315050e00612be46ca9e07b83ee

Contents?: true

Size: 1.18 KB

Versions: 4

Compression:

Stored size: 1.18 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(Sufia::Noid.noidify params["id"])
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sufia-5.0.0 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-5.0.0.rc1 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.0.0.rc2 app/controllers/concerns/sufia/breadcrumbs.rb
sufia-6.0.0.rc1 app/controllers/concerns/sufia/breadcrumbs.rb