Sha256: 3e66a30baa0daa35e901df97ff0ffce9d45a2ab8cd60bd59665dc0cc5f4721d6

Contents?: true

Size: 1.29 KB

Versions: 13

Compression:

Stored size: 1.29 KB

Contents

class Curate::DepositorsController < ApplicationController
  include Sufia::Noid # for normalize_identifier method

  with_themed_layout
  prepend_before_filter :normalize_identifier
  before_filter :authenticate_user!
  before_filter :load_grantor

  def index
  end

  def create
    response = {}
    unless params[:person_id] == params[:grantee_id]
      grantor = Person.find(params[:person_id])
      authorize! :edit, grantor
      grantee = Person.find(params[:grantee_id])
      unless grantor.user.can_receive_deposits_from.include? (grantee.user)
        grantor.user.can_receive_deposits_from << grantee.user
        response = {name: grantee.name, delete_path: person_depositor_path(grantor, grantee) }
      end
    end
    respond_to do |format|
      format.json { render json: response}
    end

  end

  def destroy
    grantor = Person.find(params[:person_id])
    authorize! :edit, grantor
    grantor.user.can_receive_deposits_from.delete(Person.find(params[:id]).user)
    respond_to do |format|
      format.json { head :no_content }
    end
  end

  protected

  def load_grantor
    @grantor = Person.find(params[:person_id])
    authorize! :edit, @grantor
  end

  def normalize_identifier
    params[:person_id] = Sufia::Noid.namespaceize(params[:person_id])
    super if params[:id]
  end

end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
curate-0.6.6 app/controllers/curate/depositors_controller.rb
curate-0.6.5 app/controllers/curate/depositors_controller.rb
curate-0.6.4 app/controllers/curate/depositors_controller.rb
curate-0.6.3 app/controllers/curate/depositors_controller.rb
curate-0.6.1 app/controllers/curate/depositors_controller.rb
curate-0.6.0 app/controllers/curate/depositors_controller.rb
curate-0.5.6 app/controllers/curate/depositors_controller.rb
curate-0.5.5 app/controllers/curate/depositors_controller.rb
curate-0.5.4 app/controllers/curate/depositors_controller.rb
curate-0.5.2 app/controllers/curate/depositors_controller.rb
curate-0.5.1 app/controllers/curate/depositors_controller.rb
curate-0.5.0 app/controllers/curate/depositors_controller.rb
curate-0.4.2 app/controllers/curate/depositors_controller.rb