hydra-head 4.0.0.rc4 → 4.0.0.rc5

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hydra-head (4.0.0.rc4)
4
+ hydra-head (4.0.0.rc5)
5
5
  RedCloth (= 4.2.9)
6
- active-fedora (~> 4.0.0.rc19)
6
+ active-fedora (~> 4.0.0.rc20)
7
7
  blacklight (~> 3.3.1)
8
8
  block_helpers
9
9
  cancan
10
10
  devise
11
- rails (~> 3.2.1)
11
+ rails (= 3.2.2)
12
12
  sanitize
13
13
 
14
14
  GEM
@@ -28,7 +28,7 @@ GEM
28
28
  rack-cache (~> 1.1)
29
29
  rack-test (~> 0.6.1)
30
30
  sprockets (~> 2.1.2)
31
- active-fedora (4.0.0.rc19)
31
+ active-fedora (4.0.0.rc20)
32
32
  activeresource (>= 3.0.0)
33
33
  activesupport (>= 3.0.0)
34
34
  equivalent-xml
@@ -115,12 +115,12 @@ GEM
115
115
  equivalent-xml (0.2.9)
116
116
  nokogiri (>= 1.4.3)
117
117
  erubis (2.7.0)
118
- factory_girl (2.6.4)
119
- activesupport (>= 2.3.9)
118
+ factory_girl (3.0.0)
119
+ activesupport (>= 3.0.0)
120
120
  fastercsv (1.5.4)
121
121
  ffi (1.0.11)
122
122
  fssm (0.2.8.1)
123
- gherkin (2.9.1)
123
+ gherkin (2.9.3)
124
124
  json (>= 1.4.6)
125
125
  gyoku (0.4.4)
126
126
  builder (>= 2.1.2)
@@ -135,7 +135,7 @@ GEM
135
135
  logger
136
136
  mediashelf-loggable
137
137
  journey (1.0.3)
138
- json (1.6.5)
138
+ json (1.6.6)
139
139
  kaminari (0.13.0)
140
140
  actionpack (>= 3.0.0)
141
141
  activesupport (>= 3.0.0)
@@ -148,14 +148,14 @@ GEM
148
148
  marc (0.4.4)
149
149
  mediashelf-loggable (0.4.9)
150
150
  metaclass (0.0.1)
151
- mime-types (1.17.2)
151
+ mime-types (1.18)
152
152
  mocha (0.10.5)
153
153
  metaclass (~> 0.0.1)
154
- multi_json (1.1.0)
154
+ multi_json (1.2.0)
155
155
  multipart-post (1.1.2)
156
156
  nokogiri (1.5.2)
157
157
  nori (1.1.0)
158
- om (1.6.0.rc3)
158
+ om (1.6.0)
159
159
  mediashelf-loggable
160
160
  nokogiri (>= 1.4.2)
161
161
  orm_adapter (0.0.7)
data/HISTORY.textile CHANGED
@@ -4,6 +4,8 @@ h3. 4.0.0
4
4
  * Removed railtie to configure active-fedora
5
5
  * Register solr happens automatically
6
6
  * Using CanCan gem for authorization
7
+ * Compatibility with Rails 3.2
8
+ * Compatibility with Ruby 1.9.3
7
9
 
8
10
  h3. 3.3.0
9
11
  * HYDRA-737: fixes to work with Ruby Enterprise Edition 2011.12 and ruby-1.8.7-p357.
data/hydra-head.gemspec CHANGED
@@ -12,10 +12,10 @@ Gem::Specification.new do |s|
12
12
  s.summary = %q{Hydra-Head Rails Engine (requires Rails3) }
13
13
  s.description = %q{Hydra-Head is a Rails Engine containing the core code for a Hydra application. The full hydra stack includes: Blacklight, Fedora, Solr, active-fedora, solrizer, and om}
14
14
 
15
- s.add_dependency "rails", '~> 3.2.1'
15
+ s.add_dependency "rails", '3.2.2' # 3.2.3 needs an updated version of BL(>3.3.1)
16
16
  s.add_dependency "blacklight", '~>3.3.1'
17
17
  s.add_dependency "devise"
18
- s.add_dependency "active-fedora", '~>4.0.0.rc19'
18
+ s.add_dependency "active-fedora", '~>4.0.0.rc20'
19
19
  s.add_dependency 'RedCloth', '=4.2.9'
20
20
  s.add_development_dependency 'solrizer-fedora', '>=1.2.5'
21
21
  s.add_dependency 'block_helpers'
data/lib/hydra/catalog.rb CHANGED
@@ -21,6 +21,7 @@ module Hydra::Catalog
21
21
  # View Helpers
22
22
  helper :hydra_uploader
23
23
  helper :article_metadata
