Sha256: f26d4e7f9bc35b9a77cb23aa86de12666a40f6c546982fcc023dd2d32480a1a1

Contents?: true

Size: 1.03 KB

Versions: 11

Compression:

Stored size: 1.03 KB

Contents

module Sufia
  module GenericFile
    module ProxyDeposit
      extend ActiveSupport::Concern

      included do
        property :proxy_depositor, predicate: ::RDF::URI.new('http://scholarsphere.psu.edu/ns#proxyDepositor'), multiple: false do |index|
          index.as :symbol
        end

        # This value is set when a user indicates they are depositing this for someone else
        property :on_behalf_of, predicate: ::RDF::URI.new('http://scholarsphere.psu.edu/ns#onBehalfOf'), multiple: false do |index|
          index.as :symbol
        end

        after_create :create_transfer_request
      end


      def create_transfer_request
        Sufia.queue.push(ContentDepositorChangeEventJob.new(id, on_behalf_of)) if on_behalf_of.present?
      end

      def request_transfer_to(target)
        raise ArgumentError, "Must provide a target" unless target
        deposit_user = ::User.find_by_user_key(depositor)
        ProxyDepositRequest.create!(pid: id, receiving_user: target, sending_user: deposit_user)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
sufia-6.0.0.rc4 sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-models-6.0.0.rc4 app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-6.0.0.rc3 sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-models-6.0.0.rc3 app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-6.0.0.rc2 sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-models-6.0.0.rc2 app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-6.0.0.rc1 sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-models-6.0.0.rc1 app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-6.0.0.beta1 sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-models-6.0.0.beta1 app/models/concerns/sufia/generic_file/proxy_deposit.rb
sufia-models-5.0.0.beta1 app/models/concerns/sufia/generic_file/proxy_deposit.rb