sufia 3.4.0.rc1 → 3.4.0.rc2

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
  SHA1:
3
- metadata.gz: 9e8b880c78652a7107ed7c477a2fd60ac2a18d9b
4
- data.tar.gz: f398c4358574df797fcaac72f0ba960c89f5cceb
3
+ metadata.gz: 8b88dc1dec7671c314b32538775b0691c7c01bb5
4
+ data.tar.gz: feb60f9924a19dc05ac5e0c7e71f19c387eaadf8
5
5
  SHA512:
6
- metadata.gz: 8f053ac8dcd4692883e481ee0645f72e3f58b0fba80cfb7f12d03b3428e0bf84fa81a5ca80cafba91c73773a37e59e258620fd6bb3b7d0761fb00cf0774df2ca
7
- data.tar.gz: 21ea3febe2601469eddf35eb786ab2848f2de7bb2a881153e1655d976242bf4ee9bbad12c4b7253f566217743d15af21b7b2996678d99f701ed183f7a9f4f257
6
+ metadata.gz: 9c3601baf4d5fc2f28d2e027072dadf1d239a703ea1c60584c944d8d3e03c2e71142b8adb2d119c771715ff278062f52f344d4bd027f154d8fcda5eb2f435450
7
+ data.tar.gz: 58484082783d403699c326e44774ddfd6698718d9f0549ec2cd2adaad07c4161644a7590510a691c837d6b5d09b7285c3e23668fbcc6b92045d2ef0eb3f6befc
data/History.md CHANGED
@@ -1,8 +1,15 @@
1
1
  # History of Sufia releases
2
2
 
3
- ## 3.4.0.rc1
4
- * 2013-10-01: Remove Visibility, which was moved into hydra-head [Justin Coyne]
5
- * 2013-10-01: Fix deprecation warnings by switching to
3
+ ## 3.4.0.rc2
4
+ * Moved trophies related methods to Trophies module [Justin Coyne]
5
+ * Move mime type related methods into MimeTypes module [Justin Coyne]
6
+ * Extract version methods into its own module [Justin Coyne]
7
+ * Extract metadata into its own module [Justin Coyne]
8
+ * Update to latest rc of hydra-head [Justin Coyne]
9
+ * AccessRight has moved into HydraHead [Justin Coyne]
10
+ * Remove cruft [ci skip] [Justin Coyne]
11
+ * Remove Visibility, which was moved into hydra-head [Justin Coyne]
12
+ * Fix deprecation warnings by switching to
6
13
  Hydra::AccessControls::Permissions [Justin Coyne]
7
14
  * 2013-09-27: Works with hydra 6.1.0.rc1 [Justin Coyne]
8
15
 
data/SUFIA_VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.0.rc1
1
+ 3.4.0.rc2
data/UpgradeGuide.md ADDED
@@ -0,0 +1,3 @@
1
+ #Upgrading to Sufia 3.4.0
2
+
3
+ * If you are using Sufia::Models::AccessRight, substitute Hydra::AccessControls::AccessRight instead
@@ -60,13 +60,13 @@
60
60
  <h3>Visibility - <small>who should have the ability to read and download</small></h3>
61
61
  <div class="controls">
62
62
  <label class="radio">
63
- <input type="radio" id="visibility_open" name="visibility" value="<%=Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC %>" <% if !public_perm.blank? %> checked="true"<% end %>/> <span class="label label-success">Open Access</span> Visible to the world.
63
+ <input type="radio" id="visibility_open" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC %>" <% if !public_perm.blank? %> checked="true"<% end %>/> <span class="label label-success">Open Access</span> Visible to the world.
64
64
  </label>
65
65
  <label class="radio">
66
- <input type="radio" id="visibility_psu" name="visibility" value="<%=Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>" <% if !registered_perm.blank? %> checked="true"<% end %> /><span class="label label-info"><%=t('sufia.institution_name') %></span> Visible to all <%=t('sufia.institution_name') %> users.
66
+ <input type="radio" id="visibility_psu" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>" <% if !registered_perm.blank? %> checked="true"<% end %> /><span class="label label-info"><%=t('sufia.institution_name') %></span> Visible to all <%=t('sufia.institution_name') %> users.
67
67
  </label>