24
+ rescue_from ActiveFedora::ObjectNotFoundError, :with => :nonexistent_document
24
25
  end
25
26
 
26
27
  def edit
@@ -33,5 +34,15 @@ module Hydra::Catalog
33
34
  show
34
35
  render "show"
35
36
  end
36
-
37
+
38
+ def nonexistent_document
39
+ if Rails.env == "development"
40
+ render
41
+ else
42
+ flash[:notice] = "Sorry, you have requested a record that doesn't exist."
43
+ params.delete(:id)
44
+ index
45
+ render "index", :status => 404
46
+ end
47
+ end
37
48
  end
@@ -1,4 +1,4 @@
1
1
  module HydraHead
2
- VERSION = "4.0.0.rc4"
2
+ VERSION = "4.0.0.rc5"
3
3
  end
4
4
 
data/lib/hydra.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  require "blacklight"
2
2
  require 'active-fedora'
3
+ require 'cancan'
4
+
3
5
  # Hydra libraries
4
6
  module Hydra
5
7
  extend Blacklight::GlobalConfigurable
@@ -34,5 +36,6 @@ require 'hydra/common_mods_index_methods'
34
36
  require 'hydra/mods_article'
35
37
  require 'hydra/model_methods'
36
38
  require 'hydra/models/file_asset'
39
+ require 'mediashelf/active_fedora_helper' #deprecated
37
40
 
38
41
 
@@ -1,6 +1,3 @@
1
- require "active-fedora"
2
- require "solrizer-fedora"
3
- require "active_support" # This is just to load ActiveSupport::CoreExtensions::String::Inflections
4
1
  namespace :hydra do
5
2
 
6
3
  desc "Init Hydra configuration"
@@ -13,7 +13,6 @@ gem 'blacklight', '~>3.3.0'
13
13
  gem 'hydra-head', :path => '../../'
14
14
  gem 'devise'
15
15
  gem 'jettywrapper'
16
- gem 'cancan'
17
16
 
18
17
  # For testing
19
18
  group :development, :test do
@@ -21,8 +21,7 @@ Feature: HTML validity
21
21
  Scenario: Search Results (authenticated)
22
22
  Given I am logged in as "archivist1@example.com"
23
23
  When I am on the home page
24
- And I follow "Article"
25
- #This may fail if there are a lot of articles in fedora and the expected article is not on the first page
24
+ And I follow "TOPIC 1"
26
25
  Then I should see "TITLE OF HOST JOURNAL"
27
26
  And the page should be HTML5 valid
28
27
 
@@ -0,0 +1,9 @@
1
+ Feature: Non-existent Objects - Show View
2
+ I want to see a 404 for the show view for objects not in fedora or solr
3
+ Scenario: an object exists for an id
4
+ Given I am on the show document page for hydra:test_no_model
5
+ Then I should get a status code 200
6
+ Scenario: no object exists for an id
7
+ Given I am on the show document page for hydra:test_no_exist
8
+ Then I should get a status code 404
9
+ And I should see "Sorry, you have requested a record that doesn't exist."
@@ -23,7 +23,10 @@ end
23
23
  Given /^I am a superuser$/ do
24
24
  step %{I am logged in as "bigwig@example.com"}
25
25
  bigwig_id = User.find_by_email("bigwig@example.com").id
26
- superuser = Superuser.create(:id => 20, :user_id => bigwig_id)
26
+ superuser = Superuser.new()
27
+ superuser.id = 20
28
+ superuser.user_id = bigwig_id
29
+ superuser.save!
27
30
  visit superuser_path
28
31
  end
29
32
 
@@ -217,3 +217,7 @@ end
217
217
  Then /^show me the page$/ do
218
218
  save_and_open_page
219
219
  end
220
+
221
+ Then /^I should get a status code (\d+)/ do |http_status|
222
+ page.driver.status_code.should == http_status.to_i
223
+ end
@@ -109,6 +109,7 @@ describe CatalogController do
109
109
  end
110
110
  describe "show" do
111
111
  it "should trigger enforce_show_permissions and load_fedora_document" do
112
+ controller.stubs(:current_user).returns(nil)
112
113
  controller.expects(:load_fedora_document)
113
114
  controller.expects(:enforce_show_permissions)
114
115
  get :show, :id=>'test:3'
@@ -116,6 +117,7 @@ describe CatalogController do
116
117
  end
117
118
  describe "edit" do
118
119
  it "should trigger enforce_edit_permissions and load_fedora_document" do
120
+ controller.stubs(:current_user).returns(nil)
119
121
  controller.expects(:load_fedora_document)
120
122
  controller.expects(:enforce_edit_permissions)
121
123
  get :edit, :id=>'test:3'
