sufia 4.0.1 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.md +247 -215
- data/README.md +7 -3
- data/SUFIA_VERSION +1 -1
- data/app/assets/javascripts/sufia.js +5 -2
- data/app/assets/javascripts/sufia/proxy_rights.js +68 -0
- data/app/assets/javascripts/sufia/transfers.js +3 -0
- data/app/assets/javascripts/sufia/user_search.js +31 -0
- data/app/assets/stylesheets/jquery-ui.css +17 -17
- data/app/assets/stylesheets/sufia.css.scss +3 -2
- data/app/assets/stylesheets/sufia/_proxy-rights.scss +10 -0
- data/app/controllers/concerns/sufia/contact_form_controller_behavior.rb +22 -23
- data/app/controllers/concerns/sufia/depositors_controller_behavior.rb +41 -0
- data/app/controllers/concerns/sufia/files_controller_behavior.rb +1 -0
- data/app/controllers/concerns/sufia/transfers_controller_behavior.rb +76 -0
- data/app/controllers/concerns/sufia/users_controller_behavior.rb +9 -11
- data/app/controllers/depositors_controller.rb +3 -0
- data/app/controllers/transfers_controller.rb +3 -0
- data/app/helpers/sufia/dashboard_helper_behavior.rb +15 -0
- data/app/helpers/sufia/sufia_helper_behavior.rb +24 -2
- data/app/jobs/content_depositor_change_event_job.rb +50 -0
- data/app/views/dashboard/_index_partials/_contents.html.erb +18 -0
- data/app/views/dashboard/_index_partials/_proxy_rights.html.erb +23 -0
- data/app/views/dashboard/_index_partials/_transfers.html.erb +14 -0
- data/app/views/generic_files/proxy.html.erb +5 -0
- data/app/views/generic_files/upload/_form.html.erb +7 -2
- data/app/views/my/_action_menu.html.erb +3 -1
- data/app/views/records/edit_fields/_default.html.erb +1 -1
- data/app/views/transfers/_received.html.erb +58 -0
- data/app/views/transfers/_sent.html.erb +38 -0
- data/app/views/transfers/index.html.erb +7 -0
- data/app/views/transfers/new.html.erb +23 -0
- data/app/views/users/_proxies.html.erb +8 -0
- data/app/views/users/_user_util_links_extra.html.erb +1 -0
- data/app/views/users/edit.html.erb +6 -1
- data/config/locales/sufia.en.yml +9 -4
- data/config/routes.rb +14 -3
- data/lib/sufia.rb +7 -5
- data/lib/sufia/version.rb +1 -1
- data/spec/controllers/authorities_controller_spec.rb +6 -6
- data/spec/controllers/batch_controller_spec.rb +29 -29
- data/spec/controllers/batch_edits_controller_spec.rb +7 -7
- data/spec/controllers/catalog_controller_spec.rb +9 -9
- data/spec/controllers/collections_controller_spec.rb +28 -28
- data/spec/controllers/content_blocks_controller_spec.rb +3 -3
- data/spec/controllers/dashboard_controller_spec.rb +1 -1
- data/spec/controllers/depositors_controller_spec.rb +50 -0
- data/spec/controllers/downloads_controller_spec.rb +22 -22
- data/spec/controllers/featured_work_lists_controller_spec.rb +1 -1
- data/spec/controllers/featured_works_controller_spec.rb +1 -1
- data/spec/controllers/generic_files_controller_spec.rb +98 -90
- data/spec/controllers/homepage_controller_spec.rb +1 -1
- data/spec/controllers/mailbox_controller_spec.rb +10 -10
- data/spec/controllers/my/collections_controller_spec.rb +1 -1
- data/spec/controllers/my/files_controller_spec.rb +1 -1
- data/spec/controllers/my/highlights_controller_spec.rb +1 -1
- data/spec/controllers/my/shares_controller_spec.rb +1 -1
- data/spec/controllers/my_controller_spec.rb +1 -1
- data/spec/controllers/pages_controller_spec.rb +1 -1
- data/spec/controllers/single_use_links_controller_spec.rb +46 -50
- data/spec/controllers/single_use_links_viewer_controller_spec.rb +16 -16
- data/spec/controllers/static_controller_spec.rb +9 -9
- data/spec/controllers/tinymce_assets_controller_spec.rb +1 -1
- data/spec/controllers/transfers_controller_spec.rb +212 -0
- data/spec/controllers/users_controller_spec.rb +1 -1
- data/spec/factories/generic_files.rb +4 -4
- data/spec/factories/proxy_deposit_requests.rb +6 -0
- data/spec/features/browse_dashboard_files_spec.rb +25 -36
- data/spec/features/browse_files_spec.rb +18 -13
- data/spec/features/catalog_search_spec.rb +3 -6
- data/spec/features/cloud_upload_spec.rb +5 -7
- data/spec/features/collection_spec.rb +28 -35
- data/spec/features/contact_form_spec.rb +24 -24
- data/spec/features/display_dashboard_spec.rb +11 -11
- data/spec/features/ingest_upload_files_spec.rb +10 -10
- data/spec/features/notifications_spec.rb +11 -11
- data/spec/features/ownership_transfer_spec.rb +111 -0
- data/spec/features/proxy_spec.rb +52 -0
- data/spec/features/search_spec.rb +1 -1
- data/spec/features/single_use_links_spec.rb +28 -18
- data/spec/features/users_spec.rb +3 -3
- data/spec/helpers/batch_edits_helper_spec.rb +1 -1
- data/spec/helpers/content_block_helper_spec.rb +1 -1
- data/spec/helpers/dashboard_helper_spec.rb +1 -1
- data/spec/helpers/generic_file_helper_spec.rb +1 -1
- data/spec/helpers/records_helper_spec.rb +1 -1
- data/spec/helpers/sufia_helper_spec.rb +8 -8
- data/spec/helpers/trophy_helper_spec.rb +1 -1
- data/spec/jobs/audit_job_spec.rb +5 -5
- data/spec/jobs/batch_update_job_spec.rb +14 -14
- data/spec/jobs/content_depositor_change_event_job_spec.rb +22 -0
- data/spec/jobs/event_jobs_spec.rb +104 -104
- data/spec/jobs/import_url_job_spec.rb +2 -2
- data/spec/jobs/ingest_local_file_job_spec.rb +1 -1
- data/spec/lib/sufia/breadcrumbs_spec.rb +3 -3
- data/spec/lib/sufia/id_service_spec.rb +1 -1
- data/spec/lib/sufia/upload_complete_behavior_spec.rb +4 -4
- data/spec/models/ability_spec.rb +59 -15
- data/spec/models/batch_spec.rb +16 -16
- data/spec/models/characterization_spec.rb +1 -1
- data/spec/models/checksum_audit_log_spec.rb +34 -26
- data/spec/models/collection_spec.rb +1 -1
- data/spec/models/download_spec.rb +1 -1
- data/spec/models/featured_work_list_spec.rb +1 -1
- data/spec/models/featured_work_spec.rb +15 -4
- data/spec/models/file_content_datastream_spec.rb +14 -14
- data/spec/models/file_usage_spec.rb +1 -1
- data/spec/models/fits_datastream_spec.rb +1 -1
- data/spec/models/generic_file/reload_on_save_spec.rb +4 -4
- data/spec/models/generic_file/visibility_spec.rb +1 -1
- data/spec/models/generic_file/web_form_spec.rb +6 -5
- data/spec/models/generic_file_rdf_datastream_spec.rb +1 -1
- data/spec/models/generic_file_spec.rb +254 -220
- data/spec/models/geo_names_resource_spec.rb +2 -2
- data/spec/models/local_authority_spec.rb +60 -59
- data/spec/models/pageview_spec.rb +1 -1
- data/spec/models/properties_datastream_spec.rb +29 -10
- data/spec/models/proxy_deposit_request_spec.rb +107 -0
- data/spec/models/single_use_link_spec.rb +13 -13
- data/spec/models/solr_document_spec.rb +1 -1
- data/spec/models/trophy_spec.rb +6 -6
- data/spec/models/user_spec.rb +38 -22
- data/spec/routing/featured_works_route_spec.rb +1 -1
- data/spec/routing/ownership_transfers_route_spec.rb +45 -0
- data/spec/routing/route_spec.rb +42 -42
- data/spec/services/noid_spec.rb +2 -2
- data/spec/spec_helper.rb +10 -5
- data/spec/support/cleaner.rb +12 -0
- data/spec/support/features.rb +5 -0
- data/spec/support/features/session_helpers.rb +3 -17
- data/spec/support/locations.rb +36 -0
- data/spec/support/poltergeist.rb +11 -0
- data/spec/support/proxies.rb +14 -0
- data/spec/support/selectors.rb +122 -0
- data/spec/views/batch/edit.html.erb_spec.rb +1 -1
- data/spec/views/batch_edits/check_all_spec.rb +4 -4
- data/spec/views/catalog/index.html.erb_spec.rb +1 -1
- data/spec/views/catalog/sort_and_per_page.html.erb_spec.rb +1 -1
- data/spec/views/collections/_form.html.erb_spec.rb +3 -1
- data/spec/views/collections/_show_descriptions.html.erb_spec.rb +1 -1
- data/spec/views/dashboard/index_spec.rb +3 -6
- data/spec/views/generic_file/edit.html.erb_spec.rb +1 -1
- data/spec/views/generic_file/show.html.erb_spec.rb +1 -1
- data/spec/views/generic_file/stats.html.erb_spec.rb +1 -1
- data/spec/views/my/facet.html.erb_spec.rb +2 -2
- data/spec/views/users/_follower_modal.html.erb_spec.rb +1 -1
- data/spec/views/users/_following_modal.html.erb_spec.rb +1 -1
- data/spec/views/users/_notify_number.html.erb_spec.rb +1 -1
- data/spec/views/users/_user_util_links.html.erb_spec.rb +1 -1
- data/spec/views/users/index.html.erb_spec.rb +2 -2
- data/spec/views/users/show.html.erb_spec.rb +2 -2
- data/sufia-models/app/models/concerns/sufia/ability.rb +22 -0
- data/sufia-models/app/models/concerns/sufia/generic_file.rb +1 -0
- data/sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb +22 -0
- data/sufia-models/app/models/concerns/sufia/properties_datastream_behavior.rb +3 -0
- data/sufia-models/app/models/concerns/sufia/user.rb +9 -0
- data/sufia-models/app/models/proxy_deposit_request.rb +85 -0
- data/sufia-models/app/models/proxy_deposit_rights.rb +4 -0
- data/sufia-models/app/models/sufia/avatar_uploader.rb +2 -3
- data/sufia-models/lib/generators/sufia/models/install_generator.rb +9 -1
- data/sufia-models/lib/generators/sufia/models/proxies_generator.rb +53 -0
- data/sufia-models/lib/generators/sufia/models/templates/migrations/create_proxy_deposit_requests.rb +16 -0
- data/sufia-models/lib/generators/sufia/models/templates/migrations/create_proxy_deposit_rights.rb +11 -0
- data/sufia-models/lib/sufia/models/engine.rb +1 -1
- data/sufia-models/lib/sufia/models/version.rb +1 -1
- data/sufia.gemspec +2 -1
- data/tasks/sufia-dev.rake +5 -0
- metadata +82 -6
- data/tasks/sufia-db.rake +0 -21
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
|
-
describe 'users/show.html.erb' do
|
|
3
|
+
describe 'users/show.html.erb', :type => :view do
|
|
4
4
|
|
|
5
5
|
let(:join_date) { 5.days.ago }
|
|
6
6
|
before do
|
|
@@ -26,7 +26,7 @@ describe 'users/show.html.erb' do
|
|
|
26
26
|
|
|
27
27
|
it "should have the vitals" do
|
|
28
28
|
render
|
|
29
|
-
rendered.
|
|
29
|
+
expect(rendered).to match /Joined on #{join_date.strftime("%b %d, %Y")}/
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
context "with trophy" do
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
module Sufia
|
|
2
2
|
module Ability
|
|
3
3
|
extend ActiveSupport::Concern
|
|
4
|
+
|
|
4
5
|
included do
|
|
5
6
|
self.ability_logic += [:sufia_abilities]
|
|
6
7
|
end
|
|
@@ -10,6 +11,19 @@ module Sufia
|
|
|
10
11
|
featured_work_abilities
|
|
11
12
|
editor_abilities
|
|
12
13
|
stats_abilities
|
|
14
|
+
proxy_deposit_abilities
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def proxy_deposit_abilities
|
|
18
|
+
can :transfer, String do |pid|
|
|
19
|
+
get_depositor_from_pid(pid) == current_user.user_key
|
|
20
|
+
end
|
|
21
|
+
can :create, ProxyDepositRequest if user_groups.include? 'registered'
|
|
22
|
+
can :accept, ProxyDepositRequest, receiving_user_id: current_user.id, status: 'pending'
|
|
23
|
+
can :reject, ProxyDepositRequest, receiving_user_id: current_user.id, status: 'pending'
|
|
24
|
+
# a user who sent a proxy deposit request can cancel it if it's pending.
|
|
25
|
+
can :destroy, ProxyDepositRequest, sending_user_id: current_user.id, status: 'pending'
|
|
26
|
+
can :edit, ::User, id: current_user.id
|
|
13
27
|
end
|
|
14
28
|
|
|
15
29
|
def featured_work_abilities
|
|
@@ -30,5 +44,13 @@ module Sufia
|
|
|
30
44
|
def stats_abilities
|
|
31
45
|
alias_action :stats, to: :read
|
|
32
46
|
end
|
|
47
|
+
|
|
48
|
+
private
|
|
49
|
+
|
|
50
|
+
def get_depositor_from_pid(pid)
|
|
51
|
+
::GenericFile.load_instance_from_solr(pid).depositor
|
|
52
|
+
rescue
|
|
53
|
+
nil
|
|
54
|
+
end
|
|
33
55
|
end
|
|
34
56
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Sufia
|
|
2
|
+
module GenericFile
|
|
3
|
+
module ProxyDeposit
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
included do
|
|
7
|
+
has_attributes :proxy_depositor, :on_behalf_of, datastream: :properties, multiple: false
|
|
8
|
+
after_create :create_transfer_request
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def create_transfer_request
|
|
12
|
+
Sufia.queue.push(ContentDepositorChangeEventJob.new(pid, on_behalf_of)) if on_behalf_of.present?
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def request_transfer_to(target)
|
|
16
|
+
raise ArgumentError, "Must provide a target" unless target
|
|
17
|
+
deposit_user = ::User.find_by_user_key(depositor)
|
|
18
|
+
ProxyDepositRequest.create!(pid: pid, receiving_user: target, sending_user: deposit_user)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -10,6 +10,9 @@ module Sufia
|
|
|
10
10
|
# This is where we put the relative path of the file if submitted as a folder
|
|
11
11
|
t.relative_path
|
|
12
12
|
t.import_url path: 'importUrl', index_as: :symbol
|
|
13
|
+
t.proxy_depositor path: 'proxyDepositor', index_as: :symbol
|
|
14
|
+
# This value is set when a user indicates they are depositing this for someone else
|
|
15
|
+
t.on_behalf_of path: 'onBehalfOf', index_as: :symbol
|
|
13
16
|
end
|
|
14
17
|
end
|
|
15
18
|
|
|
@@ -18,6 +18,15 @@ module Sufia::User
|
|
|
18
18
|
# Users should be followable
|
|
19
19
|
acts_as_followable
|
|
20
20
|
|
|
21
|
+
# Setup accessible (or protected) attributes for your model
|
|
22
|
+
has_many :proxy_deposit_requests, foreign_key: 'receiving_user_id'
|
|
23
|
+
|
|
24
|
+
has_many :deposit_rights_given, foreign_key: 'grantor_id', class_name: 'ProxyDepositRights', dependent: :destroy
|
|
25
|
+
has_many :can_receive_deposits_from, through: :deposit_rights_given, source: :grantee
|
|
26
|
+
|
|
27
|
+
has_many :deposit_rights_received, foreign_key: 'grantee_id', class_name: 'ProxyDepositRights', dependent: :destroy
|
|
28
|
+
has_many :can_make_deposits_for, through: :deposit_rights_received, source: :grantor
|
|
29
|
+
|
|
21
30
|
mount_uploader :avatar, AvatarUploader, mount_on: :avatar_file_name
|
|
22
31
|
validates_with AvatarValidator
|
|
23
32
|
has_many :trophies
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
class ProxyDepositRequest < ActiveRecord::Base
|
|
2
|
+
include Blacklight::SolrHelper
|
|
3
|
+
include ActionView::Helpers::UrlHelper
|
|
4
|
+
|
|
5
|
+
belongs_to :receiving_user, class_name: 'User'
|
|
6
|
+
belongs_to :sending_user, class_name: 'User'
|
|
7
|
+
|
|
8
|
+
validates :sending_user, :pid, presence: true
|
|
9
|
+
validate :transfer_to_should_be_a_valid_username
|
|
10
|
+
validate :sending_user_should_not_be_receiving_user
|
|
11
|
+
validate :should_not_be_already_part_of_a_transfer
|
|
12
|
+
|
|
13
|
+
after_save :send_request_transfer_message
|
|
14
|
+
|
|
15
|
+
attr_reader :transfer_to
|
|
16
|
+
|
|
17
|
+
def transfer_to=(key)
|
|
18
|
+
@transfer_to = key
|
|
19
|
+
self.receiving_user = User.find_by_user_key(key)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def transfer_to_should_be_a_valid_username
|
|
23
|
+
errors.add(:transfer_to, "must be an existing user") unless receiving_user
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def sending_user_should_not_be_receiving_user
|
|
27
|
+
errors.add(:sending_user, 'must specify another user to receive the file') if receiving_user and receiving_user.user_key == sending_user.user_key
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def should_not_be_already_part_of_a_transfer
|
|
31
|
+
transfers = ProxyDepositRequest.where(pid: pid)
|
|
32
|
+
errors.add(:open_transfer, 'must close open transfer on the file before creating a new one') unless transfers.blank? || ( transfers.count == 1 && transfers[0].id == self.id)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def send_request_transfer_message
|
|
36
|
+
if self.updated_at == self.created_at
|
|
37
|
+
message = "#{link_to(sending_user.name, Sufia::Engine.routes.url_helpers.profile_path(sending_user.user_key))} wants to transfer a file to you. Review all <a href='#{Sufia::Engine.routes.url_helpers.transfers_path}'>transfer requests</a>"
|
|
38
|
+
User.batchuser.send_message(receiving_user, message, "Ownership Change Request")
|
|
39
|
+
else
|
|
40
|
+
message = "Your transfer request was #{status}."
|
|
41
|
+
message = message + " Comments: #{receiver_comment}" if !receiver_comment.blank?
|
|
42
|
+
User.batchuser.send_message(sending_user, message, "Ownership Change #{status}")
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def pending?
|
|
47
|
+
self.status == 'pending'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def accepted?
|
|
51
|
+
self.status == 'accepted'
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# @param [Boolean] reset (false) should the access controls be reset. This means revoking edit access from the depositor
|
|
55
|
+
def transfer!(reset = false)
|
|
56
|
+
Sufia.queue.push(ContentDepositorChangeEventJob.new(pid, receiving_user.user_key, reset))
|
|
57
|
+
self.status = 'accepted'
|
|
58
|
+
self.fulfillment_date = Time.now
|
|
59
|
+
save!
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def reject!(comment = nil)
|
|
63
|
+
self.receiver_comment = comment if comment
|
|
64
|
+
self.status = 'rejected'
|
|
65
|
+
self.fulfillment_date = Time.now
|
|
66
|
+
save!
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def cancel!
|
|
70
|
+
self.status = 'canceled'
|
|
71
|
+
self.fulfillment_date = Time.now
|
|
72
|
+
save!
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def deleted_file?
|
|
76
|
+
!GenericFile.exists?(pid)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def title
|
|
80
|
+
return 'file not found' if deleted_file?
|
|
81
|
+
query = ActiveFedora::SolrService.construct_query_for_pids([pid])
|
|
82
|
+
solr_response = ActiveFedora::SolrService.query(query, raw: true)
|
|
83
|
+
SolrDocument.new(solr_response['response']['docs'].first, solr_response).title
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
class Sufia::AvatarUploader < CarrierWave::Uploader::Base
|
|
2
2
|
include CarrierWave::MiniMagick
|
|
3
3
|
include CarrierWave::Compatibility::Paperclip
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
version :medium do
|
|
6
6
|
process resize_to_limit: [300, 300]
|
|
7
7
|
end
|
|
@@ -11,11 +11,10 @@ class Sufia::AvatarUploader < CarrierWave::Uploader::Base
|
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def default_url
|
|
14
|
-
"
|
|
14
|
+
"missing_#{version_name}.png"
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def extension_white_list
|
|
18
18
|
%w(jpg jpeg png gif bmp tif tiff)
|
|
19
19
|
end
|
|
20
|
-
|
|
21
20
|
end
|
|
@@ -17,6 +17,7 @@ This generator makes the following changes to your application:
|
|
|
17
17
|
5. Generates usage stats config
|
|
18
18
|
6. Installs Blacklight gallery
|
|
19
19
|
7. Runs full-text generator
|
|
20
|
+
8. Runs proxies generator
|
|
20
21
|
"""
|
|
21
22
|
|
|
22
23
|
# Implement the required interface for Rails::Generators::Migration.
|
|
@@ -55,7 +56,9 @@ This generator makes the following changes to your application:
|
|
|
55
56
|
'add_linkedin_to_users.rb',
|
|
56
57
|
'create_tinymce_assets.rb',
|
|
57
58
|
'create_content_blocks.rb',
|
|
58
|
-
'create_featured_works.rb'
|
|
59
|
+
'create_featured_works.rb',
|
|
60
|
+
'create_proxy_deposit_requests.rb',
|
|
61
|
+
'create_proxy_deposit_rights.rb'
|
|
59
62
|
].each do |file|
|
|
60
63
|
better_migration_template file
|
|
61
64
|
end
|
|
@@ -102,6 +105,11 @@ This generator makes the following changes to your application:
|
|
|
102
105
|
generate "sufia:models:fulltext"
|
|
103
106
|
end
|
|
104
107
|
|
|
108
|
+
# Sets up proxies and transfers
|
|
109
|
+
def full_text_indexing
|
|
110
|
+
generate "sufia:models:proxies"
|
|
111
|
+
end
|
|
112
|
+
|
|
105
113
|
private
|
|
106
114
|
|
|
107
115
|
def better_migration_template(file)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
|
2
|
+
require 'rails/generators'
|
|
3
|
+
require 'rails/generators/migration'
|
|
4
|
+
|
|
5
|
+
class Sufia::Models::ProxiesGenerator < Rails::Generators::Base
|
|
6
|
+
include Rails::Generators::Migration
|
|
7
|
+
|
|
8
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
9
|
+
|
|
10
|
+
desc """
|
|
11
|
+
This generator adds proxies and transfers to your application:
|
|
12
|
+
1. Creates several database migrations if they do not exist in /db/migrate
|
|
13
|
+
"""
|
|
14
|
+
# Implement the required interface for Rails::Generators::Migration.
|
|
15
|
+
# taken from http://github.com/rails/rails/blob/master/activerecord/lib/generators/active_record.rb
|
|
16
|
+
def self.next_migration_number(path)
|
|
17
|
+
if @prev_migration_nr
|
|
18
|
+
@prev_migration_nr += 1
|
|
19
|
+
else
|
|
20
|
+
if last_migration = Dir[File.join(path, '*.rb')].sort.last
|
|
21
|
+
@prev_migration_nr = last_migration.sub(File.join(path, '/'), '').to_i + 1
|
|
22
|
+
else
|
|
23
|
+
@prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
@prev_migration_nr.to_s
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def banner
|
|
30
|
+
say_status("warning", "ADDING PROXY/TRANSFER-RELATED SUFIA MODELS", :yellow)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Setup the database migrations
|
|
34
|
+
def copy_migrations
|
|
35
|
+
# Can't get this any more DRY, because we need this order.
|
|
36
|
+
[
|
|
37
|
+
'create_proxy_deposit_rights.rb',
|
|
38
|
+
'create_proxy_deposit_requests.rb'
|
|
39
|
+
].each do |file|
|
|
40
|
+
better_migration_template file
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
private
|
|
45
|
+
|
|
46
|
+
def better_migration_template(file)
|
|
47
|
+
begin
|
|
48
|
+
migration_template "migrations/#{file}", "db/migrate/#{file}"
|
|
49
|
+
rescue Rails::Generators::Error => e
|
|
50
|
+
say_status("warning", e.message, :yellow)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
data/sufia-models/lib/generators/sufia/models/templates/migrations/create_proxy_deposit_requests.rb
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class CreateProxyDepositRequests < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
create_table :proxy_deposit_requests do |t|
|
|
4
|
+
t.string :pid, null: false
|
|
5
|
+
t.references :sending_user, null: false
|
|
6
|
+
t.references :receiving_user, null: false
|
|
7
|
+
t.datetime :fulfillment_date
|
|
8
|
+
t.string :status, null: false, default: 'pending'
|
|
9
|
+
t.text :sender_comment
|
|
10
|
+
t.text :receiver_comment
|
|
11
|
+
t.timestamps
|
|
12
|
+
end
|
|
13
|
+
add_index :proxy_deposit_requests, :receiving_user_id
|
|
14
|
+
add_index :proxy_deposit_requests, :sending_user_id
|
|
15
|
+
end
|
|
16
|
+
end
|
data/sufia-models/lib/generators/sufia/models/templates/migrations/create_proxy_deposit_rights.rb
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
class CreateProxyDepositRights < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
create_table :proxy_deposit_rights do |t|
|
|
4
|
+
t.references :grantor
|
|
5
|
+
t.references :grantee
|
|
6
|
+
t.timestamps
|
|
7
|
+
end
|
|
8
|
+
add_index :proxy_deposit_rights, :grantor_id
|
|
9
|
+
add_index :proxy_deposit_rights, :grantee_id
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require 'sufia/models/resque'
|
|
2
1
|
module Sufia
|
|
3
2
|
module Models
|
|
4
3
|
def self.config(&block)
|
|
@@ -10,6 +9,7 @@ module Sufia
|
|
|
10
9
|
end
|
|
11
10
|
|
|
12
11
|
class Engine < ::Rails::Engine
|
|
12
|
+
require 'sufia/models/resque'
|
|
13
13
|
|
|
14
14
|
# Set some configuration defaults
|
|
15
15
|
config.enable_ffmpeg = false
|
data/sufia.gemspec
CHANGED
|
@@ -42,6 +42,7 @@ Gem::Specification.new do |gem|
|
|
|
42
42
|
gem.add_dependency 'bootstrap-sass', '< 3.2'
|
|
43
43
|
gem.add_dependency 'blacklight-gallery'
|
|
44
44
|
gem.add_dependency 'breadcrumbs_on_rails', '~>2.3.0'
|
|
45
|
+
gem.add_dependency 'select2-rails'
|
|
45
46
|
|
|
46
47
|
gem.add_development_dependency 'engine_cart'
|
|
47
48
|
gem.add_development_dependency 'mida'
|
|
@@ -51,5 +52,5 @@ Gem::Specification.new do |gem|
|
|
|
51
52
|
gem.add_development_dependency "capybara"
|
|
52
53
|
gem.add_development_dependency "poltergeist", "~> 1.5"
|
|
53
54
|
gem.add_development_dependency "factory_girl_rails"
|
|
54
|
-
|
|
55
|
+
gem.add_development_dependency "equivalent-xml"
|
|
55
56
|
end
|
data/tasks/sufia-dev.rake
CHANGED
|
@@ -15,3 +15,8 @@ task ci: ['engine_cart:generate', 'jetty:clean', 'sufia:jetty:config'] do
|
|
|
15
15
|
end
|
|
16
16
|
raise "test failures: #{error}" if error
|
|
17
17
|
end
|
|
18
|
+
|
|
19
|
+
namespace 'engine_cart' do
|
|
20
|
+
desc 'Regenerate embedded app for testing'
|
|
21
|
+
task regenerate: ['engine_cart:clean', 'engine_cart:generate']
|
|
22
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sufia
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.0
|
|
4
|
+
version: 4.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Coyne
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-10-
|
|
12
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: sufia-models
|
|
@@ -17,14 +17,14 @@ dependencies:
|
|
|
17
17
|
requirements:
|
|
18
18
|
- - '='
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: 4.0
|
|
20
|
+
version: 4.1.0
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
25
|
- - '='
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
|
-
version: 4.0
|
|
27
|
+
version: 4.1.0
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: blacklight_advanced_search
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -283,6 +283,20 @@ dependencies:
|
|
|
283
283
|
- - "~>"
|
|
284
284
|
- !ruby/object:Gem::Version
|
|
285
285
|
version: 2.3.0
|
|
286
|
+
- !ruby/object:Gem::Dependency
|
|
287
|
+
name: select2-rails
|
|
288
|
+
requirement: !ruby/object:Gem::Requirement
|
|
289
|
+
requirements:
|
|
290
|
+
- - ">="
|
|
291
|
+
- !ruby/object:Gem::Version
|
|
292
|
+
version: '0'
|
|
293
|
+
type: :runtime
|
|
294
|
+
prerelease: false
|
|
295
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
296
|
+
requirements:
|
|
297
|
+
- - ">="
|
|
298
|
+
- !ruby/object:Gem::Version
|
|
299
|
+
version: '0'
|
|
286
300
|
- !ruby/object:Gem::Dependency
|
|
287
301
|
name: engine_cart
|
|
288
302
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -395,6 +409,20 @@ dependencies:
|
|
|
395
409
|
- - ">="
|
|
396
410
|
- !ruby/object:Gem::Version
|
|
397
411
|
version: '0'
|
|
412
|
+
- !ruby/object:Gem::Dependency
|
|
413
|
+
name: equivalent-xml
|
|
414
|
+
requirement: !ruby/object:Gem::Requirement
|
|
415
|
+
requirements:
|
|
416
|
+
- - ">="
|
|
417
|
+
- !ruby/object:Gem::Version
|
|
418
|
+
version: '0'
|
|
419
|
+
type: :development
|
|
420
|
+
prerelease: false
|
|
421
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
422
|
+
requirements:
|
|
423
|
+
- - ">="
|
|
424
|
+
- !ruby/object:Gem::Version
|
|
425
|
+
version: '0'
|
|
398
426
|
description: Sufia is a Rails engine for creating a self-deposit institutional repository
|
|
399
427
|
email:
|
|
400
428
|
- justin@curationexperts.com
|
|
@@ -489,12 +517,15 @@ files:
|
|
|
489
517
|
- app/assets/javascripts/sufia/ga_events.js
|
|
490
518
|
- app/assets/javascripts/sufia/multiForm.js
|
|
491
519
|
- app/assets/javascripts/sufia/permissions.js
|
|
520
|
+
- app/assets/javascripts/sufia/proxy_rights.js
|
|
492
521
|
- app/assets/javascripts/sufia/search.js
|
|
493
522
|
- app/assets/javascripts/sufia/single_use_link.js.erb
|
|
494
523
|
- app/assets/javascripts/sufia/tabs.js
|
|
495
524
|
- app/assets/javascripts/sufia/tagcloud.js
|
|
525
|
+
- app/assets/javascripts/sufia/transfers.js
|
|
496
526
|
- app/assets/javascripts/sufia/trophy.js
|
|
497
527
|
- app/assets/javascripts/sufia/uploader.js
|
|
528
|
+
- app/assets/javascripts/sufia/user_search.js
|
|
498
529
|
- app/assets/javascripts/terms_of_service.js
|
|
499
530
|
- app/assets/stylesheets/fileupload/application.css
|
|
500
531
|
- app/assets/stylesheets/fileupload/jquery.fileupload-ui.css.erb
|
|
@@ -515,6 +546,7 @@ files:
|
|
|
515
546
|
- app/assets/stylesheets/sufia/_file-listing.scss
|
|
516
547
|
- app/assets/stylesheets/sufia/_header.scss
|
|
517
548
|
- app/assets/stylesheets/sufia/_home-page.scss
|
|
549
|
+
- app/assets/stylesheets/sufia/_proxy-rights.scss
|
|
518
550
|
- app/assets/stylesheets/sufia/_settings.scss
|
|
519
551
|
- app/assets/stylesheets/sufia/_styles.scss
|
|
520
552
|
- app/assets/stylesheets/sufia/_tagcloud.scss
|
|
@@ -530,6 +562,7 @@ files:
|
|
|
530
562
|
- app/controllers/concerns/sufia/contact_form_controller_behavior.rb
|
|
531
563
|
- app/controllers/concerns/sufia/controller.rb
|
|
532
564
|
- app/controllers/concerns/sufia/dashboard_controller_behavior.rb
|
|
565
|
+
- app/controllers/concerns/sufia/depositors_controller_behavior.rb
|
|
533
566
|
- app/controllers/concerns/sufia/downloads_controller_behavior.rb
|
|
534
567
|
- app/controllers/concerns/sufia/files_controller/browse_everything.rb
|
|
535
568
|
- app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb
|
|
@@ -537,10 +570,12 @@ files:
|
|
|
537
570
|
- app/controllers/concerns/sufia/files_controller_behavior.rb
|
|
538
571
|
- app/controllers/concerns/sufia/homepage_controller.rb
|
|
539
572
|
- app/controllers/concerns/sufia/my_controller_behavior.rb
|
|
573
|
+
- app/controllers/concerns/sufia/transfers_controller_behavior.rb
|
|
540
574
|
- app/controllers/concerns/sufia/users_controller_behavior.rb
|
|
541
575
|
- app/controllers/contact_form_controller.rb
|
|
542
576
|
- app/controllers/content_blocks_controller.rb
|
|
543
577
|
- app/controllers/dashboard_controller.rb
|
|
578
|
+
- app/controllers/depositors_controller.rb
|
|
544
579
|
- app/controllers/directory_controller.rb
|
|
545
580
|
- app/controllers/downloads_controller.rb
|
|
546
581
|
- app/controllers/errors_controller.rb
|
|
@@ -559,6 +594,7 @@ files:
|
|
|
559
594
|
- app/controllers/single_use_links_viewer_controller.rb
|
|
560
595
|
- app/controllers/static_controller.rb
|
|
561
596
|
- app/controllers/tinymce_assets_controller.rb
|
|
597
|
+
- app/controllers/transfers_controller.rb
|
|
562
598
|
- app/controllers/users_controller.rb
|
|
563
599
|
- app/helpers/batch_edits_helper.rb
|
|
564
600
|
- app/helpers/contact_form_helper.rb
|
|
@@ -573,6 +609,7 @@ files:
|
|
|
573
609
|
- app/helpers/trophy_helper.rb
|
|
574
610
|
- app/jobs/content_delete_event_job.rb
|
|
575
611
|
- app/jobs/content_deposit_event_job.rb
|
|
612
|
+
- app/jobs/content_depositor_change_event_job.rb
|
|
576
613
|
- app/jobs/content_new_version_event_job.rb
|
|
577
614
|
- app/jobs/content_restored_version_event_job.rb
|
|
578
615
|
- app/jobs/content_update_event_job.rb
|
|
@@ -651,7 +688,9 @@ files:
|
|
|
651
688
|
- app/views/dashboard/_index_partials/_contents.html.erb
|
|
652
689
|
- app/views/dashboard/_index_partials/_heading_actions.html.erb
|
|
653
690
|
- app/views/dashboard/_index_partials/_heading_greetings.html.erb
|
|
691
|
+
- app/views/dashboard/_index_partials/_proxy_rights.html.erb
|
|
654
692
|
- app/views/dashboard/_index_partials/_stats.html.erb
|
|
693
|
+
- app/views/dashboard/_index_partials/_transfers.html.erb
|
|
655
694
|
- app/views/dashboard/_index_partials/_user_info.html.erb
|
|
656
695
|
- app/views/dashboard/index.html.erb
|
|
657
696
|
- app/views/error/401.html.erb
|
|
@@ -686,6 +725,7 @@ files:
|
|
|
686
725
|
- app/views/generic_files/citation.html.erb
|
|
687
726
|
- app/views/generic_files/edit.html.erb
|
|
688
727
|
- app/views/generic_files/new.html.erb
|
|
728
|
+
- app/views/generic_files/proxy.html.erb
|
|
689
729
|
- app/views/generic_files/show.html.erb
|
|
690
730
|
- app/views/generic_files/stats.html.erb
|
|
691
731
|
- app/views/generic_files/upload/_agreement.html.erb
|
|
@@ -777,6 +817,10 @@ files:
|
|
|
777
817
|
- app/views/static/subject_libraries.html.erb
|
|
778
818
|
- app/views/static/terms.html.erb
|
|
779
819
|
- app/views/static/zotero.html.erb
|
|
820
|
+
- app/views/transfers/_received.html.erb
|
|
821
|
+
- app/views/transfers/_sent.html.erb
|
|
822
|
+
- app/views/transfers/index.html.erb
|
|
823
|
+
- app/views/transfers/new.html.erb
|
|
780
824
|
- app/views/users/_activity.html.erb
|
|
781
825
|
- app/views/users/_activity_log.html.erb
|
|
782
826
|
- app/views/users/_contributions.html.erb
|
|
@@ -788,6 +832,7 @@ files:
|
|
|
788
832
|
- app/views/users/_profile.html.erb
|
|
789
833
|
- app/views/users/_profile_actions.html.erb
|
|
790
834
|
- app/views/users/_profile_tabs.html.erb
|
|
835
|
+
- app/views/users/_proxies.html.erb
|
|
791
836
|
- app/views/users/_search_form.html.erb
|
|
792
837
|
- app/views/users/_social_media_info.html.erb
|
|
793
838
|
- app/views/users/_trophy_edit.html.erb
|
|
@@ -831,6 +876,7 @@ files:
|
|
|
831
876
|
- spec/controllers/collections_controller_spec.rb
|
|
832
877
|
- spec/controllers/content_blocks_controller_spec.rb
|
|
833
878
|
- spec/controllers/dashboard_controller_spec.rb
|
|
879
|
+
- spec/controllers/depositors_controller_spec.rb
|
|
834
880
|
- spec/controllers/downloads_controller_spec.rb
|
|
835
881
|
- spec/controllers/featured_work_lists_controller_spec.rb
|
|
836
882
|
- spec/controllers/featured_works_controller_spec.rb
|
|
@@ -847,11 +893,13 @@ files:
|
|
|
847
893
|
- spec/controllers/single_use_links_viewer_controller_spec.rb
|
|
848
894
|
- spec/controllers/static_controller_spec.rb
|
|
849
895
|
- spec/controllers/tinymce_assets_controller_spec.rb
|
|
896
|
+
- spec/controllers/transfers_controller_spec.rb
|
|
850
897
|
- spec/controllers/users_controller_spec.rb
|
|
851
898
|
- spec/factories/checksum_audit_logs.rb
|
|
852
899
|
- spec/factories/content_blocks.rb
|
|
853
900
|
- spec/factories/featured_works.rb
|
|
854
901
|
- spec/factories/generic_files.rb
|
|
902
|
+
- spec/factories/proxy_deposit_requests.rb
|
|
855
903
|
- spec/factories/single_use_links.rb
|
|
856
904
|
- spec/factories/users.rb
|
|
857
905
|
- spec/features/browse_dashboard_files_spec.rb
|
|
@@ -863,6 +911,8 @@ files:
|
|
|
863
911
|
- spec/features/display_dashboard_spec.rb
|
|
864
912
|
- spec/features/ingest_upload_files_spec.rb
|
|
865
913
|
- spec/features/notifications_spec.rb
|
|
914
|
+
- spec/features/ownership_transfer_spec.rb
|
|
915
|
+
- spec/features/proxy_spec.rb
|
|
866
916
|
- spec/features/search_spec.rb
|
|
867
917
|
- spec/features/single_use_links_spec.rb
|
|
868
918
|
- spec/features/users_spec.rb
|
|
@@ -906,6 +956,7 @@ files:
|
|
|
906
956
|
- spec/jobs/audit_job_spec.rb
|
|
907
957
|
- spec/jobs/batch_update_job_spec.rb
|
|
908
958
|
- spec/jobs/characterize_job_spec.rb
|
|
959
|
+
- spec/jobs/content_depositor_change_event_job_spec.rb
|
|
909
960
|
- spec/jobs/create_derivatives_job_spec.rb
|
|
910
961
|
- spec/jobs/event_jobs_spec.rb
|
|
911
962
|
- spec/jobs/import_url_job_spec.rb
|
|
@@ -937,18 +988,25 @@ files:
|
|
|
937
988
|
- spec/models/local_authority_spec.rb
|
|
938
989
|
- spec/models/pageview_spec.rb
|
|
939
990
|
- spec/models/properties_datastream_spec.rb
|
|
991
|
+
- spec/models/proxy_deposit_request_spec.rb
|
|
940
992
|
- spec/models/single_use_link_spec.rb
|
|
941
993
|
- spec/models/solr_document_spec.rb
|
|
942
994
|
- spec/models/trophy_spec.rb
|
|
943
995
|
- spec/models/user_spec.rb
|
|
944
996
|
- spec/routing/featured_works_route_spec.rb
|
|
997
|
+
- spec/routing/ownership_transfers_route_spec.rb
|
|
945
998
|
- spec/routing/route_spec.rb
|
|
946
999
|
- spec/services/noid_spec.rb
|
|
947
1000
|
- spec/spec_helper.rb
|
|
1001
|
+
- spec/support/cleaner.rb
|
|
948
1002
|
- spec/support/features.rb
|
|
949
1003
|
- spec/support/features/session_helpers.rb
|
|
950
1004
|
- spec/support/fedora_conf/fedora.fcfg
|
|
951
1005
|
- spec/support/fixture_helpers.rb
|
|
1006
|
+
- spec/support/locations.rb
|
|
1007
|
+
- spec/support/poltergeist.rb
|
|
1008
|
+
- spec/support/proxies.rb
|
|
1009
|
+
- spec/support/selectors.rb
|
|
952
1010
|
- spec/support/uploaded_file_monkeypatch.rb
|
|
953
1011
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
|
954
1012
|
- spec/views/batch/edit.html.erb_spec.rb
|
|
@@ -997,6 +1055,7 @@ files:
|
|
|
997
1055
|
- sufia-models/app/models/concerns/sufia/generic_file/metadata.rb
|
|
998
1056
|
- sufia-models/app/models/concerns/sufia/generic_file/mime_types.rb
|
|
999
1057
|
- sufia-models/app/models/concerns/sufia/generic_file/permissions.rb
|
|
1058
|
+
- sufia-models/app/models/concerns/sufia/generic_file/proxy_deposit.rb
|
|
1000
1059
|
- sufia-models/app/models/concerns/sufia/generic_file/reload_on_save.rb
|
|
1001
1060
|
- sufia-models/app/models/concerns/sufia/generic_file/trophies.rb
|
|
1002
1061
|
- sufia-models/app/models/concerns/sufia/generic_file/versions.rb
|
|
@@ -1020,6 +1079,8 @@ files:
|
|
|
1020
1079
|
- sufia-models/app/models/group.rb
|
|
1021
1080
|
- sufia-models/app/models/local_authority.rb
|
|
1022
1081
|
- sufia-models/app/models/local_authority_entry.rb
|
|
1082
|
+
- sufia-models/app/models/proxy_deposit_request.rb
|
|
1083
|
+
- sufia-models/app/models/proxy_deposit_rights.rb
|
|
1023
1084
|
- sufia-models/app/models/single_use_link.rb
|
|
1024
1085
|
- sufia-models/app/models/subject_local_authority_entry.rb
|
|
1025
1086
|
- sufia-models/app/models/sufia/avatar_uploader.rb
|
|
@@ -1034,6 +1095,7 @@ files:
|
|
|
1034
1095
|
- sufia-models/config/locales/sufia.en.yml
|
|
1035
1096
|
- sufia-models/lib/generators/sufia/models/fulltext_generator.rb
|
|
1036
1097
|
- sufia-models/lib/generators/sufia/models/install_generator.rb
|
|
1098
|
+
- sufia-models/lib/generators/sufia/models/proxies_generator.rb
|
|
1037
1099
|
- sufia-models/lib/generators/sufia/models/templates/config/analytics.yml
|
|
1038
1100
|
- sufia-models/lib/generators/sufia/models/templates/config/clamav.rb
|
|
1039
1101
|
- sufia-models/lib/generators/sufia/models/templates/config/mailboxer.rb
|
|
@@ -1056,6 +1118,8 @@ files:
|
|
|
1056
1118
|
- sufia-models/lib/generators/sufia/models/templates/migrations/create_content_blocks.rb
|
|
1057
1119
|
- sufia-models/lib/generators/sufia/models/templates/migrations/create_featured_works.rb
|
|
1058
1120
|
- sufia-models/lib/generators/sufia/models/templates/migrations/create_local_authorities.rb
|
|
1121
|
+
- sufia-models/lib/generators/sufia/models/templates/migrations/create_proxy_deposit_requests.rb
|
|
1122
|
+
- sufia-models/lib/generators/sufia/models/templates/migrations/create_proxy_deposit_rights.rb
|
|
1059
1123
|
- sufia-models/lib/generators/sufia/models/templates/migrations/create_single_use_links.rb
|
|
1060
1124
|
- sufia-models/lib/generators/sufia/models/templates/migrations/create_tinymce_assets.rb
|
|
1061
1125
|
- sufia-models/lib/generators/sufia/models/templates/migrations/create_trophies.rb
|
|
@@ -1083,7 +1147,6 @@ files:
|
|
|
1083
1147
|
- sufia.gemspec
|
|
1084
1148
|
- tasks/jetty.rake
|
|
1085
1149
|
- tasks/release.rake
|
|
1086
|
-
- tasks/sufia-db.rake
|
|
1087
1150
|
- tasks/sufia-dev.rake
|
|
1088
1151
|
- vendor/assets/fonts/Lato-Light.eot
|
|
1089
1152
|
- vendor/assets/fonts/Lato-Light.ttf
|
|
@@ -1143,7 +1206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1143
1206
|
version: '0'
|
|
1144
1207
|
requirements: []
|
|
1145
1208
|
rubyforge_project:
|
|
1146
|
-
rubygems_version: 2.
|
|
1209
|
+
rubygems_version: 2.4.2
|
|
1147
1210
|
signing_key:
|
|
1148
1211
|
specification_version: 4
|
|
1149
1212
|
summary: Sufia was extracted from ScholarSphere developed by Penn State University
|
|
@@ -1157,6 +1220,7 @@ test_files:
|
|
|
1157
1220
|
- spec/controllers/collections_controller_spec.rb
|
|
1158
1221
|
- spec/controllers/content_blocks_controller_spec.rb
|
|
1159
1222
|
- spec/controllers/dashboard_controller_spec.rb
|
|
1223
|
+
- spec/controllers/depositors_controller_spec.rb
|
|
1160
1224
|
- spec/controllers/downloads_controller_spec.rb
|
|
1161
1225
|
- spec/controllers/featured_work_lists_controller_spec.rb
|
|
1162
1226
|
- spec/controllers/featured_works_controller_spec.rb
|
|
@@ -1173,11 +1237,13 @@ test_files:
|
|
|
1173
1237
|
- spec/controllers/single_use_links_viewer_controller_spec.rb
|
|
1174
1238
|
- spec/controllers/static_controller_spec.rb
|
|
1175
1239
|
- spec/controllers/tinymce_assets_controller_spec.rb
|
|
1240
|
+
- spec/controllers/transfers_controller_spec.rb
|
|
1176
1241
|
- spec/controllers/users_controller_spec.rb
|
|
1177
1242
|
- spec/factories/checksum_audit_logs.rb
|
|
1178
1243
|
- spec/factories/content_blocks.rb
|
|
1179
1244
|
- spec/factories/featured_works.rb
|
|
1180
1245
|
- spec/factories/generic_files.rb
|
|
1246
|
+
- spec/factories/proxy_deposit_requests.rb
|
|
1181
1247
|
- spec/factories/single_use_links.rb
|
|
1182
1248
|
- spec/factories/users.rb
|
|
1183
1249
|
- spec/features/browse_dashboard_files_spec.rb
|
|
@@ -1189,6 +1255,8 @@ test_files:
|
|
|
1189
1255
|
- spec/features/display_dashboard_spec.rb
|
|
1190
1256
|
- spec/features/ingest_upload_files_spec.rb
|
|
1191
1257
|
- spec/features/notifications_spec.rb
|
|
1258
|
+
- spec/features/ownership_transfer_spec.rb
|
|
1259
|
+
- spec/features/proxy_spec.rb
|
|
1192
1260
|
- spec/features/search_spec.rb
|
|
1193
1261
|
- spec/features/single_use_links_spec.rb
|
|
1194
1262
|
- spec/features/users_spec.rb
|
|
@@ -1232,6 +1300,7 @@ test_files:
|
|
|
1232
1300
|
- spec/jobs/audit_job_spec.rb
|
|
1233
1301
|
- spec/jobs/batch_update_job_spec.rb
|
|
1234
1302
|
- spec/jobs/characterize_job_spec.rb
|
|
1303
|
+
- spec/jobs/content_depositor_change_event_job_spec.rb
|
|
1235
1304
|
- spec/jobs/create_derivatives_job_spec.rb
|
|
1236
1305
|
- spec/jobs/event_jobs_spec.rb
|
|
1237
1306
|
- spec/jobs/import_url_job_spec.rb
|
|
@@ -1263,18 +1332,25 @@ test_files:
|
|
|
1263
1332
|
- spec/models/local_authority_spec.rb
|
|
1264
1333
|
- spec/models/pageview_spec.rb
|
|
1265
1334
|
- spec/models/properties_datastream_spec.rb
|
|
1335
|
+
- spec/models/proxy_deposit_request_spec.rb
|
|
1266
1336
|
- spec/models/single_use_link_spec.rb
|
|
1267
1337
|
- spec/models/solr_document_spec.rb
|
|
1268
1338
|
- spec/models/trophy_spec.rb
|
|
1269
1339
|
- spec/models/user_spec.rb
|
|
1270
1340
|
- spec/routing/featured_works_route_spec.rb
|
|
1341
|
+
- spec/routing/ownership_transfers_route_spec.rb
|
|
1271
1342
|
- spec/routing/route_spec.rb
|
|
1272
1343
|
- spec/services/noid_spec.rb
|
|
1273
1344
|
- spec/spec_helper.rb
|
|
1345
|
+
- spec/support/cleaner.rb
|
|
1274
1346
|
- spec/support/features.rb
|
|
1275
1347
|
- spec/support/features/session_helpers.rb
|
|
1276
1348
|
- spec/support/fedora_conf/fedora.fcfg
|
|
1277
1349
|
- spec/support/fixture_helpers.rb
|
|
1350
|
+
- spec/support/locations.rb
|
|
1351
|
+
- spec/support/poltergeist.rb
|
|
1352
|
+
- spec/support/proxies.rb
|
|
1353
|
+
- spec/support/selectors.rb
|
|
1278
1354
|
- spec/support/uploaded_file_monkeypatch.rb
|
|
1279
1355
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
|
1280
1356
|
- spec/views/batch/edit.html.erb_spec.rb
|