sufia 6.0.0.rc1 → 6.0.0.rc2

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
  SHA1:
3
- metadata.gz: 23a8aa646f0192a0e3637c499d513f8ee363f128
4
- data.tar.gz: 7d98159bb2f6b95131dc290c271a53e62e18a043
3
+ metadata.gz: 66e90cd7b7ad05dfa098aeaa54478231dadb82e7
4
+ data.tar.gz: ad0c57d24b26850de77ee710268983018abe0bca
5
5
  SHA512:
6
- metadata.gz: 329dd1e4e2580887878b25c14f8dc7553de38dd570da8ff66e37739e853a8d074524e4de8c31afda32e0140591633a256ecd3f173e1da4ff6c8c91dc0252bdd0
7
- data.tar.gz: eea2cc4345bbd3c245d6c638cf8442151cc89e68d88de0957cadabf4444248dbcdcac17c7caab02fafa3b583cb8bab1c11c0b676a37efaa2c61edfe52bba876a
6
+ metadata.gz: e579cba46ffd2ed1e926e4b0948b7871cd768e22670338f9ffd5cb707e801df5e48be5b8859963675f55511630daac955e6a1e3e682b5ea542932d51fed059a1
7
+ data.tar.gz: 098a5f9024a5948189286035b180e8778de2bb2fc051929931f0fceb400633b94f11e9a6fa365691fd18c809a75db21e98ba86249bab6ad28e6c7406c6a026e7
data/README.md CHANGED
@@ -48,7 +48,8 @@ We'd love to accept your contributions. Please see our guide to [contributing t
48
48
  1. A SQL RDBMS (MySQL, SQLite)
