Sha256: f1d61a50db0f7644293e70e443be90d25f138ecdf1956319519e5c227776a27d

Contents?: true

Size: 666 Bytes

Versions: 6

Compression:

Stored size: 666 Bytes

Contents

module Worthwhile::ParentContainer
  extend ActiveSupport::Concern

  included do
    helper_method :parent
    before_filter :authorize_edit_parent_rights!, except: [:show]
  end

  def parent
    @parent ||= new_or_create? ? ActiveFedora::Base.find(parent_id) : curation_concern.batch
  end

  def parent_id
    @parent_id ||= new_or_create? ? namespaced_parent_id : curation_concern.batch_id
  end

  protected

    def new_or_create?
      ['create', 'new'].include? action_name
    end

    def namespaced_parent_id
      Sufia::Noid.namespaceize(params[:parent_id])
    end

    def authorize_edit_parent_rights!
      authorize! :edit, parent_id
    end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
worthwhile-0.1.2 app/controllers/concerns/worthwhile/parent_container.rb
worthwhile-0.1.1 app/controllers/concerns/worthwhile/parent_container.rb
worthwhile-0.1.0 app/controllers/concerns/worthwhile/parent_container.rb
worthwhile-0.0.3 app/controllers/concerns/worthwhile/parent_container.rb
worthwhile-0.0.2 app/controllers/concerns/worthwhile/parent_container.rb
worthwhile-0.0.1 app/controllers/concerns/worthwhile/parent_container.rb