68
68
  <label class="radio">
69
- <input type="radio" id="visibility_restricted" name="visibility" value="<%=Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>"<% if registered_perm.blank? and public_perm.blank?%> checked="true"<% end %> /> <span class="label label-important">Private</span> Visible to users/groups specified below, if any.
69
+ <input type="radio" id="visibility_restricted" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>"<% if registered_perm.blank? and public_perm.blank?%> checked="true"<% end %> /> <span class="label label-important">Private</span> Visible to users/groups specified below, if any.
70
70
  </label>
71
71
  </div><!-- /.controls -->
72
72
  </div><!-- /.control-group -->
data/lib/sufia.rb CHANGED
@@ -20,8 +20,6 @@ module Sufia
20
20
  #{config.root}/app/models/datastreams
21
21
  #{Hydra::Engine.root}/app/models/concerns
22
22
  )
23
- puts "concern #{Hydra::Engine.root}/app/models/concerns"
24
-
25
23
  end
26
24
 
27
25
  autoload :Controller
data/lib/sufia/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sufia
2
- VERSION = "3.4.0.rc1"
2
+ VERSION = "3.4.0.rc2"
3
3
  end
@@ -13,7 +13,7 @@ describe Sufia::GenericFile do
13
13
 
14
14
  it 'allows for overrides of visibility' do
15
15
  expect{
16
- MockParent.new(visibility: Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE)
16
+ MockParent.new(visibility: Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE)
17
17
  }.to_not raise_error
18
18
  end
19
19
  end
@@ -6,6 +6,9 @@ module Sufia
6
6
  autoload :Permissions, 'sufia/models/generic_file/permissions'
7
7
  autoload :WebForm, 'sufia/models/generic_file/web_form'
8
8
  autoload :AccessibleAttributes, 'sufia/models/generic_file/accessible_attributes'
9
+ autoload :Trophies, 'sufia/models/generic_file/trophies'
10
+ autoload :Metadata, 'sufia/models/generic_file/metadata'
11
+ autoload :Versions, 'sufia/models/generic_file/versions'
9
12
  include Sufia::ModelMethods
10
13
  include Sufia::Noid
11
14
  include Sufia::GenericFile::MimeTypes
@@ -16,55 +19,18 @@ module Sufia
16
19
  include Sufia::GenericFile::Permissions
17
20
  include Sufia::GenericFile::WebForm
18
21
  include Sufia::GenericFile::Derivatives
22
+ include Sufia::GenericFile::Trophies
23
+ include Sufia::GenericFile::Metadata
24
+ include Sufia::GenericFile::Versions
19
25
 
20
26
  included do
21
- has_metadata :name => "descMetadata", :type => GenericFileRdfDatastream
22
- has_metadata :name => "properties", :type => PropertiesDatastream
23
- has_file_datastream :name => "content", :type => FileContentDatastream
24
- has_file_datastream :name => "thumbnail"
25
-
26
27
  belongs_to :batch, :property => :is_part_of
27
28
 
28
- delegate_to :properties, [:relative_path, :depositor, :import_url], multiple: false
29
- delegate_to :descMetadata, [:date_uploaded, :date_modified], multiple: false
30
- delegate_to :descMetadata, [:related_url, :based_near, :part_of, :creator,
31
- :contributor, :title, :tag, :description, :rights,
32
- :publisher, :date_created, :subject,
33
- :resource_type, :identifier, :language], multiple: true
34
-
35
29
  around_save :characterize_if_changed, :retry_warming
36
- before_destroy :cleanup_trophies
37
30
 
38
31
  attr_accessible *(ds_specs['descMetadata'][:type].fields + [:permissions])
39
32
  end
40
33
 
