Module: Hyrax::TransfersControllerBehavior

Extended by:
ActiveSupport::Concern
Included in:
TransfersController
Defined in:
app/controllers/concerns/hyrax/transfers_controller_behavior.rb

Instance Method Summary collapse

Instance Method Details

#acceptObject

Kicks of a job that completes the transfer. If params is set, it will revoke any existing edit permissions on the work.



44
45
46
47
48
49
50
# File 'app/controllers/concerns/hyrax/transfers_controller_behavior.rb', line 44

def accept
  @proxy_deposit_request.transfer!(params[:reset])
  if params[:sticky]
    current_user.can_receive_deposits_from << @proxy_deposit_request.sending_user
  end
  redirect_to hyrax.transfers_path, notice: "Transfer complete"
end

#createObject



26
27
28
29
30
31
32
33
34
# File 'app/controllers/concerns/hyrax/transfers_controller_behavior.rb', line 26

def create
  @proxy_deposit_request.sending_user = current_user
  if @proxy_deposit_request.save
    redirect_to hyrax.transfers_path, notice: "Transfer request created"
  else
    @work = Hyrax::WorkRelation.new.find(params[:id])
    render :new
  end
end

#destroyObject



57
58
59
60
# File 'app/controllers/concerns/hyrax/transfers_controller_behavior.rb', line 57

def destroy
  @proxy_deposit_request.cancel!
  redirect_to hyrax.transfers_path, notice: "Transfer canceled"
end

#indexObject

TODO:

Consolidate the incoming/outgoing instance variables into a TransfersIndexPresenter; We should aim to set one instance variable per controller action



37
38
39
40
# File 'app/controllers/concerns/hyrax/transfers_controller_behavior.rb', line 37

def index
  @incoming = ProxyDepositRequest.incoming_for(user: current_user)
  @outgoing = ProxyDepositRequest.outgoing_for(user: current_user)
end

#newObject



22
23
24
# File 'app/controllers/concerns/hyrax/transfers_controller_behavior.rb', line 22

def new
  @work = Hyrax::WorkRelation.new.find(params[:id])
end

#rejectObject



52
53
54
55
# File 'app/controllers/concerns/hyrax/transfers_controller_behavior.rb', line 52

def reject
  @proxy_deposit_request.reject!
  redirect_to hyrax.transfers_path, notice: "Transfer rejected"
end