@@ -8,7 +8,10 @@ describe User do
8
8
  @user = User.create(:email=> "testuser@example.com", :password=> "password", :password_confirmation => "password")
9
9
  end
10
10
  it "should know if a user can be a superuser" do
11
- superuser = Superuser.create(:id => 20, :user_id => @user.id)
11
+ superuser = Superuser.new()
12
+ superuser.id = 20
13
+ superuser.user_id = @user.id
14
+ superuser.save!
12
15
  @user.extend(Hydra::SuperuserAttributes)
13
16
  @user.can_be_superuser?.should be_true
14
17
  end
@@ -19,7 +22,10 @@ describe User do
19
22
  end
20
23
 
21
24
  it "should know if the user is being a superuser" do
22
- superuser = Superuser.create(:id => 50, :user_id => @user.id)
25
+ superuser = Superuser.new()
26
+ superuser.id = 50
27
+ superuser.user_id = @user.id
28
+ superuser.save!
23
29
  @user.extend(Hydra::SuperuserAttributes)
24
30
  session = { :superuser_mode => true }
25
31
  @user.is_being_superuser?(session).should be_true
@@ -32,7 +38,10 @@ describe User do
32
38
  end
33
39
 
34
40
  it "should know if the user is not being a superuser even if the user can be a superuser" do
35
- superuser = Superuser.create(:id => 60, :user_id => @user.id)
41
+ superuser = Superuser.new()
42
+ superuser.id = 60
43
+ superuser.user_id = @user.id
44
+ superuser.save!
36
45
  @user.extend(Hydra::SuperuserAttributes)
37
46
  @user.can_be_superuser?.should be_true
38
47
  session = {}
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-head
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.rc4
4
+ version: 4.0.0.rc5
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -10,22 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-03-30 00:00:00.000000000 Z
13
+ date: 2012-04-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &70283600038780 !ruby/object:Gem::Requirement
17
+ requirement: &70107854576240 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
- - - ~>
20
+ - - =
21
21
  - !ruby/object:Gem::Version
22
- version: 3.2.1
22
+ version: 3.2.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70283600038780
25
+ version_requirements: *70107854576240
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: blacklight
28
- requirement: &70283600038160 !ruby/object:Gem::Requirement
28
+ requirement: &70107854603200 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.3.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70283600038160
36
+ version_requirements: *70107854603200
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: devise
39
- requirement: &70283600037660 !ruby/object:Gem::Requirement
39
+ requirement: &70107854601100 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,21 +44,21 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70283600037660
47
+ version_requirements: *70107854601100
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: active-fedora
50
- requirement: &70283600037020 !ruby/object:Gem::Requirement
50
+ requirement: &70107854613840 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
54
54
  - !ruby/object:Gem::Version
55
- version: 4.0.0.rc19
55
+ version: 4.0.0.rc20
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *70283600037020
58
+ version_requirements: *70107854613840
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: RedCloth
61
- requirement: &70283600036420 !ruby/object:Gem::Requirement
61
+ requirement: &70107854613340 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - =
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 4.2.9
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *70283600036420
69
+ version_requirements: *70107854613340
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: solrizer-fedora
72
- requirement: &70283600035840 !ruby/object:Gem::Requirement
72
+ requirement: &70107854612860 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 1.2.5
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *70283600035840
80
+ version_requirements: *70107854612860
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: block_helpers
83
- requirement: &70283600035380 !ruby/object:Gem::Requirement
83
+ requirement: &70107854612180 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *70283600035380
91
+ version_requirements: *70107854612180
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: sanitize
94
- requirement: &70283600034820 !ruby/object:Gem::Requirement
94
+ requirement: &70107854611440 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *70283600034820
102
+ version_requirements: *70107854611440
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: cancan
105
- requirement: &70283600034300 !ruby/object:Gem::Requirement
105
+ requirement: &70107854610740 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *70283600034300
113
+ version_requirements: *70107854610740
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: sqlite3
116
- requirement: &70283600062900 !ruby/object:Gem::Requirement
116
+ requirement: &70107854608140 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *70283600062900
124
+ version_requirements: *70107854608140
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: yard
127
- requirement: &70283600062380 !ruby/object:Gem::Requirement
127
+ requirement: &70107854637400 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *70283600062380
135
+ version_requirements: *70107854637400
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: jettywrapper
138
- requirement: &70283600061760 !ruby/object:Gem::Requirement
138
+ requirement: &70107854636480 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: 1.0.4
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *70283600061760
146
+ version_requirements: *70107854636480
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: rspec-rails
149
- requirement: &70283600061260 !ruby/object:Gem::Requirement
149
+ requirement: &70107854635520 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: '0'
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *70283600061260
157
+ version_requirements: *70107854635520
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: mocha
160
- requirement: &70283600060660 !ruby/object:Gem::Requirement
160
+ requirement: &70107854634600 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ! '>='
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: '0'
166
166
  type: :development
