dor-services 9.1.0 → 9.2.0
Sign up to get free protection for your applications and to get access to all the features.
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