41
-
42
- def record_version_committer(user)
43
- version = content.latest_version
44
- # content datastream not (yet?) present
45
- return if version.nil?
46
- VersionCommitter.create(:obj_id => version.pid,
47
- :datastream_id => version.dsid,
48
- :version_id => version.versionID,
49
- :committer_login => user.user_key)
50
- end
51
-
52
- def pdf?
53
- self.class.pdf_mime_types.include? self.mime_type
54
- end
55
-
56
- def image?
57
- self.class.image_mime_types.include? self.mime_type
58
- end
59
-
60
- def video?
61
- self.class.video_mime_types.include? self.mime_type
62
- end
63
-
64
- def audio?
65
- self.class.audio_mime_types.include? self.mime_type
66
- end
67
-
68
34
  def persistent_url
69
35
  "#{Sufia.config.persistent_hostpath}#{noid}"
70
36
  end
@@ -100,10 +66,6 @@ module Sufia
100
66
  end
101
67
  end
102
68
 
103
- def cleanup_trophies
104
- Trophy.destroy_all(generic_file_id: self.noid)
105
- end
106
-
107
69
  def related_files
108
70
  relateds = begin
109
71
  self.batch.generic_files
@@ -130,13 +92,6 @@ module Sufia
130
92
  return solr_doc
131
93
  end
132
94
 
133
- def file_format
134
- return nil if self.mime_type.blank? and self.format_label.blank?
135
- return self.mime_type.split('/')[1]+ " ("+self.format_label.join(", ")+")" unless self.mime_type.blank? or self.format_label.blank?
136
- return self.mime_type.split('/')[1] unless self.mime_type.blank?
137
- return self.format_label
138
- end
139
-
140
95
  # Redefine this for more intuitive keys in Redis
141
96
  def to_param
142
97
  noid
@@ -0,0 +1,22 @@
1
+ module Sufia
2
+ module GenericFile
3
+ module Metadata
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ has_metadata "descMetadata", type: GenericFileRdfDatastream
8
+ has_metadata "properties", type: PropertiesDatastream
9
+ has_file_datastream "content", type: FileContentDatastream
10
+ has_file_datastream "thumbnail"
11
+
12
+
13
+ delegate_to :properties, [:relative_path, :depositor, :import_url], multiple: false
14
+ delegate_to :descMetadata, [:date_uploaded, :date_modified], multiple: false
15
+ delegate_to :descMetadata, [:related_url, :based_near, :part_of, :creator,
16
+ :contributor, :title, :tag, :description, :rights,
17
+ :publisher, :date_created, :subject,
18
+ :resource_type, :identifier, :language], multiple: true
19
+ end
20
+ end
21
+ end
22
+ end
@@ -3,6 +3,29 @@ module Sufia
3
3
  module MimeTypes
4
4
  extend ActiveSupport::Concern
5
5
 
6
+ def pdf?
7
+ self.class.pdf_mime_types.include? self.mime_type
8
+ end
9
+
10
+ def image?
11
+ self.class.image_mime_types.include? self.mime_type
12
+ end
13
+
14
+ def video?
15
+ self.class.video_mime_types.include? self.mime_type
16
+ end
17
+
18
+ def audio?
19
+ self.class.audio_mime_types.include? self.mime_type
20
+ end
21
+
22
+ def file_format
23
+ return nil if self.mime_type.blank? and self.format_label.blank?
24
+ return self.mime_type.split('/')[1]+ " ("+self.format_label.join(", ")+")" unless self.mime_type.blank? or self.format_label.blank?
25
+ return self.mime_type.split('/')[1] unless self.mime_type.blank?
26
+ return self.format_label
27
+ end
28
+
6
29
  module ClassMethods
7
30
  def image_mime_types
8
31
  ['image/png','image/jpeg', 'image/jpg', 'image/jp2', 'image/bmp', 'image/gif']
