hyrax 2.3.3 → 2.4.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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +1 -1
- data/.github/stale.yml +19 -0
- data/README.md +2 -2
- data/app/actors/hyrax/actors/apply_permission_template_actor.rb +2 -4
- data/app/actors/hyrax/actors/create_with_files_ordered_members_actor.rb +45 -0
- data/app/actors/hyrax/actors/create_with_remote_files_ordered_members_actor.rb +96 -0
- data/app/actors/hyrax/actors/file_set_ordered_members_actor.rb +16 -0
- data/app/actors/hyrax/actors/ordered_members_actor.rb +28 -0
- data/app/assets/javascripts/hyrax/collections.js +2 -0
- data/app/assets/stylesheets/hyrax/_file-listing.scss +2 -1
- data/app/assets/stylesheets/hyrax/_work-show.scss +4 -0
- data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +1 -1
- data/app/controllers/concerns/hyrax/works_controller_behavior.rb +5 -2
- data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +2 -9
- data/app/helpers/hyrax/batch_edits_helper.rb +0 -1
- data/app/helpers/hyrax/hyrax_helper_behavior.rb +1 -0
- data/app/helpers/hyrax/iiif_helper.rb +12 -0
- data/app/jobs/attach_files_to_work_with_ordered_members_job.rb +41 -0
- data/app/presenters/hyrax/work_show_presenter.rb +29 -2
- data/app/services/hyrax/permission_template_applicator.rb +48 -0
- data/app/views/hyrax/admin/collection_types/_form_settings.html.erb +1 -1
- data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
- data/app/views/hyrax/base/_form_rendering.html.erb +7 -5
- data/app/views/hyrax/base/_form_representative.html.erb +4 -2
- data/app/views/hyrax/base/_form_thumbnail.html.erb +4 -2
- data/app/views/hyrax/base/_member.html.erb +1 -1
- data/app/views/hyrax/base/_representative_media.html.erb +1 -4
- data/app/views/hyrax/base/_show_actions.html.erb +6 -4
- data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +4 -0
- data/app/views/hyrax/base/show.html.erb +2 -2
- data/app/views/hyrax/dashboard/works/_default_group.html.erb +1 -1
- data/app/views/hyrax/file_sets/_file_set_title.erb +2 -2
- data/app/views/hyrax/homepage/_featured.html.erb +0 -3
- data/app/views/hyrax/my/_collection_action_menu.html.erb +1 -0
- data/app/views/hyrax/my/collections/_default_group.html.erb +1 -9
- data/app/views/hyrax/my/collections/_list_collections.html.erb +1 -1
- data/app/views/hyrax/users/_activity_log.html.erb +1 -1
- data/config/locales/hyrax.de.yml +2 -0
- data/config/locales/hyrax.en.yml +2 -0
- data/config/locales/hyrax.es.yml +2 -0
- data/config/locales/hyrax.fr.yml +2 -0
- data/config/locales/hyrax.it.yml +2 -0
- data/config/locales/hyrax.pt-BR.yml +2 -0
- data/config/locales/hyrax.zh.yml +2 -0
- data/hyrax.gemspec +1 -0
- data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.de.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.en.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.fr.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.it.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.zh.yml +1 -1
- data/lib/hyrax/configuration.rb +1 -1
- data/lib/hyrax/transactions.rb +23 -0
- data/lib/hyrax/transactions/container.rb +63 -0
- data/lib/hyrax/transactions/create_work.rb +47 -0
- data/lib/hyrax/transactions/steps/apply_permission_template.rb +29 -0
- data/lib/hyrax/transactions/steps/ensure_admin_set.rb +23 -0
- data/lib/hyrax/transactions/steps/ensure_permission_template.rb +27 -0
- data/lib/hyrax/transactions/steps/save_work.rb +35 -0
- data/lib/hyrax/transactions/steps/set_default_admin_set.rb +25 -0
- data/lib/hyrax/transactions/steps/set_modified_date.rb +25 -0
- data/lib/hyrax/transactions/steps/set_uploaded_date.rb +28 -0
- data/lib/hyrax/version.rb +1 -1
- data/spec/actors/hyrax/actors/create_with_files_ordered_members_actor_spec.rb +41 -0
- data/spec/actors/hyrax/actors/create_with_remote_files_ordered_members_actor_spec.rb +49 -0
- data/spec/actors/hyrax/actors/file_set_ordered_members_actor_spec.rb +35 -0
- data/spec/actors/hyrax/actors/ordered_members_actor_spec.rb +59 -0
- data/spec/controllers/hyrax/embargoes_controller_spec.rb +2 -0
- data/spec/controllers/hyrax/generic_works_controller_spec.rb +6 -1
- data/spec/factories/generic_works.rb +6 -0
- data/spec/features/collection_multi_membership_spec.rb +6 -6
- data/spec/features/work_show_spec.rb +58 -5
- data/spec/helpers/hyrax/batch_edits_helper_spec.rb +4 -2
- data/spec/helpers/hyrax/iiif_helper_spec.rb +44 -0
- data/spec/hyrax/transactions/create_work_spec.rb +155 -0
- data/spec/hyrax/transactions/steps/apply_permission_template_spec.rb +72 -0
- data/spec/hyrax/transactions/steps/ensure_admin_set_spec.rb +25 -0
- data/spec/hyrax/transactions/steps/ensure_permission_template_spec.rb +33 -0
- data/spec/hyrax/transactions/steps/save_work_spec.rb +32 -0
- data/spec/hyrax/transactions/steps/set_default_admin_set_spec.rb +38 -0
- data/spec/hyrax/transactions/steps/set_modified_date_spec.rb +22 -0
- data/spec/hyrax/transactions/steps/set_uploaded_date_spec.rb +32 -0
- data/spec/jobs/attach_files_to_work_with_ordered_members_job_spec.rb +13 -0
- data/spec/presenters/hyrax/presenter_renderer_spec.rb +4 -2
- data/spec/presenters/hyrax/work_show_presenter_spec.rb +46 -2
- data/spec/services/hyrax/permission_template_applicator_spec.rb +69 -0
- data/spec/spec_helper.rb +13 -2
- data/spec/views/catalog/index.html.erb_spec.rb +7 -4
- data/spec/views/hyrax/admin/admin_sets/_show_actions.html.erb_spec.rb +2 -0
- data/spec/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb_spec.rb +4 -1
- data/spec/views/hyrax/admin/admin_sets/index.html.erb_spec.rb +6 -2
- data/spec/views/hyrax/admin/admin_sets/index.json.erb_spec.rb +1 -2
- data/spec/views/hyrax/admin/collection_types/_form_metadata_admin_set.html.erb_spec.rb +1 -1
- data/spec/views/hyrax/admin/collection_types/_form_settings.html.erb_spec.rb +5 -26
- data/spec/views/hyrax/admin/collection_types/index.html.erb_spec.rb +26 -5
- data/spec/views/hyrax/admin/stats/show.html.erb_spec.rb +1 -0
- data/spec/views/hyrax/base/_attribute_rows.html.erb_spec.rb +5 -1
- data/spec/views/hyrax/base/_attributes.html.erb_spec.rb +1 -0
- data/spec/views/hyrax/base/_form_rendering.html.erb_spec.rb +5 -1
- data/spec/views/hyrax/base/_items.html.erb_spec.rb +2 -0
- data/spec/views/hyrax/base/_relationships.html.erb_spec.rb +2 -1
- data/spec/views/hyrax/base/_show_actions.html.erb_spec.rb +71 -0
- data/spec/views/hyrax/base/file_manager.html.erb_spec.rb +11 -14
- data/spec/views/hyrax/base/show.html.erb_spec.rb +2 -2
- data/spec/views/hyrax/base/show.json.jbuilder_spec.rb +3 -1
- data/spec/views/hyrax/collections/_show_document_list_row.html.erb_spec.rb +6 -1
- data/spec/views/hyrax/collections/_show_parent_collections.html.erb_spec.rb +5 -5
- data/spec/views/hyrax/collections/_subcollection_list.html.erb_spec.rb +1 -1
- data/spec/views/hyrax/collections/show.html.erb_spec.rb +3 -2
- data/spec/views/hyrax/dashboard/collections/_form_share.erb_spec.rb +1 -1
- data/spec/views/hyrax/dashboard/collections/_form_share_table.html.erb_spec.rb +1 -1
- data/spec/views/hyrax/dashboard/collections/_show_document_list_row.html.erb_spec.rb +6 -1
- data/spec/views/hyrax/dashboard/collections/_subcollection_list.html.erb_spec.rb +1 -1
- data/spec/views/hyrax/dashboard/collections/edit.html.erb_spec.rb +3 -1
- data/spec/views/hyrax/dashboard/profiles/show.html.erb_spec.rb +2 -3
- data/spec/views/hyrax/file_sets/_show_characterization_details.html.erb_spec.rb +1 -2
- data/spec/views/hyrax/file_sets/_single_use_links.html.erb_spec.rb +1 -2
- data/spec/views/hyrax/homepage/_sortable_featured.html.erb_spec.rb +1 -1
- data/spec/views/hyrax/my/_collection_action_menu.html.erb_spec.rb +5 -5
- data/spec/views/hyrax/my/collections/_list_collections.html.erb_spec.rb +11 -8
- data/spec/views/hyrax/users/index.html.erb_spec.rb +1 -0
- data/spec/views/hyrax/users/show.html.erb_spec.rb +3 -0
- data/template.rb +1 -1
- metadata +65 -3
- data/app/views/hyrax/dashboard/collections/_form_default_group_delt.html.erb +0 -27
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module Hyrax
|
|
3
|
+
##
|
|
4
|
+
# Applies a `PermissionTemplate` to a given model object by adding the
|
|
5
|
+
# template's manage and view users to the model's permissions.
|
|
6
|
+
#
|
|
7
|
+
# @example applying a template
|
|
8
|
+
# applicator = PermissionTemplateApplicator.new(template: my_template)
|
|
9
|
+
# applicator.apply_to(work)
|
|
10
|
+
#
|
|
11
|
+
# @example applying a template with fluent chaining syntax
|
|
12
|
+
# PermissionTemplateApplicator.apply(my_template).to work
|
|
13
|
+
#
|
|
14
|
+
# @since 2.4.0
|
|
15
|
+
class PermissionTemplateApplicator
|
|
16
|
+
##
|
|
17
|
+
# @!attribute [rw] template
|
|
18
|
+
# @return [Hyrax::PermissionTemplate]
|
|
19
|
+
attr_accessor :template
|
|
20
|
+
|
|
21
|
+
##
|
|
22
|
+
# @param template [Hyrax::PermissionTemplate]
|
|
23
|
+
def initialize(template:)
|
|
24
|
+
self.template = template
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# @param template [Hyrax::PermissionTemplate]
|
|
29
|
+
#
|
|
30
|
+
# @return [PermissionTemplateApplicator]
|
|
31
|
+
def self.apply(template)
|
|
32
|
+
new(template: template)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
##
|
|
36
|
+
# @param model [Hydra::PCDM::Object, Hydra::PCDM::Collection]
|
|
37
|
+
# @return [Boolean] true if the permissions have been successfully applied
|
|
38
|
+
def apply_to(model:)
|
|
39
|
+
model.edit_groups += template.agent_ids_for(agent_type: 'group', access: 'manage')
|
|
40
|
+
model.edit_users += template.agent_ids_for(agent_type: 'user', access: 'manage')
|
|
41
|
+
model.read_groups += template.agent_ids_for(agent_type: 'group', access: 'view')
|
|
42
|
+
model.read_users += template.agent_ids_for(agent_type: 'user', access: 'view')
|
|
43
|
+
|
|
44
|
+
true
|
|
45
|
+
end
|
|
46
|
+
alias to apply_to
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
APPLY TO NEW WORKS
|
|
30
30
|
</label>
|
|
31
31
|
</div>
|
|
32
|
-
<p class="help-block"
|
|
32
|
+
<p class="help-block"><%= t('simple_form.hints.collection_type.share_applies_to_new_works') %></p>
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
35
35
|
<p><%= f.input :allow_multiple_membership, as: :boolean, disabled: f.object.all_settings_disabled? %></p>
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
<legend>
|
|
5
5
|
<%= t("hyrax.base.form_rendering.legend_html") %>
|
|
6
6
|
</legend>
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
<div class="form-group">
|
|
8
|
+
<span class="help-block"><%= t("hyrax.base.form_rendering.help_html") %></span>
|
|
9
|
+
<%= f.select :rendering_ids,
|
|
10
|
+
f.object.select_files,
|
|
11
|
+
{ include_blank: true },
|
|
12
|
+
{ class: 'form-control', multiple: true } %>
|
|
13
|
+
</div>
|
|
12
14
|
</fieldset>
|
|
13
15
|
</div>
|
|
14
16
|
</div>
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
<legend>
|
|
5
5
|
<%= t("hyrax.base.form_representative.legend_html") %>
|
|
6
6
|
</legend>
|
|
7
|
-
<
|
|
8
|
-
|
|
7
|
+
<div class="form-group">
|
|
8
|
+
<span class="help-block"><%= t("hyrax.base.form_representative.help_html") %></span>
|
|
9
|
+
<%= f.select :representative_id, @form.select_files, {}, { class: 'form-control' } %>
|
|
10
|
+
</div>
|
|
9
11
|
</fieldset>
|
|
10
12
|
</div>
|
|
11
13
|
</div>
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
<legend>
|
|
5
5
|
<%= t("hyrax.base.form_thumbnail.legend_html") %>
|
|
6
6
|
</legend>
|
|
7
|
-
<
|
|
8
|
-
|
|
7
|
+
<div class="form-group">
|
|
8
|
+
<span class="help-block"><%= t("hyrax.base.form_thumbnail.help_html") %></span>
|
|
9
|
+
<%= f.select :thumbnail_id, @form.select_files, {}, { class: 'form-control' } %>
|
|
10
|
+
</div>
|
|
9
11
|
</fieldset>
|
|
10
12
|
</div>
|
|
11
13
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<td class="thumbnail">
|
|
3
3
|
<%= render_thumbnail_tag member %>
|
|
4
4
|
</td>
|
|
5
|
-
<td class="attribute attribute-filename"><%= link_to(member.link_name, contextual_path(member, @presenter)) %></td>
|
|
5
|
+
<td class="attribute attribute-filename ensure-wrapped"><%= link_to(member.link_name, contextual_path(member, @presenter)) %></td>
|
|
6
6
|
<td class="attribute attribute-date_uploaded"><%= member.try(:date_uploaded) %></td>
|
|
7
7
|
<td class="attribute attribute-permission"><%= member.permission_badge %></td>
|
|
8
8
|
<td>
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
<% if presenter.representative_id.present? && presenter.representative_presenter.present? %>
|
|
2
2
|
<% if defined?(viewer) && viewer %>
|
|
3
|
-
<%=
|
|
4
|
-
<div class="viewer-wrapper">
|
|
5
|
-
<div class="uv viewer" data-uri="<%= main_app.polymorphic_path [main_app, :manifest, presenter], { locale: nil } %>"></div>
|
|
6
|
-
</div>
|
|
3
|
+
<%= iiif_viewer_display presenter %>
|
|
7
4
|
<% else %>
|
|
8
5
|
<%= media_display presenter.representative_presenter %>
|
|
9
6
|
<% end %>
|
|
@@ -20,12 +20,14 @@
|
|
|
20
20
|
<% end %>
|
|
21
21
|
</ul>
|
|
22
22
|
</div>
|
|
23
|
-
<input type="checkbox" style="display:none" name="batch_document_ids[]" id="batch_document_<%= presenter.id %>" value="<%= presenter.id %>" class="batch_document_selector" checked="checked" />
|
|
24
|
-
<%= button_tag t('hyrax.dashboard.my.action.add_to_collection'),
|
|
25
|
-
class: 'btn btn-default submits-batches submits-batches-add',
|
|
26
|
-
data: { toggle: "modal", target: "#collection-list-container" } %>
|
|
27
23
|
<% end %>
|
|
28
24
|
<% end %>
|
|
25
|
+
<% if presenter.show_deposit_for?(collections: @user_collections) %>
|
|
26
|
+
<input type="checkbox" style="display:none" name="batch_document_ids[]" id="batch_document_<%= presenter.id %>" value="<%= presenter.id %>" class="batch_document_selector" checked="checked" />
|
|
27
|
+
<%= button_tag t('hyrax.dashboard.my.action.add_to_collection'),
|
|
28
|
+
class: 'btn btn-default submits-batches submits-batches-add',
|
|
29
|
+
data: { toggle: "modal", target: "#collection-list-container" } %>
|
|
30
|
+
<% end %>
|
|
29
31
|
<% if presenter.work_featurable? %>
|
|
30
32
|
<%= link_to "Feature", hyrax.featured_work_path(presenter, format: :json),
|
|
31
33
|
data: { behavior: 'feature' },
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
<div class="panel-body">
|
|
16
16
|
<div class="row">
|
|
17
17
|
<%= render 'workflow_actions_widget', presenter: @presenter %>
|
|
18
|
-
<% if @presenter.
|
|
18
|
+
<% if @presenter.iiif_viewer? %>
|
|
19
19
|
<div class="col-sm-12">
|
|
20
20
|
<%= render 'representative_media', presenter: @presenter, viewer: true %>
|
|
21
21
|
</div>
|
|
22
22
|
<% end %>
|
|
23
23
|
<div class="col-sm-3 text-center">
|
|
24
|
-
<%= render 'representative_media', presenter: @presenter, viewer: false unless @presenter.
|
|
24
|
+
<%= render 'representative_media', presenter: @presenter, viewer: false unless @presenter.iiif_viewer? %>
|
|
25
25
|
<%= render 'citations', presenter: @presenter %>
|
|
26
26
|
<%= render 'social_media' %>
|
|
27
27
|
</div>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<% presenter.title.each_with_index do |title, index| %>
|
|
2
2
|
<% if index == 0 %>
|
|
3
|
-
<h1>
|
|
3
|
+
<h1 class="ensure-wrapped">
|
|
4
4
|
<%= title %> <%= presenter.permission_badge %>
|
|
5
5
|
</h1>
|
|
6
6
|
<% else %>
|
|
7
|
-
<h1><%= title %></h1>
|
|
7
|
+
<h1 class="ensure-wrapped"><%= title %></h1>
|
|
8
8
|
<% end %>
|
|
9
9
|
<% end %>
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
<% presenter = featured.presenter %>
|
|
2
2
|
<li class="featured-item" data-id="<%= presenter.id %>">
|
|
3
3
|
<div class="row">
|
|
4
|
-
<div class="col-sm-2">
|
|
5
|
-
<%= render_thumbnail_tag presenter %>
|
|
6
|
-
</div>
|
|
7
4
|
<div class="col-sm-10">
|
|
8
5
|
<%= render 'hyrax/homepage/featured_fields', featured: presenter %>
|
|
9
6
|
</div>
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
<%= t("hyrax.dashboard.my.action.delete_collection") %>
|
|
43
43
|
<% end %>
|
|
44
44
|
</li>
|
|
45
|
+
|
|
45
46
|
<% if Hyrax::CollectionType.any_nestable? %>
|
|
46
47
|
<% # The user should have deposit access to the parent we are adding, and read access to the child (the collection we are linking here). %>
|
|
47
48
|
<li role="menuitem" tabindex="-1">
|
|
@@ -2,15 +2,7 @@
|
|
|
2
2
|
<caption class="sr-only"><%= t("hyrax.dashboard.my.sr.listing") %> <%= application_name %></caption>
|
|
3
3
|
<thead>
|
|
4
4
|
<tr>
|
|
5
|
-
<th class="check-all
|
|
6
|
-
<label for="check_all" class="sr-only">
|
|
7
|
-
<%= t("hyrax.dashboard.my.sr.check_all_label") %>
|
|
8
|
-
</label>
|
|
9
|
-
<label class="centerizer">
|
|
10
|
-
<input type="checkbox" class="check-all-checkbox" name="check_all" id="check_all" value="yes" />
|
|
11
|
-
<%= t("hyrax.dashboard.my.action.select") %>
|
|
12
|
-
</label>
|
|
13
|
-
</th>
|
|
5
|
+
<th class="check-all"><label for="check_all" class="sr-only"><%= t("hyrax.dashboard.my.sr.check_all_label") %></label><%= render_check_all %></th>
|
|
14
6
|
<th><%= t("hyrax.dashboard.my.heading.title") %></th>
|
|
15
7
|
<th><%= t("hyrax.dashboard.my.heading.type") %></th>
|
|
16
8
|
<th><%= t("hyrax.dashboard.my.heading.visibility") %></th>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<% # used by Your Collections tab %>
|
|
2
2
|
<% id = collection_presenter.id %>
|
|
3
|
-
<%# Data attributes referenced by the javascript for
|
|
3
|
+
<%# Data attributes referenced by the javascript for submitting nested forms. %>
|
|
4
4
|
<tr id="document_<%= id %>"
|
|
5
5
|
data-source="my"
|
|
6
6
|
data-id="<%= id %>"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<% events.each do |event| %>
|
|
10
10
|
<% next if event[:action].blank? or event[:timestamp].blank? %>
|
|
11
11
|
<tr>
|
|
12
|
-
<td><%= sanitize event[:action] %></td>
|
|
12
|
+
<td class="ensure-wrapped"><%= sanitize event[:action] %></td>
|
|
13
13
|
<% time = Time.zone.at(event[:timestamp].to_i) %>
|
|
14
14
|
<td data-sort="<%= time.getutc.iso8601(5) %>">
|
|
15
15
|
<relative-time datetime="<%= time.getutc.iso8601 %>" title="<%= time.to_formatted_s(:standard) %>">
|
data/config/locales/hyrax.de.yml
CHANGED
|
@@ -826,6 +826,8 @@ de:
|
|
|
826
826
|
type: Art von Arbeit
|
|
827
827
|
viz_after: Sichtbarkeit wird geändert
|
|
828
828
|
viz_current: Aktuelle Sichtbarkeit
|
|
829
|
+
update:
|
|
830
|
+
embargo_deactivated: Deaktivierung erfolgreich!
|
|
829
831
|
featured_researchers: Ausgewählte Forscher
|
|
830
832
|
file_manager:
|
|
831
833
|
link_text: Dateimanager
|
data/config/locales/hyrax.en.yml
CHANGED
|
@@ -825,6 +825,8 @@ en:
|
|
|
825
825
|
type: Type of Item
|
|
826
826
|
viz_after: Visibility will Change to
|
|
827
827
|
viz_current: Current Visibility
|
|
828
|
+
update:
|
|
829
|
+
embargo_deactivated: Deactivation succeeded!
|
|
828
830
|
featured_researchers: Featured Researchers
|
|
829
831
|
file_manager:
|
|
830
832
|
link_text: File Manager
|
data/config/locales/hyrax.es.yml
CHANGED
|
@@ -824,6 +824,8 @@ es:
|
|
|
824
824
|
type: Tipo de trabajo
|
|
825
825
|
viz_after: La visibilidad cambiará a
|
|
826
826
|
viz_current: Visibilidad actual
|
|
827
|
+
update:
|
|
828
|
+
embargo_deactivated: Desactivación exitosa!
|
|
827
829
|
featured_researchers: Investigadores Destacados
|
|
828
830
|
file_manager:
|
|
829
831
|
link_text: Administrador de archivos
|
data/config/locales/hyrax.fr.yml
CHANGED
|
@@ -825,6 +825,8 @@ fr:
|
|
|
825
825
|
type: Type de travail
|
|
826
826
|
viz_after: La visibilité changera en
|
|
827
827
|
viz_current: Visibilité actuelle
|
|
828
|
+
update:
|
|
829
|
+
embargo_deactivated: Désactivation réussie!
|
|
828
830
|
featured_researchers: Les chercheurs en vedette
|
|
829
831
|
file_manager:
|
|
830
832
|
link_text: Gestionnaire de fichiers
|
data/config/locales/hyrax.it.yml
CHANGED
|
@@ -824,6 +824,8 @@ it:
|
|
|
824
824
|
type: Tipo di lavoro
|
|
825
825
|
viz_after: La visibilità cambierà
|
|
826
826
|
viz_current: Visibilità attuale
|
|
827
|
+
update:
|
|
828
|
+
embargo_deactivated: Disattivazione riuscita!
|
|
827
829
|
featured_researchers: Ricercatori in primo piano
|
|
828
830
|
file_manager:
|
|
829
831
|
link_text: File Manager
|
|
@@ -819,6 +819,8 @@ pt-BR:
|
|
|
819
819
|
type: Tipo de obra
|
|
820
820
|
viz_after: O acesso mudará para
|
|
821
821
|
viz_current: Acesso atual
|
|
822
|
+
update:
|
|
823
|
+
embargo_deactivated: Desativação bem sucedida!
|
|
822
824
|
featured_researchers: Pesquisadores em destaque
|
|
823
825
|
file_manager:
|
|
824
826
|
link_text: Gerenciador de arquivos
|
data/config/locales/hyrax.zh.yml
CHANGED
data/hyrax.gemspec
CHANGED
|
@@ -43,6 +43,7 @@ SUMMARY
|
|
|
43
43
|
spec.add_dependency 'clipboard-rails', '~> 1.5'
|
|
44
44
|
spec.add_dependency 'dry-equalizer', '~> 0.2'
|
|
45
45
|
spec.add_dependency 'dry-struct', '~> 0.1'
|
|
46
|
+
spec.add_dependency 'dry-transaction', '~> 0.11'
|
|
46
47
|
spec.add_dependency 'dry-validation', '~> 0.9'
|
|
47
48
|
spec.add_dependency 'flipflop', '~> 2.3'
|
|
48
49
|
# Pin more tightly because 0.x gems are potentially unstable
|
|
@@ -121,7 +121,7 @@ Hyrax.config do |config|
|
|
|
121
121
|
# config.show_work_item_rows = 10
|
|
122
122
|
|
|
123
123
|
# Enable IIIF image service. This is required to use the
|
|
124
|
-
#
|
|
124
|
+
# IIIF viewer enabled show page
|
|
125
125
|
#
|
|
126
126
|
# If you have run the riiif generator, an embedded riiif service
|
|
127
127
|
# will be used to deliver images via IIIF. If you have not, you will
|
|
@@ -50,7 +50,7 @@ de:
|
|
|
50
50
|
directory:
|
|
51
51
|
suffix: "@ Example.org"
|
|
52
52
|
footer:
|
|
53
|
-
copyright_html: "<strong>Copyright ©
|
|
53
|
+
copyright_html: "<strong>Copyright © 2018 Samvera lizenziert</strong> unter der Apache Lizenz, Version 2.0"
|
|
54
54
|
service_html: Ein Dienst von <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a> .
|
|
55
55
|
institution_name: Institution
|
|
56
56
|
institution_name_full: Name des Instituts
|
|
@@ -50,7 +50,7 @@ en:
|
|
|
50
50
|
directory:
|
|
51
51
|
suffix: "@example.org"
|
|
52
52
|
footer:
|
|
53
|
-
copyright_html: "<strong>Copyright ©
|
|
53
|
+
copyright_html: "<strong>Copyright © 2018 Samvera</strong> Licensed under the Apache License, Version 2.0"
|
|
54
54
|
service_html: A service of <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a>.
|
|
55
55
|
institution_name: Institution
|
|
56
56
|
institution_name_full: The Institution Name
|
|
@@ -50,7 +50,7 @@ es:
|
|
|
50
50
|
directory:
|
|
51
51
|
suffix: "@example.org"
|
|
52
52
|
footer:
|
|
53
|
-
copyright_html: "<strong>Copyright ©
|
|
53
|
+
copyright_html: "<strong>Copyright © 2018 Samvera</strong> bajo licencia de Apache, Version 2.0"
|
|
54
54
|
service_html: Un servicio de <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera/a>.
|
|
55
55
|
institution_name: institución
|
|
56
56
|
institution_name_full: El nombre de la institución
|
|
@@ -50,7 +50,7 @@ fr:
|
|
|
50
50
|
directory:
|
|
51
51
|
suffix: "@ Example.org"
|
|
52
52
|
footer:
|
|
53
|
-
copyright_html: "<strong>Copyright ©
|
|
53
|
+
copyright_html: "<strong>Copyright © 2018 Samvera</strong> Licence sous Licence Apache, Version 2.0"
|
|
54
54
|
service_html: Un service de <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a> .
|
|
55
55
|
institution_name: Institution
|
|
56
56
|
institution_name_full: Nom de l'établissement
|
|
@@ -50,7 +50,7 @@ it:
|
|
|
50
50
|
directory:
|
|
51
51
|
suffix: "@ example.org"
|
|
52
52
|
footer:
|
|
53
|
-
copyright_html: "<strong>Copyright ©
|
|
53
|
+
copyright_html: "<strong>Copyright © 2018 Samvera</strong> Licenza sotto la licenza Apache, versione 2.0"
|
|
54
54
|
service_html: Un servizio di <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a> .
|
|
55
55
|
institution_name: Istituzione
|
|
56
56
|
institution_name_full: Nome dell'Istituzione
|
|
@@ -50,7 +50,7 @@ zh:
|
|
|
50
50
|
directory:
|
|
51
51
|
suffix: "@example.org"
|
|
52
52
|
footer:
|
|
53
|
-
copyright_html: "<strong>版权所有 ©
|
|
53
|
+
copyright_html: "<strong>版权所有 © 2018 Samvera</strong> 根据Apache许可证2.0版许可"
|
|
54
54
|
service_html: 的服务<a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a>.
|
|
55
55
|
institution_name: 机构
|
|
56
56
|
institution_name_full: 机构名称
|
data/lib/hyrax/configuration.rb
CHANGED
|
@@ -367,7 +367,7 @@ module Hyrax
|
|
|
367
367
|
end
|
|
368
368
|
|
|
369
369
|
# Enable IIIF image service. This is required to use the
|
|
370
|
-
#
|
|
370
|
+
# IIIF viewer enabled show page
|
|
371
371
|
#
|
|
372
372
|
# If you have run the hyrax:riiif generator, an embedded riiif service
|
|
373
373
|
# will be used to deliver images via IIIF. If you have not, you will
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'hyrax/transactions/container'
|
|
3
|
+
|
|
4
|
+
module Hyrax
|
|
5
|
+
##
|
|
6
|
+
# This is a parent module for DRY Transaction classes handling Hyrax
|
|
7
|
+
# processes. Especially: transactions and steps for creating, updating, and
|
|
8
|
+
# destroying PCDM Objects are located here. Loading this module provides an
|
|
9
|
+
# easy way to load the full suite of transactions included for these purposes.
|
|
10
|
+
#
|
|
11
|
+
# @note These uses of `dry-transaction` are currently experimental
|
|
12
|
+
# replacements for actor stack behavior. They are not loaded during normal
|
|
13
|
+
# execution in a stock Hyrax application.
|
|
14
|
+
#
|
|
15
|
+
# @since 2.4.0
|
|
16
|
+
#
|
|
17
|
+
# @example
|
|
18
|
+
# require 'hyrax/transactions'
|
|
19
|
+
#
|
|
20
|
+
# @see https://dry-rb.org/gems/dry-transaction/
|
|
21
|
+
module Transactions
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "dry/transaction"
|
|
3
|
+
require "dry/transaction/operation"
|
|
4
|
+
|
|
5
|
+
module Hyrax
|
|
6
|
+
module Transactions
|
|
7
|
+
##
|
|
8
|
+
# Provides a container for transaction steps related to creating, updating,
|
|
9
|
+
# and destroying PCDM Objects in Hyrax.
|
|
10
|
+
#
|
|
11
|
+
# In advanced use, the container could provide runtime dependency injection
|
|
12
|
+
# for particular step code. For the basic case, users can consider it as
|
|
13
|
+
# providing namespaceing and resolution for steps (as used in
|
|
14
|
+
# `Hyrax::Transaction::CreateWork`; e.g.
|
|
15
|
+
# `step :save_work, with: 'work.save_work'`).
|
|
16
|
+
#
|
|
17
|
+
# @since 2.4.0
|
|
18
|
+
#
|
|
19
|
+
# @see https://dry-rb.org/gems/dry-container/
|
|
20
|
+
class Container
|
|
21
|
+
require 'hyrax/transactions/create_work'
|
|
22
|
+
require 'hyrax/transactions/steps/apply_permission_template'
|
|
23
|
+
require 'hyrax/transactions/steps/ensure_admin_set'
|
|
24
|
+
require 'hyrax/transactions/steps/ensure_permission_template'
|
|
25
|
+
require 'hyrax/transactions/steps/save_work'
|
|
26
|
+
require 'hyrax/transactions/steps/set_default_admin_set'
|
|
27
|
+
require 'hyrax/transactions/steps/set_modified_date'
|
|
28
|
+
require 'hyrax/transactions/steps/set_uploaded_date'
|
|
29
|
+
|
|
30
|
+
extend Dry::Container::Mixin
|
|
31
|
+
|
|
32
|
+
namespace 'work' do |ops|
|
|
33
|
+
ops.register 'apply_permission_template' do
|
|
34
|
+
Steps::ApplyPermissionTemplate.new
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
ops.register 'ensure_admin_set' do
|
|
38
|
+
Steps::EnsureAdminSet.new
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
ops.register 'ensure_permission_template' do
|
|
42
|
+
Steps::EnsurePermissionTemplate.new
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
ops.register 'save_work' do
|
|
46
|
+
Steps::SaveWork.new
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
ops.register 'set_default_admin_set' do
|
|
50
|
+
Steps::SetDefaultAdminSet.new
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
ops.register 'set_modified_date' do
|
|
54
|
+
Steps::SetModifiedDate.new
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
ops.register 'set_uploaded_date' do
|
|
58
|
+
Steps::SetUploadedDate.new
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|