hydra-head 4.0.3 → 4.1.0
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.
- data/.gitignore +1 -0
- data/HISTORY.textile +17 -2
- data/app/assets/stylesheets/hydra/html_refactor.css +3 -30
- data/app/assets/stylesheets/hydra/styles.css +6 -64
- data/app/controllers/downloads_controller.rb +1 -1
- data/app/controllers/hydra/assets_controller.rb +10 -1
- data/app/controllers/hydra/contributors_controller.rb +15 -1
- data/app/controllers/hydra/file_assets_controller.rb +1 -1
- data/app/controllers/hydra/permissions_controller.rb +14 -0
- data/app/helpers/hydra/article_metadata_helper_behavior.rb +14 -1
- data/app/helpers/hydra/downloads_helper_behavior.rb +6 -0
- data/app/helpers/hydra/facets_helper_behavior.rb +7 -0
- data/app/helpers/hydra/generic_content_objects_helper_behavior.rb +6 -0
- data/app/helpers/hydra/hydra_assets_helper_behavior.rb +10 -0
- data/app/helpers/hydra/hydra_fedora_metadata_helper_behavior.rb +31 -0
- data/app/helpers/hydra/hydra_helper_behavior.rb +18 -7
- data/app/helpers/hydra/hydra_uploader_helper_behavior.rb +5 -0
- data/app/helpers/hydra/inline_editable_metadata_helper_behavior.rb +6 -0
- data/app/helpers/hydra/javascript_includes_helper_behavior.rb +7 -0
- data/app/helpers/hydra/personalization_helper_behavior.rb +5 -0
- data/app/helpers/hydra/release_process_helper_behavior.rb +5 -0
- data/app/models/generic_content.rb +3 -0
- data/app/models/generic_image.rb +3 -0
- data/app/models/superuser.rb +4 -2
- data/app/models/user_attribute.rb +7 -2
- data/app/views/_add_assets_links.html.erb +4 -4
- data/app/views/catalog/_index_partials/_default.html.erb +2 -2
- data/app/views/catalog/show.html.erb +1 -1
- data/app/views/generic_contents/_index.html.erb +2 -2
- data/app/views/generic_images/_edit.html.erb +1 -1
- data/app/views/generic_images/_index.html.erb +2 -2
- data/app/views/hydra/file_assets/_file_assets_form.html.erb +1 -1
- data/app/views/hydra/file_assets/_index.html.erb +2 -2
- data/app/views/hydra/file_assets/_result.html.erb +1 -1
- data/app/views/layouts/hydra-head.html.erb +4 -1
- data/app/views/mods_assets/_index_list.html.erb +1 -1
- data/app/views/mods_assets/_index_table.html.erb +2 -2
- data/app/views/mods_assets/_show.html.erb +1 -1
- data/app/views/mods_assets/_show_file_assets.html.erb +1 -1
- data/config/jetty.yml +1 -1
- data/config/locales/hydra.en.yml +7 -0
- data/config/solr.yml +1 -1
- data/config/solr_mappings.yml +2 -2
- data/hydra-head.gemspec +5 -4
- data/lib/generators/hydra/head_generator.rb +6 -5
- data/lib/generators/hydra/templates/config/fedora.yml +1 -1
- data/lib/generators/hydra/templates/config/solr.yml +1 -1
- data/lib/hydra-head/version.rb +1 -1
- data/lib/hydra.rb +13 -11
- data/lib/hydra/assets.rb +5 -135
- data/lib/hydra/catalog.rb +6 -44
- data/lib/hydra/controller.rb +10 -27
- data/lib/hydra/controller/assets_controller_behavior.rb +142 -0
- data/lib/hydra/controller/catalog_controller_behavior.rb +56 -0
- data/lib/hydra/controller/controller_behavior.rb +59 -0
- data/lib/hydra/controller/file_assets_behavior.rb +142 -0
- data/lib/hydra/controller/repository_controller_behavior.rb +119 -0
- data/lib/hydra/controller/upload_behavior.rb +139 -0
- data/lib/hydra/file_assets.rb +3 -138
- data/lib/hydra/file_assets_helper.rb +6 -133
- data/lib/hydra/generic_content.rb +15 -0
- data/lib/hydra/generic_image.rb +10 -0
- data/lib/hydra/global_configurable.rb +46 -0
- data/lib/hydra/model_methods.rb +3 -3
- data/lib/hydra/model_mixins.rb +1 -1
- data/lib/hydra/model_mixins/solr_document_extension.rb +24 -0
- data/lib/hydra/repository_controller.rb +4 -95
- data/lib/hydra/ui/controller.rb +1 -2
- data/lib/hydra/user.rb +13 -1
- data/lib/railties/hydra-fixtures.rake +1 -1
- data/tasks/hydra-head.rake +2 -0
- data/{app/models → test_support/etc}/common_metadata_asset.rb +1 -2
- data/test_support/features/mods_asset_show.feature +1 -1
- data/test_support/features/support/env.rb +2 -0
- data/test_support/features/support/paths.rb +2 -0
- data/test_support/spec/controllers/catalog_controller_spec.rb +8 -0
- data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +10 -1
- data/test_support/spec/controllers/catalog_valid_html_spec.rb +8 -0
- data/test_support/spec/controllers/contributors_controller_spec.rb +10 -0
- data/test_support/spec/controllers/file_assets_controller_spec.rb +15 -3
- data/test_support/spec/controllers/hydra-assets_controller_spec.rb +11 -1
- data/test_support/spec/controllers/hydra_controller_spec.rb +15 -4
- data/test_support/spec/controllers/permissions_controller_spec.rb +8 -0
- data/test_support/spec/helpers/access_controls_enforcement_spec.rb +1 -2
- data/test_support/spec/helpers/file_assets_helper_spec.rb +1 -1
- data/test_support/spec/helpers/generic_content_objects_helper_spec.rb +10 -1
- data/test_support/spec/helpers/hydra-repository_controller_spec.rb +1 -1
- data/test_support/spec/helpers/hydra_assets_helper_spec.rb +8 -0
- data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +11 -0
- data/test_support/spec/helpers/hydra_helper_spec.rb +18 -0
- data/test_support/spec/helpers/hydra_model_methods_spec.rb +0 -12
- data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +8 -0
- data/test_support/spec/helpers/javascript_includes_helper_spec.rb +9 -1
- data/test_support/spec/lib/catalog_spec.rb +10 -3
- data/test_support/spec/lib/global_configurable_spec.rb +98 -0
- data/test_support/spec/lib/model_methods_spec.rb +29 -0
- data/test_support/spec/models/generic_content_spec.rb +11 -0
- data/test_support/spec/models/generic_image_spec.rb +15 -0
- data/test_support/spec/models/user_spec.rb +25 -0
- metadata +39 -37
- data/app/models/ability.rb +0 -5
- data/app/models/hydra/ability.rb +0 -137
- data/app/models/hydra/datastream/common_mods_index_methods.rb +0 -47
- data/app/models/hydra/datastream/mods_article.rb +0 -530
- data/app/models/hydra/datastream/mods_dataset.rb +0 -173
- data/app/models/hydra/datastream/mods_generic_content.rb +0 -498
- data/app/models/hydra/datastream/mods_image.rb +0 -497
- data/app/models/hydra/datastream/rights_metadata.rb +0 -191
- data/app/models/hydra/role_mapper_behavior.rb +0 -33
- data/app/models/role_mapper.rb +0 -6
- data/lib/hydra/access_controls_enforcement.rb +0 -237
- data/lib/hydra/access_controls_evaluation.rb +0 -38
- data/lib/hydra/common_mods_index_methods.rb +0 -46
- data/lib/hydra/model_mixins/mods_object.rb +0 -17
- data/lib/hydra/model_mixins/rights_metadata.rb +0 -357
- data/lib/hydra/mods_article.rb +0 -535
- data/lib/hydra/mods_dataset.rb +0 -177
- data/lib/hydra/mods_generic_content.rb +0 -500
- data/lib/hydra/mods_image.rb +0 -500
- data/lib/uva/mods_index_methods.rb +0 -30
- data/test_support/spec/lib/common_mods_index_methods_spec.rb +0 -26
- data/test_support/spec/models/ability_spec.rb +0 -40
- data/test_support/spec/models/hydra_rights_metadata_spec.rb +0 -175
- data/test_support/spec/models/role_mapper_spec.rb +0 -22
- data/test_support/spec/unit/rights_metadata_spec.rb +0 -80
@@ -1,4 +1,7 @@
|
|
1
|
+
require 'deprecation'
|
1
2
|
module Hydra::ReleaseProcessHelperBehavior
|
3
|
+
extend Deprecation
|
4
|
+
self.deprecation_horizon = 'hydra-head 5.x'
|
2
5
|
|
3
6
|
def display_release_status_notice(document)
|
4
7
|
readiness = document.test_release_readiness
|
@@ -14,6 +17,7 @@ module Hydra::ReleaseProcessHelperBehavior
|
|
14
17
|
flash[:error] = flash[:error] | readiness[:failures]
|
15
18
|
end
|
16
19
|
end
|
20
|
+
deprecation_deprecate :display_release_status_notice
|
17
21
|
|
18
22
|
def check_embargo_date_format
|
19
23
|
if params.keys.include? [:embargo, :embargo_release_date]
|
@@ -28,5 +32,6 @@ module Hydra::ReleaseProcessHelperBehavior
|
|
28
32
|
end
|
29
33
|
end
|
30
34
|
end
|
35
|
+
#deprecation_deprecate :check_embargo_date_format
|
31
36
|
|
32
37
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# GenericContent: EXAMPLE Model that conforms to the Hydra genericContent and genericMetadata cModels
|
2
|
+
require 'deprecation'
|
2
3
|
class GenericContent < ActiveFedora::Base
|
4
|
+
extend Deprecation
|
3
5
|
|
4
6
|
# Uses the Hydra Rights Metadata Schema for tracking access permissions & copyright
|
5
7
|
# FIXME: should this have "include Hydra::ModelMixins::CommonMetadata" instead?
|
@@ -18,6 +20,7 @@ class GenericContent < ActiveFedora::Base
|
|
18
20
|
include Hydra::ModelMethods
|
19
21
|
|
20
22
|
def initialize( attrs={} )
|
23
|
+
Deprecation.warn(GenericContent, "GenericContent is deprecated and will be removed in hydra-head 5.x")
|
21
24
|
super
|
22
25
|
end
|
23
26
|
end
|
data/app/models/generic_image.rb
CHANGED
@@ -39,8 +39,10 @@
|
|
39
39
|
# gi.has_screen?
|
40
40
|
# gi.has_thumbnail?
|
41
41
|
require 'hydra'
|
42
|
+
require 'deprecation'
|
42
43
|
|
43
44
|
class GenericImage < ActiveFedora::Base
|
45
|
+
extend Deprecation
|
44
46
|
|
45
47
|
# Uses the GenericImage mixin to conform to the Hydra genericImage cModel (auto-includes on GenericContent behaviors)
|
46
48
|
include Hydra::GenericImage
|
@@ -58,6 +60,7 @@ class GenericImage < ActiveFedora::Base
|
|
58
60
|
has_metadata :name => "properties", :type => Hydra::Datastream::Properties
|
59
61
|
|
60
62
|
def initialize( attrs={} )
|
63
|
+
Deprecation.warn(GenericImage, "GenericImage is deprecated and will be removed in hydra-head 5.x")
|
61
64
|
super
|
62
65
|
end
|
63
66
|
|
data/app/models/superuser.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
# @deprecated - we are moving away from this approach; this code will be removed no later than release 6.x
|
2
2
|
# To make a superuser record, look up the ID (not the login) of a previously created user,
|
3
3
|
# and then insert that id into the superusers table
|
4
|
+
require 'deprecation'
|
4
5
|
class Superuser < ActiveRecord::Base
|
6
|
+
extend Deprecation
|
5
7
|
belongs_to :user
|
6
8
|
|
7
9
|
def initialize
|
8
|
-
|
10
|
+
Deprecation.warn(Superuser, "Superuser is deprecated and will be removed from HydraHead in release 5 or 6; we are moving away from this approach.")
|
9
11
|
super
|
10
12
|
end
|
11
13
|
|
12
|
-
end
|
14
|
+
end
|
@@ -1,9 +1,12 @@
|
|
1
1
|
# @deprecated - from the original implementation of UVA's Libra. This type of behavior should be application-specific. This will be removed no later than release 6.x
|
2
|
+
require 'deprecation'
|
2
3
|
class UserAttribute < ActiveRecord::Base
|
3
4
|
belongs_to :user
|
5
|
+
extend Deprecation
|
4
6
|
|
7
|
+
self.deprecation_horizon = 'hydra-head 5.x'
|
5
8
|
def initialize
|
6
|
-
|
9
|
+
Deprecation.warn(UserAttribute, "UserAttribute is deprecated and will be removed from HydraHead in release 5 or 6; this behavior should be implemented at the app level.")
|
7
10
|
super
|
8
11
|
end
|
9
12
|
|
@@ -12,7 +15,7 @@ class UserAttribute < ActiveRecord::Base
|
|
12
15
|
# @param [sting] login the login of the user
|
13
16
|
# @return the user attribute object or nil
|
14
17
|
def self.find_by_login(login)
|
15
|
-
|
18
|
+
Deprecation.warn(UserAttribute, "UserAttribute.find_by_login is deprecated and will be removed from HydraHead in release 5 or 6; this behavior should be implemented at the app level.")
|
16
19
|
user = User.find_by_login(login)
|
17
20
|
if user
|
18
21
|
UserAttribute.find_by_user_id(user.id)
|
@@ -29,4 +32,6 @@ class UserAttribute < ActiveRecord::Base
|
|
29
32
|
[fn, ln].join(" ").strip
|
30
33
|
end
|
31
34
|
|
35
|
+
deprecation_deprecate :full_name
|
36
|
+
|
32
37
|
end
|
@@ -2,13 +2,13 @@
|
|
2
2
|
<a class="add-new-asset" href="#">Add a New Asset</a>
|
3
3
|
<ul id="select-item-list">
|
4
4
|
<li>
|
5
|
-
<%=
|
5
|
+
<%= link_to 'Add a Basic MODS Asset', new_hydra_asset_path(:content_type => 'mods_asset'), :class => 'create_asset' %>
|
6
6
|
</li>
|
7
7
|
<li>
|
8
|
-
<%=
|
8
|
+
<%= link_to 'Add an Image', new_hydra_asset_path(:content_type => 'generic_image'), :class => 'create_asset' %>
|
9
9
|
</li>
|
10
10
|
<li>
|
11
|
-
<%=
|
11
|
+
<%= link_to 'Add Generic Content', new_hydra_asset_path(:content_type => 'generic_content'), :class => 'create_asset' %>
|
12
12
|
</li>
|
13
13
|
</ul>
|
14
|
-
</div>
|
14
|
+
</div>
|
@@ -6,10 +6,10 @@
|
|
6
6
|
|
7
7
|
</td>
|
8
8
|
<td>
|
9
|
-
<%= DateTime.parse(document.fetch(:system_create_dt,nil)).to_time %>
|
9
|
+
<%= l DateTime.parse(document.fetch(:system_create_dt,nil)).to_time %>
|
10
10
|
</td>
|
11
11
|
<td>
|
12
|
-
<%=
|
12
|
+
<%= document.document_type(blacklight_config.show.display_type) %>
|
13
13
|
</td>
|
14
14
|
<td>
|
15
15
|
<%= get_file_asset_count(document)%>
|
@@ -35,6 +35,6 @@
|
|
35
35
|
</div>
|
36
36
|
<% if controller.action_name == "edit" %>
|
37
37
|
<div class="delete-asset">
|
38
|
-
<%= button_to("Delete This Item", {:action => :destroy, :controller => :"hydra/assets", :id => @document_fedora.pid}, :confirm => 'Are you sure?', :method => :delete )%>
|
38
|
+
<%= button_to("Delete This Item", {:action => :destroy, :controller => :"hydra/assets", :id => @document_fedora.pid}, :data => { :confirm => 'Are you sure?' }, :method => :delete )%>
|
39
39
|
</div>
|
40
40
|
<% end %>
|
@@ -3,14 +3,14 @@
|
|
3
3
|
<%= link_to_document(document, :label => blacklight_config.show.heading.to_sym, :counter => (counter + 1 + @response.params[:start].to_i)) %>
|
4
4
|
</td>
|
5
5
|
<td>
|
6
|
-
<% creator = get_person_from_role(
|
6
|
+
<% creator = document.get_person_from_role("Creator") %>
|
7
7
|
<%= [creator[:last], creator[:first]].join(", ") unless creator.nil? %>
|
8
8
|
</td>
|
9
9
|
<td>
|
10
10
|
<%= DateTime.parse(document.fetch(:system_create_dt, "")).to_time %>
|
11
11
|
</td>
|
12
12
|
<td>
|
13
|
-
<%=
|
13
|
+
<%= document.document_type(blacklight_config.show.display_type) %>
|
14
14
|
</td>
|
15
15
|
<td>
|
16
16
|
<%= get_file_asset_count(document)%>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
// This hidden form really belongs elsewhere, but putting it inside of an
|
21
21
|
// accordion section un-hides it, so I stuck it here for now. -MZ
|
22
22
|
%>
|
23
|
-
<form id="new_contributor" action="<%=
|
23
|
+
<form id="new_contributor" action="<%=hydra_asset_contributors_path(:asset_id=>params[:id]) %>" method="post">
|
24
24
|
<input class="content_type" type="hidden" name="content_type" value="generic_content" />
|
25
25
|
<p><label for="contributor_type">Contributor Type</label>
|
26
26
|
<select id="contributor_type" name="contributor_type">
|
@@ -6,14 +6,14 @@
|
|
6
6
|
|
7
7
|
</td>
|
8
8
|
<td>
|
9
|
-
<% creator = get_person_from_role(
|
9
|
+
<% creator = document.get_person_from_role("Creator") %>
|
10
10
|
<%= [creator[:last], creator[:first]].join(", ") unless creator.nil? %>
|
11
11
|
</td>
|
12
12
|
<td>
|
13
13
|
<%= DateTime.parse(document.fetch(:system_create_dt, "")).to_time %>
|
14
14
|
</td>
|
15
15
|
<td>
|
16
|
-
<%=
|
16
|
+
<%= document.document_type(blacklight_config.show.display_type) %>
|
17
17
|
</td>
|
18
18
|
<td>
|
19
19
|
<%= get_file_asset_count(document)%>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<%- if params.has_key?(:number_of_files) or !@file_assets.empty? -%>
|
2
2
|
<%= render :partial => "hydra/file_assets/index", :locals => { :file_assets => @file_assets } %>
|
3
3
|
<%- end -%>
|
4
|
-
<%= form_tag(
|
4
|
+
<%= form_tag(hydra_asset_file_assets_path(:asset_id => params[:asset_id] || params[:id]), :class => "step") do -%>
|
5
5
|
<%= label_tag "number_of_files", "Number of files add" %>
|
6
6
|
<%= select_tag("number_of_files", options_for_select((0...11).to_a) ) -%>
|
7
7
|
<%= hidden_field_tag(:wf_step, params[:wf_step], :id => "num_files_wf_step") %>
|
@@ -11,8 +11,8 @@
|
|
11
11
|
<%- container_content_type_param = defined?(container_content_type) ? "?container_content_type=#{container_content_type}" : "" %>
|
12
12
|
<fieldset id='uploader'>
|
13
13
|
<legend>File Upload</legend>
|
14
|
-
<%= form_tag(
|
15
|
-
|
14
|
+
<%= form_tag(hydra_asset_file_assets_path(:asset_id => params[:asset_id] || params[:id]),:method=>"post",:enctype=>"multipart/form-data", :class=>"uploader-form step") do -%>
|
15
|
+
<%= hidden_field_tag("container_id", params[:asset_id] || params[:id]) %>
|
16
16
|
<%= hidden_field_tag("container_content_type", container_content_type, :id => "file_upload_content_type") if defined?(container_content_type) %>
|
17
17
|
<%- params[:number_of_files].to_i.times do -%>
|
18
18
|
<%= render :partial=>"hydra/file_assets/new"%>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<td>
|
6
6
|
|
7
7
|
<% if can? :edit, @document %>
|
8
|
-
|
8
|
+
<%= button_to("Delete", "/hydra/assets/#{result["id"]}/file_assets/#{result["id"]}?container_id=#{@document[:id]}", :data => { :confirm => "Are you sure you want to delete this file?" }, :method => :delete, :class => "delete-button") %>
|
9
9
|
<% end %>
|
10
10
|
</td>
|
11
11
|
</tr>
|
@@ -12,10 +12,12 @@
|
|
12
12
|
</head>
|
13
13
|
|
14
14
|
<body class="<%= render_body_class %>">
|
15
|
+
<div id="page">
|
15
16
|
|
16
17
|
<div id="hd">
|
18
|
+
<div id="user_util_links">
|
17
19
|
<%= render :partial => '/user_util_links' %>
|
18
|
-
|
20
|
+
</div>
|
19
21
|
</div>
|
20
22
|
|
21
23
|
<div id="bd">
|
@@ -38,6 +40,7 @@
|
|
38
40
|
</div>
|
39
41
|
</div>
|
40
42
|
</div>
|
43
|
+
</div>
|
41
44
|
|
42
45
|
</body>
|
43
46
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="title_div" style="float:left;width:300px;"><h2><%= counter + 1 %>. <%= link_to_document(document, :label => Blacklight.config[:show][:heading].to_sym, :counter => (counter + 1 + @response.params[:start].to_i)) %></h2></div>
|
2
|
-
<div id="type_div" style="float:right;"><%=
|
2
|
+
<div id="type_div" style="float:right;"><%= document.document_type(blacklight_config.show.display_type) %></div>
|
3
3
|
<div id="content_div" style="float:left;">
|
4
4
|
<dl id="index_list">
|
5
5
|
<dt>Author(s):</dt>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<tr class="document <%= cycle("even","odd") %>">
|
2
2
|
<td class="document_title"><%= link_to_document(document, :label => :mods_0_title_info_0_main_title_t, :counter => (counter + 1 + @response.params[:start].to_i)) %></td>
|
3
|
-
<td class="document_author"><% author = get_person_from_role(
|
3
|
+
<td class="document_author"><% author = document.get_person_from_role("author") %><%= author.nil? ? "n/a" : [author[:last], author[:first]].join(", ") %></td>
|
4
4
|
<td class="document_work"><%= document.fetch(:journal_title_info_main_title_t, nil) %></td>
|
5
|
-
<td class="document_date"><%=
|
5
|
+
<td class="document_date"><%= l(DateTime.parse(document.fetch(:system_create_dt, "")).to_date, :format => :hydra) %></td>
|
6
6
|
<td class="document_files"><%= get_file_asset_count(document) %></td>
|
7
7
|
</tr>
|
data/config/jetty.yml
CHANGED
data/config/solr.yml
CHANGED
data/config/solr_mappings.yml
CHANGED
@@ -8,7 +8,7 @@ default: searchable
|
|
8
8
|
searchable:
|
9
9
|
default: _t
|
10
10
|
date: _dt
|
11
|
-
string:
|
11
|
+
string: _s
|
12
12
|
text: _t
|
13
13
|
symbol: _s
|
14
14
|
integer: _i
|
@@ -19,4 +19,4 @@ searchable:
|
|
19
19
|
displayable: _display
|
20
20
|
facetable: _facet
|
21
21
|
sortable: _sort
|
22
|
-
unstemmed_searchable: _unstem_search
|
22
|
+
unstemmed_searchable: _unstem_search
|
data/hydra-head.gemspec
CHANGED
@@ -13,19 +13,20 @@ Gem::Specification.new do |s|
|
|
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
15
|
s.add_dependency "rails", '~>3.2.3'
|
16
|
-
s.add_dependency "blacklight", '~>3.4
|
16
|
+
s.add_dependency "blacklight", '~>3.4'
|
17
17
|
s.add_dependency "devise"
|
18
18
|
s.add_dependency "active-fedora", '~>4.1'
|
19
19
|
s.add_dependency 'RedCloth', '=4.2.9'
|
20
20
|
s.add_dependency 'block_helpers'
|
21
21
|
s.add_dependency 'sanitize'
|
22
|
-
s.add_dependency '
|
23
|
-
s.add_dependency 'deprecation'
|
22
|
+
s.add_dependency 'hydra-mods', ">= 0.0.5"
|
23
|
+
s.add_dependency 'deprecation', ">= 0.0.5"
|
24
24
|
s.add_dependency 'jquery-rails'
|
25
|
+
s.add_dependency 'hydra-access-controls', ">= 0.0.2"
|
25
26
|
|
26
27
|
s.add_development_dependency 'sqlite3'
|
27
28
|
s.add_development_dependency 'yard'
|
28
|
-
s.add_development_dependency 'jettywrapper', ">=1.0
|
29
|
+
s.add_development_dependency 'jettywrapper', ">=1.3.0"
|
29
30
|
s.add_development_dependency 'rspec-rails'
|
30
31
|
s.add_development_dependency 'mocha'
|
31
32
|
s.add_development_dependency 'cucumber-rails', '>=1.2.0'
|
@@ -112,17 +112,18 @@ EOF
|
|
112
112
|
if File.exists?(file_path)
|
113
113
|
insert_into_file file_path, :after => 'include Blacklight::Catalog' do
|
114
114
|
"\n # Extend Blacklight::Catalog with Hydra behaviors (primarily editing)." +
|
115
|
-
"\n include Hydra::
|
115
|
+
"\n include Hydra::Controller::CatalogControllerBehavior\n" +
|
116
116
|
"\n # These before_filters apply the hydra access controls" +
|
117
117
|
"\n before_filter :enforce_access_controls" +
|
118
118
|
"\n before_filter :enforce_viewing_context_for_show_requests, :only=>:show" +
|
119
119
|
"\n # This applies appropriate access controls to all solr queries" +
|
120
120
|
"\n CatalogController.solr_search_params_logic << :add_access_controls_to_solr_params" +
|
121
121
|
"\n # This filters out objects that you want to exclude from search results, like FileAssets" +
|
122
|
-
"\n CatalogController.solr_search_params_logic << :exclude_unwanted_models"
|
122
|
+
"\n CatalogController.solr_search_params_logic << :exclude_unwanted_models"
|
123
|
+
|
123
124
|
end
|
124
125
|
else
|
125
|
-
puts " \e[31mFailure\e[0m Could not find #{model_name.underscore}.rb. To add Hydra behaviors to your Blacklight::Catalog Controllers, you must include the Hydra::Controller module in the Controller class definition. See the Hydra::Controller section in the Hydra API Docs for more info."
|
126
|
+
puts " \e[31mFailure\e[0m Could not find #{model_name.underscore}.rb. To add Hydra behaviors to your Blacklight::Catalog Controllers, you must include the Hydra::Controller::ControllerBehavior module in the Controller class definition. See the Hydra::Controller::ControllerBehavior section in the Hydra API Docs for more info."
|
126
127
|
end
|
127
128
|
end
|
128
129
|
|
@@ -142,13 +143,13 @@ EOF
|
|
142
143
|
if File.exists?(file_path)
|
143
144
|
insert_into_file file_path, :after => 'include Blacklight::Controller' do
|
144
145
|
" \n# Adds Hydra behaviors into the application controller \n" +
|
145
|
-
" include Hydra::Controller\n" +
|
146
|
+
" include Hydra::Controller::ControllerBehavior\n" +
|
146
147
|
" def layout_name\n" +
|
147
148
|
" 'hydra-head'\n" +
|
148
149
|
" end\n"
|
149
150
|
end
|
150
151
|
else
|
151
|
-
puts " \e[31mFailure\e[0m Could not find #{model_name.underscore}.rb. To add Hydra behaviors to your Blacklight::Catalog Controllers, you must include the Hydra::Controller module in the Controller class definition. See the Hydra::Controller section in the Hydra API Docs for more info."
|
152
|
+
puts " \e[31mFailure\e[0m Could not find #{model_name.underscore}.rb. To add Hydra behaviors to your Blacklight::Catalog Controllers, you must include the Hydra::Controller::ControllerBehavior module in the Controller class definition. See the Hydra::Controller::ControllerBehavior section in the Hydra API Docs for more info."
|
152
153
|
end
|
153
154
|
end
|
154
155
|
|
data/lib/hydra-head/version.rb
CHANGED
data/lib/hydra.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
require "blacklight"
|
2
2
|
require 'active-fedora'
|
3
3
|
require 'cancan'
|
4
|
+
require 'hydra-access-controls'
|
4
5
|
|
5
6
|
# Hydra libraries
|
6
7
|
module Hydra
|
7
|
-
extend Blacklight::GlobalConfigurable
|
8
8
|
extend ActiveSupport::Autoload
|
9
|
-
autoload :
|
10
|
-
|
9
|
+
autoload :GlobalConfigurable
|
10
|
+
extend GlobalConfigurable
|
11
11
|
autoload :Assets
|
12
12
|
autoload :Catalog
|
13
13
|
autoload :Controller
|
@@ -15,27 +15,29 @@ module Hydra
|
|
15
15
|
autoload :GenericContent
|
16
16
|
autoload :GenericImage
|
17
17
|
autoload :GenericUserAttributes
|
18
|
-
|
19
|
-
autoload :ModsGenericContent
|
20
|
-
autoload :ModsImage
|
18
|
+
require 'hydra/model_mixins'
|
21
19
|
autoload :RepositoryController
|
22
20
|
autoload :SubmissionWorkflow
|
23
21
|
autoload :SuperuserAttributes
|
24
22
|
autoload :User
|
25
23
|
autoload :UI
|
26
24
|
autoload :Workflow
|
27
|
-
end
|
28
25
|
|
26
|
+
autoload :FileAssetsHelper
|
27
|
+
|
28
|
+
# This error is raised when a user isn't allowed to access a given controller action.
|
29
|
+
# This usually happens within a call to AccessControlsEnforcement#enforce_access_controls but can be
|
30
|
+
# raised manually.
|
31
|
+
class Hydra::AccessDenied < CanCan::AccessDenied; end
|
32
|
+
end
|
29
33
|
|
30
34
|
|
31
35
|
require 'hydra/assets_controller_helper'
|
32
|
-
require 'hydra/file_assets_helper'
|
33
|
-
|
34
36
|
require 'hydra/rights_metadata'
|
35
|
-
require 'hydra/
|
36
|
-
require 'hydra/mods_article'
|
37
|
+
require 'hydra/mods'
|
37
38
|
require 'hydra/model_methods'
|
38
39
|
require 'hydra/models/file_asset'
|
39
40
|
require 'mediashelf/active_fedora_helper' #deprecated
|
40
41
|
|
42
|
+
SolrDocument.use_extension Hydra::ModelMixins::SolrDocumentExtension
|
41
43
|
|