dor-services 9.1.0 → 9.2.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8ac9ba1a6c0a0bd8643b8048d2fa51dbacb9a03265490a5f020c3e5cbe782c9
|
4
|
+
data.tar.gz: e76c0f0db482f2c20c328fa2a26fb3e82fc6cf3c8c818a5befb49476c0a95f41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 935e1f5108c992353d5118b3bde34e3099ae06ae7b767fd003c1f0b5c5696ae094cd76938f104233727bc1cdba21da94b56f98dfd74759f8f8272196fff0f5a8
|
7
|
+
data.tar.gz: a3a5f0308257604db0bd68ae76a13f4e1b7c982682e862e9a5406ceb961ad8026f4a6bcfcaa2b61afd4a5e262d860334acc54ab7f15d707c86bb4780e1888832
|
@@ -8,7 +8,7 @@ module Dor
|
|
8
8
|
t.root(path: 'embargoMetadata')
|
9
9
|
t.status
|
10
10
|
t.embargo_status(path: 'status', index_as: [:symbol])
|
11
|
-
t.release_date(path: 'releaseDate',
|
11
|
+
t.release_date(path: 'releaseDate', type: :time)
|
12
12
|
t.release_access(path: 'releaseAccess') do
|
13
13
|
t.use do
|
14
14
|
t.human(attributes: { type: 'useAndReproduction' })
|
@@ -35,10 +35,8 @@ module Dor
|
|
35
35
|
|
36
36
|
def to_solr(solr_doc = {}, *args)
|
37
37
|
solr_doc = super
|
38
|
-
#::Solrizer.insert_field(solr_doc, field_name, value, *index_types)
|
39
|
-
rd1 = release_date
|
40
38
|
rd20 = twenty_pct_release_date
|
41
|
-
::Solrizer.insert_field(solr_doc, 'embargo_release',
|
39
|
+
::Solrizer.insert_field(solr_doc, 'embargo_release', release_date.first.utc.strftime('%FT%TZ'), :dateable) unless release_date.blank?
|
42
40
|
::Solrizer.insert_field(solr_doc, 'twenty_pct_visibility_release', rd20.utc.strftime('%FT%TZ'), :dateable) unless rd20.blank?
|
43
41
|
solr_doc
|
44
42
|
end
|
@@ -60,19 +58,6 @@ module Dor
|
|
60
58
|
term_values(:status).first
|
61
59
|
end
|
62
60
|
|
63
|
-
# Sets the release date. Does NOT convert to beginning-of-day.
|
64
|
-
# @param [Time] rd the release date object
|
65
|
-
def release_date=(rd = Time.now.utc)
|
66
|
-
update_values([:release_date] => rd.utc.xmlschema)
|
67
|
-
end
|
68
|
-
|
69
|
-
# Current releaseDate value
|
70
|
-
# @return [Time]
|
71
|
-
def release_date
|
72
|
-
rd = term_values(:release_date).first
|
73
|
-
rd.nil? || rd.empty? ? nil : Time.parse(rd)
|
74
|
-
end
|
75
|
-
|
76
61
|
def twenty_pct_status=(new_status)
|
77
62
|
update_values([:twenty_pct_status] => new_status)
|
78
63
|
end
|
@@ -20,6 +20,14 @@ module Dor
|
|
20
20
|
t.human
|
21
21
|
end
|
22
22
|
|
23
|
+
t._read(path: 'access', attributes: { type: 'read' }) do
|
24
|
+
t.machine do
|
25
|
+
t.embargo_release_date(path: 'embargoReleaseDate', type: :time)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
t.embargo_release_date(proxy: %i[_read machine embargo_release_date])
|
30
|
+
|
23
31
|
t.creative_commons path: '/use/machine[@type=\'creativeCommons\']', type: 'creativeCommons' do
|
24
32
|
t.uri path: '@uri'
|
25
33
|
end
|
@@ -17,10 +17,12 @@ module Dor
|
|
17
17
|
def release_embargo(release_agent = 'unknown')
|
18
18
|
embargo_service.release(release_agent)
|
19
19
|
end
|
20
|
+
deprecation_deprecate release_embargo: 'this moved to dor-service-app'
|
20
21
|
|
21
22
|
def release_20_pct_vis_embargo(release_agent = 'unknown')
|
22
23
|
embargo_service.release_20_pct_vis(release_agent)
|
23
24
|
end
|
25
|
+
deprecation_deprecate release_20_pct_vis_embargo: 'this moved to dor-service-app'
|
24
26
|
|
25
27
|
def embargoed?
|
26
28
|
embargoMetadata.status == 'embargoed'
|
@@ -29,6 +31,7 @@ module Dor
|
|
29
31
|
def update_embargo(new_date)
|
30
32
|
embargo_service.update(new_date)
|
31
33
|
end
|
34
|
+
deprecation_deprecate update_embargo: 'Use the method in EmbargoService instead'
|
32
35
|
|
33
36
|
def embargo_service
|
34
37
|
EmbargoService.new(self)
|
@@ -35,6 +35,7 @@ module Dor
|
|
35
35
|
|
36
36
|
events.add_event('embargo', release_agent, 'Embargo released')
|
37
37
|
end
|
38
|
+
deprecation_deprecate release: 'this moved to dor-service-app'
|
38
39
|
|
39
40
|
def release_20_pct_vis(release_agent)
|
40
41
|
# Set status to released
|
@@ -55,25 +56,16 @@ module Dor
|
|
55
56
|
|
56
57
|
events.add_event('embargo', release_agent, '20% Visibility Embargo released')
|
57
58
|
end
|
59
|
+
deprecation_deprecate release_20_pct_vis: 'this moved to dor-service-app'
|
58
60
|
|
59
61
|
def update(new_date)
|
60
62
|
raise ArgumentError, 'You cannot change the embargo date of an item that is not embargoed.' if embargoMetadata.status != 'embargoed'
|
61
63
|
raise ArgumentError, 'You cannot set the embargo date to a past date.' if new_date.past?
|
62
64
|
|
63
|
-
|
64
|
-
rightsMetadata.
|
65
|
-
|
66
|
-
|
67
|
-
end
|
68
|
-
rightsMetadata.ng_xml_will_change!
|
69
|
-
rightsMetadata.save
|
70
|
-
raise 'No release date in rights metadata, cannot proceed!' unless updated
|
71
|
-
|
72
|
-
embargoMetadata.ng_xml.xpath('//releaseDate').each do |node|
|
73
|
-
node.content = new_date.beginning_of_day.utc.xmlschema
|
74
|
-
end
|
75
|
-
embargoMetadata.ng_xml_will_change!
|
76
|
-
embargoMetadata.save
|
65
|
+
time = new_date.beginning_of_day.utc
|
66
|
+
rightsMetadata.embargo_release_date = time
|
67
|
+
embargoMetadata.release_date = time
|
68
|
+
obj.save!
|
77
69
|
end
|
78
70
|
|
79
71
|
private
|
data/lib/dor/version.rb
CHANGED