167
167
  prerelease: false
168
- version_requirements: *70283600060660
168
+ version_requirements: *70107854634600
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: cucumber-rails
171
- requirement: &70283600059920 !ruby/object:Gem::Requirement
171
+ requirement: &70107854633860 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - ! '>='
@@ -176,10 +176,10 @@ dependencies:
176
176
  version: 1.2.0
177
177
  type: :development
178
178
  prerelease: false
179
- version_requirements: *70283600059920
179
+ version_requirements: *70107854633860
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: factory_girl
182
- requirement: &70283600059280 !ruby/object:Gem::Requirement
182
+ requirement: &70107854633040 !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
185
185
  - - ! '>='
@@ -187,7 +187,7 @@ dependencies:
187
187
  version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
- version_requirements: *70283600059280
190
+ version_requirements: *70107854633040
191
191
  description: ! 'Hydra-Head is a Rails Engine containing the core code for a Hydra
192
192
  application. The full hydra stack includes: Blacklight, Fedora, Solr, active-fedora,
193
193
  solrizer, and om'
@@ -566,6 +566,7 @@ files:
566
566
  - test_support/features/mods_asset_edit_without_permission.feature
567
567
  - test_support/features/mods_asset_search_result.feature
568
568
  - test_support/features/mods_asset_show.feature
569
+ - test_support/features/nonexistent_object_show.feature
569
570
  - test_support/features/permissions_add.feature
570
571
  - test_support/features/permissions_edit.feature
571
572
  - test_support/features/step_definitions/catalog_index_steps.rb
@@ -652,7 +653,7 @@ files:
652
653
  - vendor/cache/RedCloth-4.2.9.gem
653
654
  - vendor/cache/actionmailer-3.2.2.gem
654
655
  - vendor/cache/actionpack-3.2.2.gem
655
- - vendor/cache/active-fedora-4.0.0.rc19.gem
656
+ - vendor/cache/active-fedora-4.0.0.rc20.gem
656
657
  - vendor/cache/activemodel-3.2.2.gem
657
658
  - vendor/cache/activerecord-3.2.2.gem
658
659
  - vendor/cache/activeresource-3.2.2.gem
@@ -678,31 +679,31 @@ files:
678
679
  - vendor/cache/diff-lcs-1.1.3.gem
679
680
  - vendor/cache/equivalent-xml-0.2.9.gem
680
681
  - vendor/cache/erubis-2.7.0.gem
681
- - vendor/cache/factory_girl-2.6.4.gem
682
+ - vendor/cache/factory_girl-3.0.0.gem
682
683
  - vendor/cache/fastercsv-1.5.4.gem
683
684
  - vendor/cache/ffi-1.0.11.gem
684
685
  - vendor/cache/fssm-0.2.8.1.gem
685
- - vendor/cache/gherkin-2.9.1.gem
686
+ - vendor/cache/gherkin-2.9.3.gem
686
687
  - vendor/cache/gyoku-0.4.4.gem
687
688
  - vendor/cache/hike-1.2.1.gem
688
689
  - vendor/cache/httpi-0.9.6.gem
689
690
  - vendor/cache/i18n-0.6.0.gem
690
691
  - vendor/cache/jettywrapper-1.2.1.gem
691
692
  - vendor/cache/journey-1.0.3.gem
692
- - vendor/cache/json-1.6.5.gem
693
+ - vendor/cache/json-1.6.6.gem
693
694
  - vendor/cache/kaminari-0.13.0.gem
694
695
  - vendor/cache/logger-1.2.8.gem
695
696
  - vendor/cache/mail-2.4.4.gem
696
697
  - vendor/cache/marc-0.4.4.gem
697
698
  - vendor/cache/mediashelf-loggable-0.4.9.gem
698
699
  - vendor/cache/metaclass-0.0.1.gem
699
- - vendor/cache/mime-types-1.17.2.gem
700
+ - vendor/cache/mime-types-1.18.gem
700
701
  - vendor/cache/mocha-0.10.5.gem
701
- - vendor/cache/multi_json-1.1.0.gem
702
+ - vendor/cache/multi_json-1.2.0.gem
702
703
  - vendor/cache/multipart-post-1.1.2.gem
703
704
  - vendor/cache/nokogiri-1.5.2.gem
704
705
  - vendor/cache/nori-1.1.0.gem
705
- - vendor/cache/om-1.6.0.rc3.gem
706
+ - vendor/cache/om-1.6.0.gem
706
707
  - vendor/cache/orm_adapter-0.0.7.gem
707
708
  - vendor/cache/polyglot-0.3.3.gem
708
709
  - vendor/cache/rack-1.4.1.gem
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file