sufia 6.0.0.rc1 → 6.0.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: 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