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 +4 -4
- data/README.md +7 -3
- data/SUFIA_VERSION +1 -1
- data/app/assets/stylesheets/sufia/_file-listing.scss +1 -2
- data/app/controllers/collections_controller.rb +1 -59
- data/app/controllers/concerns/sufia/collections_controller_behavior.rb +84 -0
- data/app/inputs/select_with_modal_help_input.rb +1 -1
- data/app/views/_footer.html.erb +1 -1
- data/app/views/collections/_show_document_list_row.html.erb +1 -1
- data/app/views/my/_index_partials/_list_files.html.erb +1 -1
- data/config/locales/sufia.en.yml +2 -0
- data/lib/sufia/version.rb +1 -1
- data/spec/models/user_spec.rb +5 -0
- data/sufia-models/app/models/concerns/sufia/user.rb +1 -1
- data/sufia-models/app/models/sufia/orcid_validator.rb +5 -1
- data/sufia-models/lib/sufia/models/version.rb +1 -1
- data/sufia-models/sufia-models.gemspec +2 -2
- data/sufia.gemspec +2 -2
- data/tasks/sufia-dev.rake +0 -1
- metadata +11 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66e90cd7b7ad05dfa098aeaa54478231dadb82e7
|
4
|
+
data.tar.gz: ad0c57d24b26850de77ee710268983018abe0bca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
```
|
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.
|
1
|
+
6.0.0.rc2
|
@@ -1,61 +1,3 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
class CollectionsController < ApplicationController
|
3
|
-
include
|
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
|
data/app/views/_footer.html.erb
CHANGED
@@ -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
|
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: "
|
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: "
|
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">
|
data/config/locales/sufia.en.yml
CHANGED
data/lib/sufia/version.rb
CHANGED
data/spec/models/user_spec.rb
CHANGED
@@ -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 =
|
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
|
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
|
@@ -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.
|
33
|
-
spec.add_dependency "active-fedora", "~> 9.0.0.
|
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', '
|
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.
|
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
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.
|
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-
|
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.
|
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.
|
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:
|
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:
|
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.
|
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.
|
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
|