@@ -0,0 +1,15 @@
1
+ module Sufia
2
+ module GenericFile
3
+ module Trophies
4
+ extend ActiveSupport::Concern
5
+ included do
6
+ before_destroy :cleanup_trophies
7
+ end
8
+
9
+ def cleanup_trophies
10
+ Trophy.destroy_all(generic_file_id: self.noid)
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ module Sufia
2
+ module GenericFile
3
+ module Versions
4
+ def record_version_committer(user)
5
+ version = content.latest_version
6
+ # content datastream not (yet?) present
7
+ return if version.nil?
8
+ VersionCommitter.create(:obj_id => version.pid,
9
+ :datastream_id => version.dsid,
10
+ :version_id => version.versionID,
11
+ :committer_login => user.user_key)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "3.4.0.rc1"
3
+ VERSION = "3.4.0.rc2"
4
4
  end
5
5
  end
@@ -30,10 +30,10 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency 'rails', '>= 3.2.13', '< 5.0'
31
31
  spec.add_dependency 'activeresource' # No longer a dependency of rails 4.0
32
32
 
33
- # spec.add_dependency "hydra", "6.1.0.rc1"
33
+ # spec.add_dependency "hydra", "6.1.0.rc2"
34
34
  # Since hydra 6.1 isn't out yet, we'll just build it so that it's compatible
35
35
  # without an explicit dependency
36
- spec.add_dependency "hydra-head", "~> 6.4.0.rc1"
36
+ spec.add_dependency "hydra-head", "~> 6.4.0.rc2"
37
37
  spec.add_dependency 'active-fedora', "~> 6.6.0.rc1"
38
38
 
39
39
  spec.add_dependency 'nest', '~> 1.1.1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0.rc1
4
+ version: 3.4.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-01 00:00:00.000000000 Z
11
+ date: 2013-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sufia-models
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.4.0.rc1
19
+ version: 3.4.0.rc2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.4.0.rc1
26
+ version: 3.4.0.rc2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: blacklight_advanced_search
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -162,6 +162,7 @@ files:
162
162
  - Rakefile
163
163
  - Releasing_sufia.md
164
164
  - SUFIA_VERSION
165
+ - UpgradeGuide.md
165
166
  - app/assets/images/blacklight/bg.png
166
167
  - app/assets/images/blacklight/border.png
167
168
  - app/assets/images/blacklight/bul_sq_gry.gif
@@ -576,7 +577,6 @@ files:
576
577
  - spec/jobs/ingest_local_file_job_spec.rb
577
578
  - spec/lib/sufia/id_service_spec.rb
578
579
  - spec/lib/sufia/upload_complete_behavior_spec.rb
579
- - spec/models/access_right_spec.rb
580
580
  - spec/models/audit_job_spec.rb
581
581
  - spec/models/batch_spec.rb
582
582
  - spec/models/batch_update_job_spec.rb
@@ -614,8 +614,6 @@ files:
614
614
  - sufia-models/Rakefile
615
615
  - sufia-models/app/models/batch.rb
616
616
  - sufia-models/app/models/checksum_audit_log.rb
617
- - sufia-models/app/models/concerns/sufia/models/access_right.rb
618
- - sufia-models/app/models/concerns/sufia/models/with_access_right.rb
619
617
  - sufia-models/app/models/datastreams/batch_rdf_datastream.rb
620
618
  - sufia-models/app/models/datastreams/file_content_datastream.rb
621
619
  - sufia-models/app/models/datastreams/fits_datastream.rb
@@ -668,9 +666,12 @@ files:
668
666
  - sufia-models/lib/sufia/models/generic_file/characterization.rb
669
667
  - sufia-models/lib/sufia/models/generic_file/derivatives.rb
670
668
  - sufia-models/lib/sufia/models/generic_file/export.rb
669
+ - sufia-models/lib/sufia/models/generic_file/metadata.rb
671
670
  - sufia-models/lib/sufia/models/generic_file/mime_types.rb
672
671
  - sufia-models/lib/sufia/models/generic_file/permissions.rb
673
672
  - sufia-models/lib/sufia/models/generic_file/thumbnail.rb
673
+ - sufia-models/lib/sufia/models/generic_file/trophies.rb
674
+ - sufia-models/lib/sufia/models/generic_file/versions.rb
674
675
  - sufia-models/lib/sufia/models/generic_file/web_form.rb
