hydra-access-controls 5.0.0.pre11 → 5.0.0.pre12

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.
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.email = ["hydra-tech@googlegroups.com"]
7
7
  gem.description = %q{Access controls for project hydra}
8
8
  gem.summary = %q{Access controls for project hydra}
9
- gem.homepage = ""
9
+ gem.homepage = "http://projecthydra.org"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -15,6 +15,8 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = version
17
17
 
18
+ gem.required_ruby_version = '>= 1.9.3'
19
+
18
20
  gem.add_dependency 'activesupport'
19
21
  gem.add_dependency 'active-fedora'
20
22
  gem.add_dependency 'cancan'
data/lib/hydra/ability.rb CHANGED
@@ -1,8 +1,11 @@
1
- require "blacklight"
2
- # this code will move to lib/hydra/access_controls/ability.rb (with the appropriate namespace changes) in Hydra 5.0
3
1
  # Code for [CANCAN] access to Hydra models
4
2
  module Hydra::Ability
5
- include Hydra::AccessControlsEnforcement
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ include Hydra::AccessControlsEnforcement
7
+ include Blacklight::SolrHelper
8
+ end
6
9
 
7
10
  def self.user_class
8
11
  Hydra.config[:user_model] ? Hydra.config[:user_model].constantize : ::User
@@ -1,8 +1,9 @@
1
1
  # will move to lib/hydra/access_control folder/namespace in release 5.x
2
2
  module Hydra::AccessControlsEnforcement
3
+ extend ActiveSupport::Concern
3
4
 
4
- def self.included(klass)
5
- klass.send(:include, Hydra::AccessControlsEvaluation)
5
+ included do
6
+ include Hydra::AccessControlsEvaluation
6
7
  end
7
8
 
8
9
  #
@@ -53,7 +54,12 @@ module Hydra::AccessControlsEnforcement
53
54
  # @param [Hash] extra_controller_params (optional)
54
55
  def get_permissions_solr_response_for_doc_id(id=nil, extra_controller_params={})
55
56
  raise Blacklight::Exceptions::InvalidSolrID.new("The application is trying to retrieve permissions without specifying an asset id") if id.nil?
56
- solr_response = Blacklight.solr.find permissions_solr_doc_params(id).merge(extra_controller_params)
57
+ #solr_response = Blacklight.solr.get permissions_solr_doc_params(id).merge(extra_controller_params)
58
+ #path = blacklight_config.solr_path
59
+ solr_opts = permissions_solr_doc_params(id).merge(extra_controller_params)
60
+ response = Blacklight.solr.get('select', :params=> solr_opts)
61
+ solr_response = Blacklight::SolrResponse.new(force_to_utf8(response), solr_opts)
62
+
57
63
  raise Blacklight::Exceptions::InvalidSolrID.new("The solr permissions search handler didn't return anything for id \"#{id}\"") if solr_response.docs.empty?
58
64
  document = SolrDocument.new(solr_response.docs.first, solr_response)
59
65
  [solr_response, document]
@@ -138,7 +144,7 @@ module Hydra::AccessControlsEnforcement
138
144
  end
139
145
 
140
146
  ## proxies to enforce_edit_permssions. This method is here for you to override
141
- def enforce_delete_permissions(opts={})
147
+ def enforce_destroy_permissions(opts={})
142
148
  enforce_edit_permissions(opts)
143
149
  end
144
150
 
@@ -9,9 +9,7 @@ class Hydra::AdminPolicy < ActiveFedora::Base
9
9
  # Uses the Hydra Rights Metadata Schema for tracking access permissions & copyright
10
10
  has_metadata :name => "rightsMetadata", :type => Hydra::Datastream::RightsMetadata
11
11
 
12
- has_metadata :name =>'descMetadata', :type => ActiveFedora::QualifiedDublinCoreDatastream do |ds|
13
- ds.field :license_url
14
- end
12
+ has_metadata :name =>'descMetadata', :type => ActiveFedora::QualifiedDublinCoreDatastream
15
13
 
16
14
  delegate_to :descMetadata, [:title, :description], :unique=>true
17
15
  delegate :license_title, :to=>'rightsMetadata', :at=>[:license, :title], :unique=>true
data/lib/hydra/user.rb CHANGED
@@ -1,9 +1,7 @@
1
1
  # Injects behaviors into User model so that it will work with Hydra Access Controls
2
2
  # By default, this module assumes you are using the User model created by Blacklight, which uses Devise.
3
3
  # To integrate your own User implementation into Hydra, override this Module or define your own User model in app/models/user.rb within your Hydra head.
4
- require 'deprecation'
5
4
  module Hydra::User
6
- extend Deprecation
7
5
 
8
6
  def self.included(klass)
9
7
  # Other modules to auto-include
@@ -24,19 +22,4 @@ module Hydra::User
24
22
  self.send("find_by_#{Devise.authentication_keys.first}".to_sym, key)
25
23
  end
26
24
  end
27
-
28
- # This method should display the unique identifier for this user
29
- # the unique identifier is what access controls will be enforced against.
30
- def unique_id
31
- return to_s
32
- end
33
- deprecation_deprecate :unique_id
34
-
35
-
36
- # For backwards compatibility with the Rails2 User models in Hydra/Blacklight
37
- def login
38
- return unique_id
39
- end
40
- deprecation_deprecate :login
41
-
42
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-access-controls
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0.pre11
4
+ version: 5.0.0.pre12
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-10-31 00:00:00.000000000 Z
14
+ date: 2012-11-15 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
@@ -172,7 +172,7 @@ files:
172
172
  - spec/unit/policy_aware_access_controls_enforcement_spec.rb
173
173
  - spec/unit/rights_metadata_spec.rb
174
174
  - spec/unit/role_mapper_spec.rb
175
- homepage: ''
175
+ homepage: http://projecthydra.org
176
176
  licenses: []
177
177
  post_install_message:
178
178
  rdoc_options: []
@@ -183,7 +183,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - ! '>='
185
185
  - !ruby/object:Gem::Version
186
- version: '0'
186
+ version: 1.9.3
187
187
  required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  none: false
189
189
  requirements: