hyrax 2.9.2 → 2.9.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +9 -9
- data/.regen +1 -1
- data/README.md +2 -2
- data/app/assets/javascripts/hyrax/skip_to_content.js +1 -1
- data/app/controllers/concerns/hyrax/works_controller_behavior.rb +5 -3
- data/app/controllers/hyrax/file_sets_controller.rb +6 -1
- data/app/models/concerns/hyrax/ability.rb +1 -1
- data/app/models/concerns/hyrax/solr_document/characterization.rb +1 -1
- data/app/services/hyrax/collection_types/permissions_service.rb +3 -3
- data/app/services/hyrax/collections/permissions_service.rb +1 -1
- data/app/services/hyrax/contextual_path.rb +1 -1
- data/app/views/catalog/_search_form.html.erb +2 -2
- data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
- data/app/views/hyrax/base/_form_visibility_error.html.erb +2 -0
- data/app/views/hyrax/base/_show_actions.html.erb +1 -1
- data/app/views/hyrax/batch_uploads/_form.html.erb +1 -1
- data/hyrax.gemspec +1 -1
- data/lib/generators/hyrax/install_generator.rb +1 -1
- data/lib/generators/hyrax/templates/catalog_controller.rb +4 -0
- data/lib/hyrax/version.rb +1 -1
- data/lib/hyrax.rb +1 -0
- data/template.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eef9eee3ec09eb7e1d4ce28266b7a925c1d7a8b71a91c2d73241582c8023f6da
|
4
|
+
data.tar.gz: 10cd6ddbec25e1e76fb178eb6f58afd65e3d84567ffef55b370cc459424d0c75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e626a4775a4d33d8a73bd758c24975884a54a3dddcfa5b4e4f25e454b68f3ea47f2414e16fe8dab6389f869810e67afc36a40a85861cde73c13c43f0e512818
|
7
|
+
data.tar.gz: 550869d00a885866fc5995e36982b862822c0325c2ab0a541e7902fb0b4d78cb7808f231ea330507d06de56e5ae0c3a428ef94600598074219c68415d89e3133
|
data/.circleci/config.yml
CHANGED
@@ -12,7 +12,7 @@ jobs:
|
|
12
12
|
default: 1.17.3
|
13
13
|
rails_version:
|
14
14
|
type: string
|
15
|
-
default: '5.2.
|
15
|
+
default: '5.2.6'
|
16
16
|
executor:
|
17
17
|
name: 'samvera/ruby'
|
18
18
|
ruby_version: << parameters.ruby_version >>
|
@@ -57,7 +57,7 @@ jobs:
|
|
57
57
|
default: 1.17.3
|
58
58
|
rails_version:
|
59
59
|
type: string
|
60
|
-
default: '5.2.
|
60
|
+
default: '5.2.6'
|
61
61
|
executor:
|
62
62
|
name: 'samvera/ruby'
|
63
63
|
ruby_version: << parameters.ruby_version >>
|
@@ -101,7 +101,7 @@ jobs:
|
|
101
101
|
- attach_workspace:
|
102
102
|
at: ~/
|
103
103
|
- samvera/install_solr_core:
|
104
|
-
solr_config_path: .internal_test_app/solr/
|
104
|
+
solr_config_path: .internal_test_app/solr/conf
|
105
105
|
# Rerun bundler in case this is a different ruby version than bundle and build steps
|
106
106
|
- samvera/bundle_for_gem:
|
107
107
|
ruby_version: << parameters.ruby_version >>
|
@@ -136,10 +136,10 @@ workflows:
|
|
136
136
|
jobs:
|
137
137
|
- bundle:
|
138
138
|
ruby_version: "2.5.8"
|
139
|
-
rails_version: "5.2.
|
139
|
+
rails_version: "5.2.6"
|
140
140
|
- build:
|
141
141
|
ruby_version: "2.5.8"
|
142
|
-
rails_version: "5.2.
|
142
|
+
rails_version: "5.2.6"
|
143
143
|
requires:
|
144
144
|
- bundle
|
145
145
|
- test:
|
@@ -151,10 +151,10 @@ workflows:
|
|
151
151
|
jobs:
|
152
152
|
- bundle:
|
153
153
|
ruby_version: "2.6.6"
|
154
|
-
rails_version: "5.2.
|
154
|
+
rails_version: "5.2.6"
|
155
155
|
- build:
|
156
156
|
ruby_version: "2.6.6"
|
157
|
-
rails_version: "5.2.
|
157
|
+
rails_version: "5.2.6"
|
158
158
|
requires:
|
159
159
|
- bundle
|
160
160
|
- test:
|
@@ -166,11 +166,11 @@ workflows:
|
|
166
166
|
jobs:
|
167
167
|
- bundle:
|
168
168
|
ruby_version: "2.7.1"
|
169
|
-
rails_version: "5.2.
|
169
|
+
rails_version: "5.2.6"
|
170
170
|
bundler_version: "2.1.2"
|
171
171
|
- build:
|
172
172
|
ruby_version: "2.7.1"
|
173
|
-
rails_version: "5.2.
|
173
|
+
rails_version: "5.2.6"
|
174
174
|
bundler_version: "2.1.2"
|
175
175
|
requires:
|
176
176
|
- bundle
|
data/.regen
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3
|
1
|
+
3.http_method
|
data/README.md
CHANGED
@@ -63,7 +63,7 @@ The Samvera community is here to help. Please see our [support guide](./.github/
|
|
63
63
|
# Getting started
|
64
64
|
|
65
65
|
This document contains instructions specific to setting up an app with __Hyrax
|
66
|
-
v2.
|
66
|
+
v2.9.6__. If you are looking for instructions on installing a different
|
67
67
|
version, be sure to select the appropriate branch or tag from the drop-down
|
68
68
|
menu above.
|
69
69
|
|
@@ -158,7 +158,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
|
|
158
158
|
Generate a new Rails application using the template.
|
159
159
|
|
160
160
|
```
|
161
|
-
rails _5.2.
|
161
|
+
rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v2.9.6/template.rb
|
162
162
|
```
|
163
163
|
|
164
164
|
Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
|
@@ -4,7 +4,7 @@ Blacklight.onLoad(function () {
|
|
4
4
|
$(".skip-to-content").click(function(event) {
|
5
5
|
event.preventDefault();
|
6
6
|
// element to focus on
|
7
|
-
|
7
|
+
var skipTo = '#' + $(this)[0].firstElementChild.hash.split('#')[1];
|
8
8
|
|
9
9
|
// Setting 'tabindex' to -1 takes an element out of normal
|
10
10
|
// tab flow but allows it to be focused via javascript
|
@@ -10,11 +10,12 @@ module Hyrax
|
|
10
10
|
with_themed_layout :decide_layout
|
11
11
|
copy_blacklight_config_from(::CatalogController)
|
12
12
|
|
13
|
-
class_attribute :_curation_concern_type, :show_presenter, :work_form_service, :search_builder_class
|
13
|
+
class_attribute :_curation_concern_type, :show_presenter, :work_form_service, :search_builder_class
|
14
|
+
class_attribute :iiif_manifest_builder, instance_accessor: false
|
14
15
|
self.show_presenter = Hyrax::WorkShowPresenter
|
15
16
|
self.work_form_service = Hyrax::WorkFormService
|
16
17
|
self.search_builder_class = WorkSearchBuilder
|
17
|
-
self.iiif_manifest_builder =
|
18
|
+
self.iiif_manifest_builder = nil
|
18
19
|
attr_accessor :curation_concern
|
19
20
|
helper_method :curation_concern, :contextual_path
|
20
21
|
|
@@ -140,7 +141,8 @@ module Hyrax
|
|
140
141
|
private
|
141
142
|
|
142
143
|
def iiif_manifest_builder
|
143
|
-
self.class.iiif_manifest_builder
|
144
|
+
self.class.iiif_manifest_builder ||
|
145
|
+
(Flipflop.cache_work_iiif_manifest? ? Hyrax::CachingIiifManifestBuilder.new : Hyrax::ManifestBuilderService.new)
|
144
146
|
end
|
145
147
|
|
146
148
|
def iiif_manifest_presenter
|
@@ -85,13 +85,18 @@ module Hyrax
|
|
85
85
|
actor.revert_content(params[:revision])
|
86
86
|
elsif params.key?(:file_set)
|
87
87
|
if params[:file_set].key?(:files)
|
88
|
-
actor.update_content(
|
88
|
+
actor.update_content(uploaded_file_from_path)
|
89
89
|
else
|
90
90
|
update_metadata
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
|
+
def uploaded_file_from_path
|
96
|
+
uploaded_file = CarrierWave::SanitizedFile.new(params[:file_set][:files].first)
|
97
|
+
Hyrax::UploadedFile.create(user_id: current_user.id, file: uploaded_file)
|
98
|
+
end
|
99
|
+
|
95
100
|
def after_update_response
|
96
101
|
respond_to do |wants|
|
97
102
|
wants.html do
|
@@ -73,7 +73,7 @@ module Hyrax
|
|
73
73
|
ids = PermissionTemplateAccess.for_user(ability: self,
|
74
74
|
access: ['deposit', 'manage'])
|
75
75
|
.joins(:permission_template)
|
76
|
-
.pluck('DISTINCT source_id')
|
76
|
+
.pluck(Arel.sql('DISTINCT source_id'))
|
77
77
|
query = "_query_:\"{!raw f=has_model_ssim}AdminSet\" AND {!terms f=id}#{ids.join(',')}"
|
78
78
|
ActiveFedora::SolrService.count(query).positive?
|
79
79
|
end
|
@@ -13,7 +13,7 @@ module Hyrax
|
|
13
13
|
# If calling from Abilities, pass the ability. If you try to get the ability from the user, you end up in an infinit loop.
|
14
14
|
def self.collection_type_ids_for_user(roles:, user: nil, ability: nil)
|
15
15
|
return false unless user.present? || ability.present?
|
16
|
-
return Hyrax::CollectionType.all.pluck('DISTINCT id') if user_admin?(user, ability)
|
16
|
+
return Hyrax::CollectionType.all.pluck(Arel.sql('DISTINCT id')) if user_admin?(user, ability)
|
17
17
|
Hyrax::CollectionTypeParticipant.where(agent_type: Hyrax::CollectionTypeParticipant::USER_TYPE,
|
18
18
|
agent_id: user_id(user, ability),
|
19
19
|
access: roles)
|
@@ -21,7 +21,7 @@ module Hyrax
|
|
21
21
|
Hyrax::CollectionTypeParticipant.where(agent_type: Hyrax::CollectionTypeParticipant::GROUP_TYPE,
|
22
22
|
agent_id: user_groups(user, ability),
|
23
23
|
access: roles)
|
24
|
-
).pluck('DISTINCT hyrax_collection_type_id')
|
24
|
+
).pluck(Arel.sql('DISTINCT hyrax_collection_type_id'))
|
25
25
|
end
|
26
26
|
|
27
27
|
# @api public
|
@@ -174,7 +174,7 @@ module Hyrax
|
|
174
174
|
def self.agent_ids_for(collection_type:, agent_type:, access:)
|
175
175
|
Hyrax::CollectionTypeParticipant.where(hyrax_collection_type_id: collection_type.id,
|
176
176
|
agent_type: agent_type,
|
177
|
-
access: access).pluck('DISTINCT agent_id')
|
177
|
+
access: access).pluck(Arel.sql('DISTINCT agent_id'))
|
178
178
|
end
|
179
179
|
private_class_method :agent_ids_for
|
180
180
|
|
@@ -13,7 +13,7 @@ module Hyrax
|
|
13
13
|
def self.source_ids_for_user(access:, ability:, source_type: nil, exclude_groups: [])
|
14
14
|
scope = PermissionTemplateAccess.for_user(ability: ability, access: access, exclude_groups: exclude_groups)
|
15
15
|
.joins(:permission_template)
|
16
|
-
ids = scope.pluck('DISTINCT source_id')
|
16
|
+
ids = scope.pluck(Arel.sql('DISTINCT source_id'))
|
17
17
|
return ids unless source_type
|
18
18
|
filter_source(source_type: source_type, ids: ids)
|
19
19
|
end
|
@@ -10,7 +10,7 @@ module Hyrax
|
|
10
10
|
|
11
11
|
def show
|
12
12
|
if parent_presenter
|
13
|
-
polymorphic_path([:hyrax, :parent, presenter.model_name.singular],
|
13
|
+
polymorphic_path([:hyrax, :parent, presenter.model_name.singular.to_sym],
|
14
14
|
parent_id: parent_presenter.id,
|
15
15
|
id: presenter.id)
|
16
16
|
else
|
@@ -35,9 +35,9 @@
|
|
35
35
|
<%= link_to t("hyrax.search.form.option.my_collections.label_long"), "#",
|
36
36
|
data: { "search-option" => hyrax.my_collections_path, "search-label" => t("hyrax.search.form.option.my_collections.label_short") } %>
|
37
37
|
</li>
|
38
|
-
|
38
|
+
</ul>
|
39
|
+
<% end %>
|
39
40
|
|
40
|
-
</ul>
|
41
41
|
</div><!-- /.input-group-btn -->
|
42
42
|
</div><!-- /.input-group -->
|
43
43
|
|
@@ -24,7 +24,7 @@ HTML Properties:
|
|
24
24
|
</div>
|
25
25
|
<div class="message has-warning hidden"></div>
|
26
26
|
<div style="margin-top: 10px">
|
27
|
-
<%= link_to t('.attach_new_work'), polymorphic_path([main_app, :new, :hyrax, :parent, curation_concern.model_name.singular], parent_id: curation_concern.id), target: "_blank", class: 'btn btn-primary' %>
|
27
|
+
<%= link_to t('.attach_new_work'), polymorphic_path([main_app, :new, :hyrax, :parent, curation_concern.model_name.singular.to_sym], parent_id: curation_concern.id), target: "_blank", class: 'btn btn-primary' %>
|
28
28
|
</div>
|
29
29
|
<table class="table table-striped">
|
30
30
|
<caption><%= t('.caption') %></caption>
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<ul class="dropdown-menu">
|
16
16
|
<% presenter.valid_child_concerns.each do |concern| %>
|
17
17
|
<li>
|
18
|
-
<%= link_to "Attach #{concern.human_readable_type}", polymorphic_path([main_app, :new, :hyrax, :parent, concern.model_name.singular], parent_id: presenter.id) %>
|
18
|
+
<%= link_to "Attach #{concern.human_readable_type}", polymorphic_path([main_app, :new, :hyrax, :parent, concern.model_name.singular.to_sym], parent_id: presenter.id) %>
|
19
19
|
</li>
|
20
20
|
<% end %>
|
21
21
|
</ul>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<% provide :files_tab do %>
|
8
8
|
<p class="instructions"><%= t("hyrax.batch_uploads.files.instructions") %></p>
|
9
9
|
<p class="switch-upload-type"><%= t("hyrax.batch_uploads.files.upload_type_instructions") %>
|
10
|
-
<%= link_to t("hyrax.batch_uploads.files.button_label"), [main_app, :new, Hyrax.primary_work_type.model_name.singular_route_key] %>
|
10
|
+
<%= link_to t("hyrax.batch_uploads.files.button_label"), [main_app, :new, Hyrax.primary_work_type.model_name.singular_route_key.to_sym] %>
|
11
11
|
</p>
|
12
12
|
<% end %>
|
13
13
|
<%= render 'hyrax/base/guts4form', f: f, tabs: form_tabs_for(form: f.object) %>
|
data/hyrax.gemspec
CHANGED
@@ -30,7 +30,7 @@ SUMMARY
|
|
30
30
|
# http://guides.rubyonrails.org/maintenance_policy.html
|
31
31
|
spec.add_dependency 'rails', '~> 5.0'
|
32
32
|
|
33
|
-
spec.add_dependency 'active-fedora', '>= 11.5.2', '<
|
33
|
+
spec.add_dependency 'active-fedora', '>= 11.5.2', '< 13'
|
34
34
|
spec.add_dependency 'almond-rails', '~> 0.1'
|
35
35
|
spec.add_dependency 'awesome_nested_set', '~> 3.1'
|
36
36
|
spec.add_dependency 'blacklight', '~> 6.14'
|
@@ -34,7 +34,7 @@ module Hyrax
|
|
34
34
|
|
35
35
|
def run_required_generators
|
36
36
|
say_status('info', '[Hyrax] GENERATING BLACKLIGHT', :blue)
|
37
|
-
generate 'blacklight:install --devise'
|
37
|
+
generate 'blacklight:install --devise --skip-solr'
|
38
38
|
say_status('info', '[Hyrax] GENERATING HYDRA-HEAD', :blue)
|
39
39
|
generate 'hydra:head -f'
|
40
40
|
generate "hyrax:models#{options[:force] ? ' -f' : ''}"
|
@@ -20,6 +20,10 @@ class CatalogController < ApplicationController
|
|
20
20
|
config.view.gallery.partials = [:index_header, :index]
|
21
21
|
config.view.slideshow.partials = [:index]
|
22
22
|
|
23
|
+
# Because too many times on Samvera tech people raise a problem regarding a failed query to SOLR.
|
24
|
+
# Often, it's because they inadvertantly exceeded the character limit of a GET request.
|
25
|
+
config.http_method = :post
|
26
|
+
|
23
27
|
## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
|
24
28
|
config.default_solr_params = {
|
25
29
|
qt: "search",
|
data/lib/hyrax/version.rb
CHANGED
data/lib/hyrax.rb
CHANGED
data/template.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyrax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.9.
|
4
|
+
version: 2.9.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2021-
|
17
|
+
date: 2021-09-10 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: rails
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: 11.5.2
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '13'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +49,7 @@ dependencies:
|
|
49
49
|
version: 11.5.2
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
52
|
+
version: '13'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: almond-rails
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -2473,7 +2473,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2473
2473
|
- !ruby/object:Gem::Version
|
2474
2474
|
version: '0'
|
2475
2475
|
requirements: []
|
2476
|
-
rubygems_version: 3.1.
|
2476
|
+
rubygems_version: 3.1.6
|
2477
2477
|
signing_key:
|
2478
2478
|
specification_version: 4
|
2479
2479
|
summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
|