675
676
  - sufia-models/lib/sufia/models/id_service.rb
676
677
  - sufia-models/lib/sufia/models/jobs/active_fedora_pid_based_job.rb
@@ -831,7 +832,6 @@ test_files:
831
832
  - spec/jobs/ingest_local_file_job_spec.rb
832
833
  - spec/lib/sufia/id_service_spec.rb
833
834
  - spec/lib/sufia/upload_complete_behavior_spec.rb
834
- - spec/models/access_right_spec.rb
835
835
  - spec/models/audit_job_spec.rb
836
836
  - spec/models/batch_spec.rb
837
837
  - spec/models/batch_update_job_spec.rb
@@ -1,57 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Sufia::Models::AccessRight do
4
- [
5
- [false, Sufia::Models::AccessRight::PERMISSION_TEXT_VALUE_PUBLIC, nil, nil, true, false, false, false],
6
- [false, Sufia::Models::AccessRight::PERMISSION_TEXT_VALUE_AUTHENTICATED, nil, nil, true, false, false, false],
7
- [false, nil, nil, nil, true, false, false, false],
8
- [false, nil, nil, 2.days.from_now, false, false, false, true],
9
- [false, nil, nil, 2.days.ago, false, false, false, true],
10
- [false, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC, nil, true, false, false, false],
11
- [false, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED, nil, false, true, false, false],
12
- [false, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE, nil, false, false, true, false],
13
- [false, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO, nil, false, false, false, true],
14
- [true, Sufia::Models::AccessRight::PERMISSION_TEXT_VALUE_PUBLIC, nil, nil, true, false, false, false],
15
- [true, Sufia::Models::AccessRight::PERMISSION_TEXT_VALUE_PUBLIC, nil, 2.days.from_now, false, false, false, true],
16
- [true, Sufia::Models::AccessRight::PERMISSION_TEXT_VALUE_PUBLIC, nil, 2.days.ago, false, false, false, true],
17
- [true, Sufia::Models::AccessRight::PERMISSION_TEXT_VALUE_AUTHENTICATED, nil, nil, false, true, false, false],
18
- [true, nil, nil, nil, false, false, true, false],
19
- [true, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC, nil, true, false, false, false],
20
- [true, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED, nil, false, true, false, false],
21
- [true, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE, nil, false, false, true, false],
22
- [true, nil, Sufia::Models::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO, nil, false, false, false, true],
23
- ].each do |given_persisted, givin_permission, given_visibility, given_embargo_release_date, expected_open_access, expected_authentication_only, expected_private, expected_open_access_with_embargo_release_date|
24
- spec_text = <<-TEXT
25
-
26
- GIVEN: {
27
- persisted: #{given_persisted.inspect},
28
- permission: #{givin_permission.inspect},
29
- visibility: #{given_visibility.inspect},
30
- embargo_release_date: #{given_embargo_release_date}
31
- },
32
- EXPECTED: {
33
- open_access: #{expected_open_access.inspect},
34
- restricted: #{expected_authentication_only.inspect},
35
- private: #{expected_private.inspect},
36
- open_access_with_embargo_release_date: #{expected_open_access_with_embargo_release_date}
37
- },
38
- TEXT
39
-
40
- it spec_text do
41
- permissions = [{access: :edit, name: givin_permission}]
42
- permissionable = double(
43
- 'permissionable',
44
- permissions: permissions,
45
- visibility: given_visibility,
46
- persisted?: given_persisted,
47
- embargo_release_date: given_embargo_release_date
48
- )
49
- access_right = Sufia::Models::AccessRight.new(permissionable)
50
-
51
- expect(access_right.open_access?).to eq(expected_open_access)
52
- expect(access_right.authenticated_only?).to eq(expected_authentication_only)
53
- expect(access_right.private?).to eq(expected_private)
54
- expect(access_right.open_access_with_embargo_release_date?).to eq(expected_open_access_with_embargo_release_date)
55
- end
56
- end
57
- end
@@ -1,79 +0,0 @@
1
- module Sufia
2
- module Models
3
- class AccessRight
4
- PERMISSION_TEXT_VALUE_PUBLIC = 'public'.freeze
5
- PERMISSION_TEXT_VALUE_AUTHENTICATED = 'registered'.freeze
6
- VISIBILITY_TEXT_VALUE_PUBLIC = 'open'.freeze
7
- VISIBILITY_TEXT_VALUE_EMBARGO = 'open_with_embargo_release_date'.freeze
8
- VISIBILITY_TEXT_VALUE_AUTHENTICATED = 'psu'.freeze
9
- VISIBILITY_TEXT_VALUE_PRIVATE = 'restricted'.freeze
10
-
11
- # @param permissionable [#visibility, #permissions]
12
- # @example
13
- # file = GenericFile.find('sufia:1234')
14
- # access = Sufia::AccessRight.new(file)
15
- def initialize(permissionable)
16
- @permissionable = permissionable
17
- end
18
-
19
- attr_reader :permissionable
20
- delegate :persisted?, :permissions, :visibility, to: :permissionable
21
- protected :persisted?, :permissions, :visibility
22
-
23
-
24
- def open_access?
25
- return true if has_visibility_text_for?(VISIBILITY_TEXT_VALUE_PUBLIC)
26
- # We don't want to know if its under embargo, simply does it have a date.
27
- # In this way, we can properly inform the label input
28
- persisted_open_access_permission? && !permissionable.embargo_release_date.present?
29
- end
30
-
31
- def open_access_with_embargo_release_date?
32
- return false unless permissionable_is_embargoable?
33
- return true if has_visibility_text_for?(VISIBILITY_TEXT_VALUE_EMBARGO)
34
- # We don't want to know if its under embargo, simply does it have a date.
35
- # In this way, we can properly inform the label input
36
- persisted_open_access_permission? && permissionable.embargo_release_date.present?
37
- end
38
-
39
- def authenticated_only?
40
- return false if open_access?
41
- has_permission_text_for?(PERMISSION_TEXT_VALUE_AUTHENTICATED) ||
42
- has_visibility_text_for?(VISIBILITY_TEXT_VALUE_AUTHENTICATED)
43
- end
44
-
45
- def private?
46
- return false if open_access?
47
- return false if authenticated_only?
48
- return false if open_access_with_embargo_release_date?
49
- true
50
- end
51
-
52
- private
53
-
54
- def persisted_open_access_permission?
55
- if persisted?
56
- has_permission_text_for?(PERMISSION_TEXT_VALUE_PUBLIC)
57
- else
58
- visibility.to_s == ''
59
- end
60
- end
61
-
62
- def on_or_after_any_embargo_release_date?
63
- return true unless permissionable.embargo_release_date
64
- permissionable.embargo_release_date.to_date < Date.today
65
- end
66
-
67
- def permissionable_is_embargoable?
68
- permissionable.respond_to?(:embargo_release_date)
69
- end
70
-
71
- def has_visibility_text_for?(text)
72
- visibility == text
73
- end
74
- def has_permission_text_for?(text)
75
- !!permissions.detect { |perm| perm[:name] == text }
76
- end
77
- end
78
- end
79
- end
@@ -1,33 +0,0 @@
1
- module Sufia
2
- module Models
3
- module WithAccessRight
4
- extend ActiveSupport::Concern
5
-
6
- def under_embargo?
7
- @under_embargo ||= rightsMetadata.under_embargo?
8
- end
9
-
10
- def open_access?
11
- access_rights.open_access?
12
- end
13
-
14
- def open_access_with_embargo_release_date?
15
- access_rights.open_access_with_embargo_release_date?
16
- end
17
-
18
- def authenticated_only_access?
19
- access_rights.authenticated_only?
20
- end
21
-
22
- def private_access?
23
- access_rights.private?
24
- end
25
-
26
- def access_rights
27
- @access_rights ||= AccessRight.new(self)
28
- end
29
- protected :access_rights
30
-
31
- end
32
- end
33
- end