sufia 4.0.0.beta3 → 4.0.0.beta4
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 -0
- data/SUFIA_VERSION +1 -1
- data/app/assets/javascripts/sufia/search.js +4 -6
- data/app/assets/stylesheets/dashboard.css.scss +26 -0
- data/app/assets/stylesheets/header.css.scss +21 -12
- data/app/controllers/batch_controller.rb +0 -1
- data/app/controllers/collections_controller.rb +0 -1
- data/app/controllers/concerns/sufia/catalog.rb +0 -9
- data/app/controllers/concerns/sufia/controller.rb +4 -0
- data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +24 -74
- data/app/controllers/concerns/sufia/downloads_controller_behavior.rb +0 -3
- data/app/controllers/concerns/sufia/files_controller_behavior.rb +4 -13
- data/app/controllers/concerns/sufia/my_controller_behavior.rb +87 -0
- data/app/controllers/{dashboard → my}/collections_controller.rb +3 -2
- data/app/controllers/{dashboard → my}/files_controller.rb +3 -2
- data/app/controllers/{dashboard → my}/highlights_controller.rb +3 -2
- data/app/controllers/{dashboard → my}/shares_controller.rb +3 -2
- data/app/controllers/my_controller.rb +3 -0
- data/app/controllers/single_use_links_controller.rb +0 -2
- data/app/helpers/dashboard_helper.rb +3 -0
- data/app/helpers/generic_file_helper.rb +4 -4
- data/app/helpers/sufia/dashboard_helper_behavior.rb +25 -0
- data/app/helpers/sufia/sufia_helper_behavior.rb +44 -0
- data/app/jobs/content_delete_event_job.rb +2 -2
- data/app/models/concerns/sufia/solr_document_behavior.rb +5 -0
- data/app/views/_user_util_links.html.erb +5 -5
- data/app/views/catalog/_results_pagination.html.erb +1 -1
- data/app/views/catalog/_search_form.html.erb +56 -28
- data/app/views/collections/_dashboard_document_list.html.erb +1 -1
- data/app/views/collections/_document_list.html.erb +1 -1
- data/app/views/collections/edit.html.erb +8 -11
- data/app/views/collections/show.html.erb +2 -2
- data/app/views/collections/show_fields/_creator.html.erb +11 -0
- data/app/views/collections/show_fields/_description.html.erb +8 -0
- data/app/views/collections/show_fields/_title.html.erb +8 -0
- data/app/views/dashboard/_index_partials/_stats.html.erb +16 -0
- data/app/views/dashboard/_index_partials/_user_info.html.erb +18 -0
- data/app/views/dashboard/index.html.erb +51 -19
- data/app/views/generic_files/_show_descriptions.html.erb +11 -10
- data/app/views/generic_files/show.html.erb +1 -1
- data/app/views/generic_files/show_fields/_based_near.html.erb +7 -0
- data/app/views/generic_files/show_fields/_contributor.html.erb +7 -0
- data/app/views/generic_files/show_fields/_creator.html.erb +7 -0
- data/app/views/generic_files/show_fields/_date_created.html.erb +7 -0
- data/app/views/generic_files/show_fields/_default.html.erb +6 -12
- data/app/views/generic_files/show_fields/_description.html.erb +7 -0
- data/app/views/generic_files/show_fields/_identifier.html.erb +4 -0
- data/app/views/generic_files/show_fields/_language.html.erb +4 -0
- data/app/views/generic_files/show_fields/_publisher.html.erb +7 -0
- data/app/views/generic_files/show_fields/_related_url.html.erb +6 -0
- data/app/views/generic_files/show_fields/_resource_type.html.erb +4 -0
- data/app/views/generic_files/show_fields/_rights.html.erb +4 -0
- data/app/views/generic_files/show_fields/_subject.html.erb +7 -0
- data/app/views/generic_files/show_fields/_tag.html.erb +4 -0
- data/app/views/generic_files/show_fields/_title.html.erb +7 -0
- data/app/views/generic_files/upload/_form_fields.html.erb +4 -5
- data/app/views/generic_files/upload/_script_templates.html.erb +1 -2
- data/app/views/layouts/sufia-dashboard.html.erb +16 -30
- data/app/views/mailbox/_notifications.html.erb +21 -0
- data/app/views/mailbox/index.html.erb +2 -23
- data/app/views/{dashboard → my}/_action_menu.html.erb +0 -0
- data/app/views/{dashboard → my}/_batch_edits_actions.html.erb +0 -0
- data/app/views/{dashboard → my}/_collection_action_menu.html.erb +0 -0
- data/app/views/{dashboard → my}/_did_you_mean.html.erb +0 -0
- data/app/views/my/_document_list.html.erb +4 -0
- data/app/views/{dashboard → my}/_facet_layout.html.erb +0 -0
- data/app/views/{dashboard → my}/_facet_limit.html.erb +0 -0
- data/app/views/{dashboard → my}/_facet_pagination.html.erb +0 -0
- data/app/views/{dashboard → my}/_facet_selected.html.erb +0 -0
- data/app/views/{dashboard → my}/_facets.html.erb +0 -0
- data/app/views/{dashboard → my}/_index_partials/_default_group.html.erb +2 -2
- data/app/views/{dashboard → my}/_index_partials/_list_collections.html.erb +0 -0
- data/app/views/{dashboard → my}/_index_partials/_list_files.html.erb +0 -0
- data/app/views/{dashboard → my}/_results_pagination.html.erb +0 -0
- data/app/views/my/_scripts.js.erb +11 -0
- data/app/views/{dashboard → my}/_sort_and_per_page.html.erb +0 -0
- data/app/views/{dashboard → my}/facet.html.erb +0 -0
- data/app/views/{dashboard/lists → my}/index.html.erb +4 -20
- data/app/views/users/_user_info.html.erb +1 -1
- data/config/initializers/sufia_events.rb +19 -2
- data/config/locales/sufia.en.yml +27 -2
- data/config/routes.rb +7 -11
- data/lib/generators/sufia/sufia_generator.rb +15 -0
- data/lib/generators/sufia/templates/catalog_controller.rb +14 -14
- data/lib/sufia.rb +1 -0
- data/lib/sufia/version.rb +1 -1
- data/spec/controllers/catalog_controller_spec.rb +7 -16
- data/spec/controllers/dashboard_controller_spec.rb +63 -30
- data/spec/controllers/generic_files_controller_spec.rb +1 -1
- data/spec/controllers/{dashboard → my}/collections_controller_spec.rb +1 -15
- data/spec/controllers/my/files_controller_spec.rb +68 -0
- data/spec/controllers/{dashboard → my}/highlights_controller_spec.rb +1 -15
- data/spec/controllers/{dashboard → my}/shares_controller_spec.rb +1 -15
- data/spec/controllers/my_controller_spec.rb +9 -0
- data/spec/features/browse_dashboard_files_spec.rb +72 -26
- data/spec/features/collection_spec.rb +2 -4
- data/spec/features/display_dashboard_spec.rb +20 -26
- data/spec/features/search_spec.rb +25 -13
- data/spec/helpers/dashboard_helper_spec.rb +41 -0
- data/spec/helpers/sufia_helper_spec.rb +104 -3
- data/spec/jobs/event_jobs_spec.rb +1 -1
- data/spec/models/generic_file/web_form_spec.rb +3 -4
- data/spec/models/generic_file_spec.rb +47 -43
- data/spec/routing/route_spec.rb +10 -14
- data/spec/views/batch_edits/check_all_spec.rb +4 -4
- data/spec/views/catalog/sort_and_per_pange.html.erb_spec.rb +27 -0
- data/spec/views/dashboard/index_spec.rb +105 -0
- data/spec/views/{dashboard → my}/facet_limit.html.erb_spec.rb +2 -2
- data/sufia-models/app/actors/sufia/generic_file/actor.rb +23 -3
- data/sufia-models/app/models/concerns/sufia/generic_file.rb +0 -5
- data/sufia-models/app/models/concerns/sufia/generic_file/metadata.rb +9 -2
- data/sufia-models/app/models/concerns/sufia/generic_file/web_form.rb +2 -2
- data/sufia-models/app/models/datastreams/generic_file_rdf_datastream.rb +1 -1
- data/sufia-models/app/services/sufia/noid.rb +21 -16
- data/sufia-models/lib/generators/sufia/models/install_generator.rb +2 -16
- data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +23 -0
- data/sufia-models/lib/sufia/models/version.rb +1 -1
- data/sufia-models/sufia-models.gemspec +1 -1
- data/vendor/assets/javascripts/fileupload/jquery.fileupload-ui.js +18 -10
- metadata +68 -45
- data/app/assets/images/glyphicons-halflings-white.png +0 -0
- data/app/assets/images/glyphicons-halflings.png +0 -0
- data/app/controllers/dashboard/lists_controller.rb +0 -13
- data/app/views/dashboard/_constraints.html.erb +0 -6
- data/app/views/dashboard/_document_list.html.erb +0 -4
- data/app/views/dashboard/_heading.html.erb +0 -1
- data/app/views/dashboard/_search_form.html.erb +0 -14
- data/app/views/dashboard/_show_partials/_default.html.erb +0 -20
- data/app/views/dashboard/_show_partials/_default_details.html.erb +0 -15
- data/app/views/dashboard/_show_partials/_facets.html.erb +0 -87
- data/app/views/generic_files/_field_display.html.erb +0 -12
- data/spec/controllers/dashboard/files_controller_spec.rb +0 -71
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<%# default partial to display solr document fields in catalog show view -%>
|
|
2
|
-
<div>
|
|
3
|
-
<dl class="defList">
|
|
4
|
-
<dt>Date: </dt>
|
|
5
|
-
<dd><%= render_document_show_field_value(document: document, field: "date_t") %></dd>
|
|
6
|
-
<dt>Title: </dt>
|
|
7
|
-
<dd><%= render_document_show_field_value(document: document, field: "title_t") %></dd>
|
|
8
|
-
<dt>Document Type: </dt>
|
|
9
|
-
<dd><%= render_document_show_field_value(document: document, field: "medium_t") %></dd>
|
|
10
|
-
<dt>Location: </dt>
|
|
11
|
-
<dd><%= render_document_show_field_value(document: document, field: "location_t") %></dd>
|
|
12
|
-
<dt>Date: </dt>
|
|
13
|
-
<dd><%= render_document_show_field_value(document: document, field: "date_t") %></dd>
|
|
14
|
-
</dl>
|
|
15
|
-
</div>
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
<% facets_display_heading ||= "" %>
|
|
2
|
-
<% # main container for facets/limits menu -%>
|
|
3
|
-
<div id="facets">
|
|
4
|
-
<h2><%=h facets_display_heading %></h2>
|
|
5
|
-
<% facet_field_names.each do |solr_fname| %>
|
|
6
|
-
<div>
|
|
7
|
-
<% display_facet = @response.facets.detect {|f| f.name == solr_fname} -%>
|
|
8
|
-
<%#- raise solr_fname.inspect unless display_facet -%>
|
|
9
|
-
<% if display_facet && display_facet.items.length > 0 %>
|
|
10
|
-
<h3 class="facet_selected"><%= facet_field_labels[solr_fname] -%></h3>
|
|
11
|
-
<ul>
|
|
12
|
-
<% item_counter = 0 %>
|
|
13
|
-
<% display_facet.items.each do |item| -%>
|
|
14
|
-
<% if item.hits > 0 %>
|
|
15
|
-
<% facet_count_for_value = facet_value_hits(@facet_lookup, solr_fname, item.value) %>
|
|
16
|
-
<% if facet_in_params? solr_fname, item.value %>
|
|
17
|
-
<li>
|
|
18
|
-
<span class="selected"><%= h(item.value) %> (<%= format_num facet_count_for_value %>)</span>
|
|
19
|
-
<% link_options = remove_facet_params(solr_fname, item.value, params).merge!({ controller: "catalog", action: "index" }) %>
|
|
20
|
-
[<%= link_to 'remove', url_for(link_options), class: 'remove' %>]
|
|
21
|
-
</li>
|
|
22
|
-
<% else %>
|
|
23
|
-
<%- if item_counter > Blacklight.config[:facet_more_num] - 1 -%>
|
|
24
|
-
<li class="more">
|
|
25
|
-
<%- else -%>
|
|
26
|
-
<li>
|
|
27
|
-
<%- end -%>
|
|
28
|
-
<h3 class="facet_selected"><%= facet_field_labels[solr_fname] -%></h3>
|
|
29
|
-
<ul>
|
|
30
|
-
<% item_counter = 0 %>
|
|
31
|
-
<% display_facet.items.each do |item| -%>
|
|
32
|
-
<% if item.hits > 0 %>
|
|
33
|
-
<% facet_count_for_value = facet_value_hits(@facet_lookup, solr_fname, item.value) %>
|
|
34
|
-
<% if facet_in_params? solr_fname, item.value %>
|
|
35
|
-
<li>
|
|
36
|
-
<span class="selected"><%= h(item.value) %> (<%= format_num facet_count_for_value %>)</span>
|
|
37
|
-
<% link_options = remove_facet_params(solr_fname, item.value, params).merge!({ controller: "catalog", action: "index" }) %>
|
|
38
|
-
[<%= link_to 'remove', url_for(link_options), class: 'remove' %>]
|
|
39
|
-
</li>
|
|
40
|
-
<% else %>
|
|
41
|
-
<%- if item_counter > Blacklight.config[:facet_more_num]-1 -%>
|
|
42
|
-
<li class="more">
|
|
43
|
-
<%- else -%>
|
|
44
|
-
<li>
|
|
45
|
-
<%- end -%>
|
|
46
|
-
<% link_options = add_facet_params(solr_fname, item.value).merge!({ controller: "catalog", action: "index" }) %>
|
|
47
|
-
<%= link_to h(item.value), url_for(link_options) %> (<%= format_num facet_count_for_value %>)
|
|
48
|
-
</li>
|
|
49
|
-
<% end -%>
|
|
50
|
-
<% end -%>
|
|
51
|
-
<% item_counter += 1 %>
|
|
52
|
-
<% end %>
|
|
53
|
-
<%= display_facet.items.length >
|
|
54
|
-
Blacklight.config[:facet_more_num] ? "<li class='more_li'><a href=''
|
|
55
|
-
class='more_link'
|
|
56
|
-
title='more
|
|
57
|
-
#{pluralize(2,
|
|
58
|
-
facet_field_labels[solr_fname])[2..-1].downcase}'>more<span class='off_screen'>
|
|
59
|
-
#{pluralize(2,
|
|
60
|
-
facet_field_labels[solr_fname])[2..-1].downcase}</span></a></li>"
|
|
61
|
-
: "" %>
|
|
62
|
-
<%= display_facet.items.length >
|
|
63
|
-
Blacklight.config[:facet_more_num] ? "<li class='less_li'
|
|
64
|
-
style='display:none;'><a href=''
|
|
65
|
-
class='more_link'
|
|
66
|
-
title='less
|
|
67
|
-
#{pluralize(2,
|
|
68
|
-
facet_field_labels[solr_fname])[2..-1].downcase}'>less<span class='off_screen'>
|
|
69
|
-
#{pluralize(2,
|
|
70
|
-
facet_field_labels[solr_fname])[2..-1].downcase}</span></a></li>"
|
|
71
|
-
: "" %>
|
|
72
|
-
</ul>
|
|
73
|
-
<% end %>
|
|
74
|
-
</div>
|
|
75
|
-
<% end %>
|
|
76
|
-
</div>
|
|
77
|
-
<script type="text/javascript">
|
|
78
|
-
$(".more").toggle();
|
|
79
|
-
$('.more_link').each(function(){
|
|
80
|
-
$(this).click(function(){
|
|
81
|
-
$(this).parent().parent().children("li.more").toggle();
|
|
82
|
-
$(this).parent().parent().children("li.more_li").toggle();
|
|
83
|
-
$(this).parent().parent().children("li.less_li").toggle();
|
|
84
|
-
return false;
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
</script>
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Dashboard::FilesController do
|
|
4
|
-
describe "logged in user" do
|
|
5
|
-
before (:each) do
|
|
6
|
-
@user = FactoryGirl.find_or_create(:archivist)
|
|
7
|
-
sign_in @user
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
describe "#index" do
|
|
11
|
-
before do
|
|
12
|
-
GenericFile.destroy_all
|
|
13
|
-
Collection.destroy_all
|
|
14
|
-
@my_file = FactoryGirl.create(:generic_file, depositor: @user)
|
|
15
|
-
@my_collection = Collection.new(title: "test collection").tap do |c|
|
|
16
|
-
c.apply_depositor_metadata(@user.user_key)
|
|
17
|
-
end
|
|
18
|
-
@my_collection.save!
|
|
19
|
-
@shared_file = FactoryGirl.build(:generic_file).tap do |r|
|
|
20
|
-
r.apply_depositor_metadata FactoryGirl.create(:user)
|
|
21
|
-
r.edit_users += [@user.user_key]
|
|
22
|
-
r.save!
|
|
23
|
-
end
|
|
24
|
-
@unrelated_file = FactoryGirl.create(:generic_file, depositor: FactoryGirl.create(:user))
|
|
25
|
-
@wrong_type = Batch.create
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
it "should respond with success" do
|
|
29
|
-
get :index
|
|
30
|
-
expect(response).to be_successful
|
|
31
|
-
expect(response).to render_template('dashboard/lists/index')
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "sets the controller name" do
|
|
35
|
-
expect(controller.controller_name).to eq :dashboard
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it "should paginate" do
|
|
39
|
-
FactoryGirl.create(:generic_file)
|
|
40
|
-
FactoryGirl.create(:generic_file)
|
|
41
|
-
get :index, per_page: 2
|
|
42
|
-
expect(assigns[:document_list].length).to eq 2
|
|
43
|
-
get :index, per_page: 2, page: 2
|
|
44
|
-
expect(assigns[:document_list].length).to be >= 1
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it "shows the correct files" do
|
|
48
|
-
get :index
|
|
49
|
-
# shows documents I deposited
|
|
50
|
-
expect(assigns[:document_list].map(&:id)).to include(@my_file.id)
|
|
51
|
-
# doesn't show collections
|
|
52
|
-
expect(assigns[:document_list].map(&:id)).to_not include(@my_collection.id)
|
|
53
|
-
# doesn't show shared files
|
|
54
|
-
expect(assigns[:document_list].map(&:id)).to_not include(@shared_file.id)
|
|
55
|
-
# doesn't show other users' files
|
|
56
|
-
expect(assigns[:document_list].map(&:id)).to_not include(@unrelated_file.id)
|
|
57
|
-
# doesn't show non-generic files
|
|
58
|
-
expect(assigns[:document_list].map(&:id)).to_not include(@wrong_type.id)
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
describe "not logged in as a user" do
|
|
64
|
-
describe "#index" do
|
|
65
|
-
it "should return an error" do
|
|
66
|
-
get :index
|
|
67
|
-
expect(response).to be_redirect
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
end
|