49
49
  1. [Redis](http://redis.io/) key-value store
50
50
  1. [ImageMagick](http://www.imagemagick.org/)
51
- 1. Ruby
51
+ 1. Ruby (*latest 2.1 recommended*)
52
+ 2. Rails (*latest 4.1 recommended*)
52
53
 
53
54
  #### !! Ensure that you have all of the above components installed before you continue. !!
54
55
 
@@ -60,12 +61,15 @@ If you have questions or need help, please email [the Hydra community developmen
60
61
 
61
62
  ### Generate base Rails install
62
63
 
63
- ```rails new my_app```
64
+ ```
65
+ gem install rails -v 4.1.8
66
+ rails new my_app
67
+ ```
64
68
 
65
69
  ### Add gems to Gemfile
66
70
 
67
71
  ```
68
- gem 'sufia'
72
+ gem 'sufia', '6.0.0.rc1'
69
73
  gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype' # required to handle pagination properly in dashboard. See https://github.com/amatsuda/kaminari/pull/322
70
74
  ```
71
75
 
data/SUFIA_VERSION CHANGED
@@ -1 +1 @@
1
- 6.0.0.rc1
1
+ 6.0.0.rc2
@@ -41,7 +41,6 @@ h4 .small {
41
41
  }
42
42
 
43
43
  .file_listing_thumbnail {
44
- @extend .media-object;
45
44
  width: 64px;
46
45
  }
47
46
 
@@ -167,4 +166,4 @@ input#check_all {
167
166
  font-size: .75em;
168
167
  display: block;
169
168
  width: 30em;
170
- }
169
+ }
@@ -1,61 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  class CollectionsController < ApplicationController
3
- include Hydra::CollectionsControllerBehavior
4
- include Blacklight::Catalog::SearchContext
5
- include BlacklightAdvancedSearch::ParseBasicQ
6
- include BlacklightAdvancedSearch::Controller
7
- include Sufia::Breadcrumbs
8
- prepend_before_filter :normalize_identifier, except: [:index, :create, :new]
9
- before_filter :filter_docs_with_read_access!, except: :show
10
- before_filter :has_access?, except: :show
11
- before_filter :initialize_fields_for_edit, only: [:edit, :new]
12
- before_filter :build_breadcrumbs, only: [:edit, :show]
13
- CollectionsController.solr_search_params_logic += [:add_access_controls_to_solr_params]
14
-
15
- layout "sufia-one-column"
16
-
17
- def show
18
- super
19
- @presenter = presenter
20
- end
21
-
22
- protected
23
-
24
- def presenter
25
- Sufia::CollectionPresenter.new(@collection)
26
- end
27
-
28
- def collection_params
29
- params.require(:collection).permit(:title, :description, :members, part_of: [],
30
- contributor: [], creator: [], publisher: [], date_created: [], subject: [],
31
- language: [], rights: [], resource_type: [], identifier: [], based_near: [],
32
- tag: [], related_url: [])
33
- end
34
-
35
- def query_collection_members
36
- flash[:notice]=nil if flash[:notice] == "Select something first"
37
- query = params[:cq]
38
-
39
- #merge in the user parameters and the attach the collection query
40
- solr_params = (params.symbolize_keys).merge(q: query)
41
-
42
- # run the solr query to find the collections
43
- (@response, @member_docs) = get_search_results(solr_params)
44
- end
45
-
46
- def after_destroy(id)
47
- respond_to do |format|
48
- format.html { redirect_to sufia.dashboard_collections_path, notice: 'Collection was successfully deleted.' }
49
- format.json { render json: {id: id}, status: :destroyed, location: @collection }
50
- end
51
- end
52
-
53
- def initialize_fields_for_edit
54
- @form = Sufia::Forms::CollectionEditForm.new(@collection)
55
- end
56
-
57
- def _prefixes
58
- @_prefixes ||= super + ['catalog']
59
- end
60
-
2
+ include Sufia::CollectionsControllerBehavior
61
3
  end
@@ -0,0 +1,84 @@
1
+ module Sufia
2
+ module CollectionsControllerBehavior
3
+ extend ActiveSupport::Concern
4
+ include Hydra::CollectionsControllerBehavior
5
+
6
+ included do
7
+ include Blacklight::Catalog::SearchContext
8
+ include BlacklightAdvancedSearch::ParseBasicQ
9
+ include BlacklightAdvancedSearch::Controller
10
+ include Sufia::Breadcrumbs
11
+
12
+ prepend_before_filter :normalize_identifier, except: [:index, :create, :new]
13
+ before_filter :filter_docs_with_read_access!, except: :show
14
+ before_filter :has_access?, except: :show
15
+ before_filter :build_breadcrumbs, only: [:edit, :show]
16
+
17
+ self.solr_search_params_logic += [:add_access_controls_to_solr_params]
18
+
19
+ layout "sufia-one-column"
20
+ end
21
+
22
+ def new
23
+ super
24
+ form
25
+ end
26
+
27
+ def edit
28
+ super
29
+ form
30
+ end
31
+
32
+ def show
33
+ super
34
+ presenter
35
+ end
36
+
37
+ protected
38
+
39
+ def presenter
40
+ @presenter ||= presenter_class.new(@collection)
41
+ end
42
+
43
+ def presenter_class
44
+ Sufia::CollectionPresenter
45
+ end
46
+
47
+ def collection_params
48
+ params.require(:collection).permit(:title, :description, :members, part_of: [],
49
+ contributor: [], creator: [], publisher: [], date_created: [], subject: [],
50
+ language: [], rights: [], resource_type: [], identifier: [], based_near: [],
51
+ tag: [], related_url: [])
52
+ end
53
+
54
+ def query_collection_members
55
+ flash[:notice]=nil if flash[:notice] == "Select something first"
56
+ query = params[:cq]
57
+
58
+ #merge in the user parameters and the attach the collection query
59
+ solr_params = (params.symbolize_keys).merge(q: query)
60
+
61
+ # run the solr query to find the collections
62
+ (@response, @member_docs) = get_search_results(solr_params)
63
+ end
64
+
65
+ def after_destroy(id)
66
+ respond_to do |format|
67
+ format.html { redirect_to sufia.dashboard_collections_path, notice: 'Collection was successfully deleted.' }
68
+ format.json { render json: {id: id}, status: :destroyed, location: @collection }
69
+ end
70
+ end
71
+
72
+ def form
73
+ @form ||= form_class.new(@collection)
74
+ end
75
+
76
+ def form_class
77
+ Sufia::Forms::CollectionEditForm
78
+ end
79
+
80
+ def _prefixes
81
+ @_prefixes ||= super + ['catalog']
82
+ end
83
+ end
84
+ end
@@ -14,7 +14,7 @@ class SelectWithModalHelpInput < MultiValueWithHelpInput
14
14
  end
15
15
  end
16
16
 
17
- def build_text_field(value)
17
+ def build_field(value, index)
18
18
  html_options = input_html_options.dup
19
19
 
20
20
  if @rendered_first_element
@@ -5,7 +5,7 @@
5
5
  <p>v.<%= Sufia::VERSION %></p>
6
6
  </div>
7
7
  <div class="col-xs-12 col-sm-7">
8
- <p><strong>Copyright &copy; 2013 Project Hydra</strong> Licensed under the Apache License, Version 2.0</p>
8
+ <p><%= t('sufia.footer.copyright_html') %></p>
9
9
  <p><%= t('sufia.background_attribution') %></p>
10
10
  </div>
11
11
  </div><!-- /footer -->
@@ -11,7 +11,7 @@
11
11
  </td>
12
12
  <td>
13
13
  <div class="media">
14
- <%= link_to sufia.generic_file_path(document), class: "pull-left" do %>
14
+ <%= link_to sufia.generic_file_path(document), class: "media-left" do %>
15
15
  <%= render_thumbnail_tag document, { class: "hidden-xs file_listing_thumbnail" }, { suppress_link: true } %>
16
16
  <% end %>
17
17
  <div class="media-body">
@@ -13,7 +13,7 @@
13
13
  </td>
14
14
  <td>
15
15
  <div class="media">
16
- <%= link_to sufia.generic_file_path(document), class: "pull-left", "aria-hidden" => true do %>
16
+ <%= link_to sufia.generic_file_path(document), class: "media-left", "aria-hidden" => true do %>
17
17
  <%= render_thumbnail_tag document, { class: "hidden-xs file_listing_thumbnail" }, { suppress_link: true } %>
18
18
  <% end %>
19
19
  <div class="media-body">
@@ -150,6 +150,8 @@ en:
150
150
  delete: 'Delete Message'
151
151
  generic_file:
152
152
  browse_view: "Browse View"
153
+ footer:
154
+ copyright_html: "<strong>Copyright &copy; 2015 Project Hydra</strong> Licensed under the Apache License, Version 2.0"
153
155
 
154
156
  simple_form:
155
157
  labels:
data/lib/sufia/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sufia
2
- VERSION = "6.0.0.rc1"
2
+ VERSION = "6.0.0.rc2"
3
3
  end
@@ -28,6 +28,11 @@ describe User, :type => :model do
28
28
  expect(user).to be_valid
29
29
  expect(user.save).to be true
30
30
  end
31
+ it 'saves when an ORCID with a non-numeric check digit is provided' do
32
+ user.orcid = 'http://orcid.org/0000-0000-1111-222X'
33
+ expect(user).to be_valid
34
+ expect(user.save).to be true
35
+ end
31
36
  it 'saves when a valid ORCID URI is supplied' do
32
37
  user.orcid = 'http://orcid.org/0000-0000-1111-2222'
33
38
  expect(user).to be_valid
@@ -44,7 +44,7 @@ module Sufia::User
44
44
  # 2. the orcid field is blank
45
45
  # 3. the orcid is already in its normalized form
46
46
  return if self.errors[:orcid].first.present? || self.orcid.blank? || self.orcid.starts_with?('http://orcid.org/')
47
- bare_orcid = /\d{4}-\d{4}-\d{4}-\d{4}/.match(self.orcid).string
47
+ bare_orcid = Sufia::OrcidValidator.match(self.orcid).string
48
48
  self.orcid = "http://orcid.org/#{bare_orcid}"
49
49
  end
50
50
 
@@ -2,7 +2,11 @@ module Sufia
2
2
  class OrcidValidator < ActiveModel::Validator
3
3
  def validate(record)
4
4
  return if record.orcid.blank?
5
- record.errors.add(:orcid, 'must be a string of 19 characters, e.g., "0000-0000-0000-0000"') unless /\d{4}-\d{4}-\d{4}-\d{4}/.match(record.orcid)
5
+ record.errors.add(:orcid, 'must be a string of 19 characters, e.g., "0000-0000-0000-0000"') unless self.class.match(record.orcid)
6
+ end
7
+
8
+ def self.match(string)
9
+ /\d{4}-\d{4}-\d{4}-\d{3}[\dX]/.match(string)
6
10
  end
7
11
  end
8
12
  end
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "6.0.0.rc1"
3
+ VERSION = "6.0.0.rc2"
4
4
  end
5
5
  end
@@ -29,8 +29,8 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency 'rails', '~> 4.0', '< 5.0.0'
30
30
  spec.add_dependency 'activeresource', "~> 4.0" # No longer a dependency of rails 4.0
31
31
 
32
- spec.add_dependency "hydra-head", "~> 9.0.0.rc2"
33
- spec.add_dependency "active-fedora", "~> 9.0.0.rc2"
32
+ spec.add_dependency "hydra-head", "~> 9.0.0.rc3"
33
+ spec.add_dependency "active-fedora", "~> 9.0.0.rc3"
34
34
  spec.add_dependency "hydra-collections", "~> 4.0.0.rc2"
35
35
  spec.add_dependency 'hydra-derivatives', '~> 1.0.0.rc1'
36
36
  spec.add_dependency 'nest', '~> 1.1'
data/sufia.gemspec CHANGED
@@ -28,14 +28,14 @@ Gem::Specification.new do |gem|
28
28
  # declare a dependency on) sass-rails
29
29
  gem.add_dependency 'sass-rails'
30
30
 
31
- gem.add_dependency 'hydra-batch-edit', '>= 1.1.1', '< 2.0.0'
31
+ gem.add_dependency 'hydra-batch-edit', '~> 1.1'
32
32
  gem.add_dependency 'browse-everything', '~> 0.4'
33
33
  gem.add_dependency 'daemons', '~> 1.1'
34
34
  gem.add_dependency 'mail_form'
35
35
  gem.add_dependency 'rails_autolink', '~> 1.1'
36
36
  gem.add_dependency 'yaml_db', '~> 0.2'
37
37
  gem.add_dependency 'font-awesome-rails'
38
- gem.add_dependency 'hydra-editor', '~> 1.0.0.rc2'
38
+ gem.add_dependency 'hydra-editor', '~> 1.0.0.rc3'
39
39
  gem.add_dependency 'blacklight-gallery'
40
40
  gem.add_dependency 'breadcrumbs_on_rails', '~>2.3.0'
41
41
  gem.add_dependency 'select2-rails'
data/tasks/sufia-dev.rake CHANGED
@@ -3,7 +3,6 @@ require 'rspec/core/rake_task'
3
3
  RSpec::Core::RakeTask.new(:spec)
4
4
 
5
5
  require 'jettywrapper'
6
- Jettywrapper.hydra_jetty_version = "v8.1.1"
7
6
 
8
7
  require 'engine_cart/rake_task'
9
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.rc1
4
+ version: 6.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-07 00:00:00.000000000 Z
12
+ date: 2015-01-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sufia-models
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 6.0.0.rc1
20
+ version: 6.0.0.rc2
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 6.0.0.rc1
27
+ version: 6.0.0.rc2
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: blacklight_advanced_search
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -99,22 +99,16 @@ dependencies:
99
99
  name: hydra-batch-edit
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: 1.1.1
105
- - - "<"
102
+ - - "~>"
106
103
  - !ruby/object:Gem::Version
107
- version: 2.0.0
104
+ version: '1.1'
108
105
  type: :runtime
109
106
  prerelease: false
110
107
  version_requirements: !ruby/object:Gem::Requirement
111
108
  requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: 1.1.1
115
- - - "<"
109
+ - - "~>"
116
110
  - !ruby/object:Gem::Version
117
- version: 2.0.0
111
+ version: '1.1'
118
112
  - !ruby/object:Gem::Dependency
119
113
  name: browse-everything
120
114
  requirement: !ruby/object:Gem::Requirement
@@ -205,14 +199,14 @@ dependencies:
205
199
  requirements:
206
200
  - - "~>"
207
201
  - !ruby/object:Gem::Version
208
- version: 1.0.0.rc2
202
+ version: 1.0.0.rc3
209
203
  type: :runtime
210
204
  prerelease: false
211
205
  version_requirements: !ruby/object:Gem::Requirement
212
206
  requirements:
213
207
  - - "~>"
214
208
  - !ruby/object:Gem::Version
215
- version: 1.0.0.rc2
209
+ version: 1.0.0.rc3
216
210
  - !ruby/object:Gem::Dependency
217
211
  name: blacklight-gallery
218
212
  requirement: !ruby/object:Gem::Requirement
@@ -545,6 +539,7 @@ files:
545
539
  - app/controllers/concerns/sufia/batch_edits_controller_behavior.rb
546
540
  - app/controllers/concerns/sufia/breadcrumbs.rb
547
541
  - app/controllers/concerns/sufia/catalog.rb
542
+ - app/controllers/concerns/sufia/collections_controller_behavior.rb
548
543
  - app/controllers/concerns/sufia/contact_form_controller_behavior.rb
549
544
  - app/controllers/concerns/sufia/controller.rb
550
545
  - app/controllers/concerns/sufia/dashboard_controller_behavior.rb