Sha256: b6b0de361083362f1fb863e2e03da417106a25bd2b484fce764870b18b14339d

Contents?: true

Size: 1.42 KB

Versions: 36

Compression:

Stored size: 1.42 KB

Contents

# Include this module into any of your Controller classes to add Hydra functionality
#
# The primary function of this module is to mix in a number of other Hydra Modules, including 
#   Hydra::AccessControlsEnforcement
#
# @example 
#  class CustomHydraController < ApplicationController  
#    include Hydra::Controller::ControllerBehavior
#  end
#
module Hydra::Controller::ControllerBehavior
  extend ActiveSupport::Concern

  included do
    # Other modules to auto-include
    include Hydra::AccessControlsEnforcement
  
    # Catch permission errors
    rescue_from Hydra::AccessDenied do |exception|
      if (exception.action == :edit)
        redirect_to({:action=>'show'}, :alert => exception.message)
      elsif current_user and current_user.persisted?
        redirect_to root_url, :alert => exception.message
      else
        session["user_return_to"] = request.url
        redirect_to new_user_session_url, :alert => exception.message
      end
    end
  end
  
  
  # get the currently configured user identifier.  Can be overridden to return whatever (ie. login, email, etc)
  # defaults to using whatever you have set as the Devise authentication_key
  def user_key
    current_user.user_key if current_user
  end

  module ClassMethods
    # get the solr name for a field with this name and using the given solrizer descriptor
    def solr_name(name, *opts)
      ActiveFedora::SolrService.solr_name(name, *opts)
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
hydra-core-6.5.2 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.5.1 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.4.2 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-7.0.0 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-7.0.0.rc1 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-7.0.0.pre3 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.5.0 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.5.0.rc2 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-7.0.0.pre2 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-7.0.0.pre1 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.4.1 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.4.0 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.4.0.rc5 app/controllers/concerns/hydra/controller/controller_behavior.rb
hydra-core-6.4.0.rc4 lib/hydra/controller/controller_behavior.rb
hydra-core-6.4.0.rc3 lib/hydra/controller/controller_behavior.rb
hydra-core-6.4.0.rc2 lib/hydra/controller/controller_behavior.rb
hydra-core-6.4.0.rc1 lib/hydra/controller/controller_behavior.rb
hydra-core-6.4.0.pre2 lib/hydra/controller/controller_behavior.rb
hydra-core-6.4.0.pre1 lib/hydra/controller/controller_behavior.rb
hydra-core-6.3.4 lib/hydra/controller/controller_behavior.rb