curate 0.6.1 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +135 -51
  3. data/app/assets/images/curate/default.png +0 -0
  4. data/app/assets/stylesheets/layout/positioning.css.scss +4 -0
  5. data/app/assets/stylesheets/modules/search_results.css.scss +4 -0
  6. data/app/controllers/concerns/curate/fields_for_add_to_collection.rb +9 -0
  7. data/app/controllers/curation_concern/base_controller.rb +1 -0
  8. data/app/controllers/curation_concern/generic_files_controller.rb +1 -0
  9. data/app/models/concerns/curate/ability.rb +6 -2
  10. data/app/repository_models/curation_concern/model.rb +1 -1
  11. data/app/repository_models/generic_file.rb +4 -0
  12. data/app/views/application/_add_to_collection_gui.html.erb +19 -0
  13. data/app/views/catalog/_index_partials/_identifier_and_action.html.erb +19 -11
  14. data/app/views/collections/_collection.html.erb +2 -27
  15. data/app/views/curate/collections/_form_to_add_member.html.erb +12 -10
  16. data/app/views/curate/collections/add_member_form.html.erb +4 -2
  17. data/app/views/curation_concern/base/_collections.html.erb +0 -10
  18. data/app/views/curation_concern/base/_related_files.html.erb +1 -1
  19. data/app/views/curation_concern/base/_representative_media.html.erb +8 -0
  20. data/app/views/curation_concern/base/_thumbnail.html.erb +7 -5
  21. data/app/views/curation_concern/base/show.html.erb +14 -6
  22. data/app/views/curation_concern/documents/_document.html.erb +1 -1
  23. data/app/views/curation_concern/generic_files/_media_display.html.erb +11 -1
  24. data/app/views/curation_concern/generic_files/show.html.erb +1 -1
  25. data/app/views/curation_concern/people/_person.html.erb +2 -20
  26. data/app/views/profiles/_profile.html.erb +2 -27
  27. data/lib/curate/spec_support.rb +1 -2
  28. data/lib/curate/version.rb +1 -1
  29. data/spec/features/catalog_search_spec.rb +0 -30
  30. data/spec/features/generic_file_spec.rb +2 -1
  31. data/spec/features/generic_work_spec.rb +0 -10
  32. data/spec/features/thumbnail_display_spec.rb +5 -2
  33. data/spec/helpers/curate_helper_spec.rb +27 -0
  34. data/spec/internal/Gemfile.lock +6 -6
  35. data/spec/internal/config/initializers/devise.rb +2 -2
  36. data/spec/internal/config/initializers/secret_token.rb +1 -1
  37. data/spec/internal/db/development.sqlite3 +0 -0
  38. data/spec/internal/db/migrate/{20131203200422_devise_create_users.rb → 20131205204122_devise_create_users.rb} +0 -0
  39. data/spec/internal/db/migrate/{20131203200427_add_devise_guests_to_users.rb → 20131205204126_add_devise_guests_to_users.rb} +0 -0
  40. data/spec/internal/db/migrate/{20131203200428_create_searches.rb → 20131205204127_create_searches.rb} +0 -0
  41. data/spec/internal/db/migrate/{20131203200429_create_bookmarks.rb → 20131205204128_create_bookmarks.rb} +0 -0
  42. data/spec/internal/db/migrate/{20131203200430_remove_editable_fields_from_bookmarks.rb → 20131205204129_remove_editable_fields_from_bookmarks.rb} +0 -0
  43. data/spec/internal/db/migrate/{20131203200431_add_user_types_to_bookmarks_searches.rb → 20131205204130_add_user_types_to_bookmarks_searches.rb} +0 -0
  44. data/spec/internal/db/migrate/{20131203200432_acts_as_follower_migration.rb → 20131205204131_acts_as_follower_migration.rb} +0 -0
  45. data/spec/internal/db/migrate/{20131203200433_add_social_to_users.rb → 20131205204132_add_social_to_users.rb} +0 -0
  46. data/spec/internal/db/migrate/{20131203200434_create_single_use_links.rb → 20131205204133_create_single_use_links.rb} +0 -0
  47. data/spec/internal/db/migrate/{20131203200435_add_ldap_attrs_to_user.rb → 20131205204134_add_ldap_attrs_to_user.rb} +0 -0
  48. data/spec/internal/db/migrate/{20131203200436_add_avatars_to_users.rb → 20131205204135_add_avatars_to_users.rb} +0 -0
  49. data/spec/internal/db/migrate/{20131203200437_create_checksum_audit_logs.rb → 20131205204136_create_checksum_audit_logs.rb} +0 -0
  50. data/spec/internal/db/migrate/{20131203200438_create_version_committers.rb → 20131205204137_create_version_committers.rb} +0 -0
  51. data/spec/internal/db/migrate/{20131203200439_add_groups_to_users.rb → 20131205204138_add_groups_to_users.rb} +0 -0
  52. data/spec/internal/db/migrate/{20131203200440_create_local_authorities.rb → 20131205204139_create_local_authorities.rb} +0 -0
  53. data/spec/internal/db/migrate/{20131203200441_create_trophies.rb → 20131205204140_create_trophies.rb} +0 -0
  54. data/spec/internal/db/migrate/{20131203200450_create_mailboxer.mailboxer_engine.rb → 20131205204152_create_mailboxer.mailboxer_engine.rb} +0 -0
  55. data/spec/internal/db/migrate/{20131203200451_add_notified_object.mailboxer_engine.rb → 20131205204153_add_notified_object.mailboxer_engine.rb} +0 -0
  56. data/spec/internal/db/migrate/{20131203200452_add_notification_code.mailboxer_engine.rb → 20131205204154_add_notification_code.mailboxer_engine.rb} +0 -0
  57. data/spec/internal/db/migrate/{20131203200453_add_attachments.mailboxer_engine.rb → 20131205204155_add_attachments.mailboxer_engine.rb} +0 -0
  58. data/spec/internal/db/migrate/{20131203200454_rename_receipts_read.mailboxer_engine.rb → 20131205204156_rename_receipts_read.mailboxer_engine.rb} +0 -0
  59. data/spec/internal/db/migrate/{20131203200455_add_global_notification_support.mailboxer_engine.rb → 20131205204157_add_global_notification_support.mailboxer_engine.rb} +0 -0
  60. data/spec/internal/db/migrate/{20131203200459_add_terms_of_service_to_user.curate_engine.rb → 20131205204202_add_terms_of_service_to_user.curate_engine.rb} +0 -0
  61. data/spec/internal/db/migrate/{20131203200460_add_user_force_update_profile.curate_engine.rb → 20131205204203_add_user_force_update_profile.curate_engine.rb} +0 -0
  62. data/spec/internal/db/migrate/{20131203200461_create_help_requests.curate_engine.rb → 20131205204204_create_help_requests.curate_engine.rb} +0 -0
  63. data/spec/internal/db/migrate/{20131203200462_add_repository_id_to_user.curate_engine.rb → 20131205204205_add_repository_id_to_user.curate_engine.rb} +0 -0
  64. data/spec/internal/db/migrate/{20131203200463_create_curate_proxy_deposit_rights.curate_engine.rb → 20131205204206_create_curate_proxy_deposit_rights.curate_engine.rb} +0 -0
  65. data/spec/internal/db/migrate/{20131203200464_change_display_name_to_name.curate_engine.rb → 20131205204207_change_display_name_to_name.curate_engine.rb} +0 -0
  66. data/spec/internal/db/schema.rb +1 -1
  67. data/spec/internal/db/test.sqlite3 +0 -0
  68. data/spec/internal/log/development.log +203 -191
  69. data/spec/internal/log/test.log +84621 -104943
  70. data/spec/internal/spec/factories/spams_factory.rb +0 -1
  71. data/spec/internal/spec/fixtures/cassettes/remotely_identified_doi_mint_generic_work.yml +13 -14
  72. data/spec/internal/spec/fixtures/cassettes/remotely_identified_doi_mint_spam.yml +13 -14
  73. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/search_results.css.scssc +0 -0
  74. data/spec/internal/tmp/cache/assets/test/sass/953d624c1831fcea22a3be549290f4c654726e96/positioning.css.scssc +0 -0
  75. data/spec/internal/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  76. data/spec/internal/tmp/cache/assets/test/sprockets/163665b72c8e98b0c88c19896f080bc4 +0 -0
  77. data/spec/internal/tmp/cache/assets/test/sprockets/1c1167e9384b80e15359a663448a3196 +0 -0
  78. data/spec/internal/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  79. data/spec/internal/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  80. data/spec/internal/tmp/cache/assets/test/sprockets/4132e961bdf0f2ffa2f96a4c7822e209 +0 -0
  81. data/spec/internal/tmp/cache/assets/test/sprockets/41dd5dbd03cfa3f49e2d7569ffd03f8d +0 -0
  82. data/spec/internal/tmp/cache/assets/test/sprockets/611235bfd282813bdfbc998bcbe798e8 +0 -0
  83. data/spec/internal/tmp/cache/assets/test/sprockets/7d4fe23150294500a7bcd2630667e5c8 +0 -0
  84. data/spec/internal/tmp/cache/assets/test/sprockets/{7078324d4486aa4ba7a6c21debbf3638 → 98ad78dc8c309689440b20bfa7372b3e} +0 -0
  85. data/spec/internal/tmp/cache/assets/test/sprockets/ada353bb8ffe3eb0f2dd479e6d869a70 +0 -0
  86. data/spec/internal/tmp/cache/assets/test/sprockets/b148a5e98ff09a12b6a2139af1e62e46 +0 -0
  87. data/spec/internal/tmp/cache/assets/test/sprockets/{f0817826ed378d461b95e0e1ac870fcf → c14352828e1be2bbf3199771a34f9c57} +0 -0
  88. data/spec/internal/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  89. data/spec/internal/tmp/cache/assets/test/sprockets/d510daa6eb0cd4805bff7fd0990dfdb5 +0 -0
  90. data/spec/internal/tmp/cache/assets/test/sprockets/d610f39602b6149ca02638c1728778b5 +0 -0
  91. data/spec/internal/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  92. data/spec/internal/tmp/cache/assets/test/sprockets/e9c2a0f2fa471ace3f7ed3a1f1b9ffc5 +0 -0
  93. data/spec/internal/tmp/cache/assets/test/sprockets/ea0ece5befbce765051e27cf991cc805 +0 -0
  94. data/spec/internal/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  95. data/spec/matchers.rb +24 -0
  96. data/spec/{support/matchers → matchers}/metadata_field_matchers.rb +0 -0
  97. data/spec/{support/matchers → matchers}/raise_rescue_response_type_matcher.rb +0 -0
  98. data/spec/repository_models/generic_file_spec.rb +11 -0
  99. data/spec/spec_helper.rb +3 -2
  100. data/spec/support/shared/shared_examples_with_related_works.rb +0 -1
  101. data/spec/views/application/_add_to_collection_gui.html.erb_spec.rb +60 -0
  102. data/spec/views/curate/collections/_form_to_add_member.html.erb_spec.rb +11 -11
  103. data/spec/views/curation_concern/base/_collection.html.erb_spec.rb +0 -2
  104. data/spec/views/curation_concern/base/_related_files.html.erb_spec.rb +16 -0
  105. data/spec/views/curation_concern/base/_representative_media.html.erb_spec.rb +15 -0
  106. data/spec/views/curation_concern/base/_thumbnail.html.erb_spec.rb +27 -0
  107. data/spec/views/curation_concern/generic_files/_media_display.html.erb_spec.rb +34 -0
  108. data/spec/views/curation_concern/generic_files/show.html.erb_spec.rb +12 -0
  109. metadata +87 -74
  110. data/app/views/catalog/_add_to_collection_gui.html.erb +0 -15
  111. data/app/views/curation_concern/base/_add_to_collection_gui.html.erb +0 -18
  112. data/app/views/curation_concern/base/_form_to_add_collection.html.erb +0 -9
  113. data/app/views/curation_concern/base/_representative_image.html.erb +0 -6
  114. data/spec/views/catalog/_add_to_collection_gui.html.erb_spec.rb +0 -48
  115. data/spec/views/curation_concern/base/_add_to_collection_gui.html.erb_spec.rb +0 -34
@@ -1,24 +1,26 @@
1
+ <% fieldset_class ||= '' %>
2
+ <% select_label_id ||= '' %>
3
+
1
4
  <%= form_tag add_member_collections_path, method: :put do %>
2
5
  <fieldset class="required <%= fieldset_class %>">
3
- <% if collectible %>
4
- <%= hidden_field_tag :collectible_id, collectible.pid %>
5
- <% end %>
6
+ <%= hidden_field_tag :collectible_id, collectible.pid %>
6
7
 
7
8
  <div class="control-group collection_id">
8
9
  <div class="controls">
9
- <% options = '<option selected="true" disabled="disabled">Make a Selection</option>'.html_safe %>
10
- <%- if (collection = (@collection_options || [] ).reject {|n| n == collectible}).any? -%>
10
+ <% options = "" %>
11
+ <% collections = available_collections(collectible) %>
12
+ <% if collections.any? -%>
11
13
  <% options << '<optgroup label="Your Collections">'.html_safe %>
12
- <% options << options_from_collection_for_select(collection, "pid", "title") %>
14
+ <% options << options_from_collection_for_select(collections, "pid", "title") %>
13
15
  <% options << '</optgroup>'.html_safe %>
14
- <%- end -%>
16
+ <% end %>
15
17
  <% options << options_from_collection_for_select(available_profiles, "pid", "title") %>
16
- <%- if current_users_profile_sections.any? -%>
18
+ <% if current_users_profile_sections.any? %>
17
19
  <% options << '<optgroup label="Profile Sections">'.html_safe %>
18
20
  <% options << options_from_collection_for_select(current_users_profile_sections, "pid", "title") %>
19
21
  <% options << '</optgroup>'.html_safe %>
20
- <%- end -%>
21
- <%= select_tag :profile_collection_id, options, include_blank: true, class: 'input-xlarge' %>
22
+ <% end %>
23
+ <%= select_tag :profile_collection_id, options, prompt: 'Make a Selection', class: 'input-xlarge', :'aria-labelledby' => select_label_id %>
22
24
  </div>
23
25
  </div>
24
26
 
@@ -1,4 +1,6 @@
1
1
  <% content_for :page_header do %>
2
- <h1>Add <%= @collectible %> to:</h1>
2
+ <h1 id="add-to-title">Add <%= @collectible %> to:</h1>
3
+ <% end %>
4
+ <% if can? :collect, @collectible %>
5
+ <%= render partial: 'form_to_add_member', locals: { collectible: @collectible, select_label_id: 'add-to-title', button_class: 'btn btn-primary' } %>
3
6
  <% end %>
4
- <%= render partial: 'form_to_add_member', locals: { collectible: @collectible, fieldset_class: '' } %>
@@ -19,13 +19,3 @@
19
19
  </tbody>
20
20
  </table>
21
21
  <% end %>
22
-
23
- <%- if current_user %>
24
- <%- if has_any_collections? %>
25
- <%= render 'add_to_collection_gui', collectible: curation_concern %>
26
- <%- else %>
27
- <div class="span12 main-header">
28
- <p><em>You have no collections in which to add this <%= curation_concern.human_readable_type %>.</em></p>
29
- </div>
30
- <%- end -%>
31
- <%- end -%>
@@ -48,7 +48,7 @@
48
48
  <%- end -%>
49
49
  <%- end -%>
50
50
  <%- if can?(:read, generic_file) -%>
51
- <%= render 'curation_concern/generic_files/media_display', generic_file: generic_file %>
51
+ <%= link_to 'Download', download_path(generic_file.noid),{class: 'btn', title: "Download #{generic_file.to_s.inspect}", :target => "_blank"}%>
52
52
  <%- end -%>
53
53
  </td>
54
54
  </tr>
@@ -0,0 +1,8 @@
1
+ <% if work.representative.present? && (gf = GenericFile.load_instance_from_solr(work.representative)) %>
2
+ <%= render partial: 'curation_concern/generic_files/media_display', locals: {generic_file: gf, dom_class_name: 'representative_image'} %>
3
+ <% elsif work.representative.present? %>
4
+ <%= image_tag download_path(work.representative, {:datastream_id => 'thumbnail'}), class: 'representative_image' %>
5
+ <% else %>
6
+ <%= image_tag 'curate/nope.png', class: "canonical-image" %>
7
+ <% end %>
8
+
@@ -1,5 +1,7 @@
1
- <%- if thumbnail.representative.present? -%>
2
- <%= image_tag download_path(thumbnail.representative, {:datastream_id => 'thumbnail'}), class: dom_class_name %>
3
- <%- else -%>
4
- <%= image_tag 'curate/nope.png', class: "canonical-image" %>
5
- <%- end -%>
1
+ <% width = 36 if width.blank? %>
2
+ <% if thumbnail.image? || thumbnail.pdf? || thumbnail.video? %>
3
+ <% path = download_path(thumbnail, {datastream_id: 'thumbnail'}) %>
4
+ <% else %>
5
+ <% path = "curate/default.png" %>
6
+ <% end %>
7
+ <%= link_to image_tag(path, width: width, class: 'thumbnail'), curation_concern_generic_file_path(thumbnail.noid), class: 'canonical-image' %>
@@ -2,7 +2,7 @@
2
2
  <% content_for :page_header do %>
3
3
  <h1><%= curation_concern %> <span class="human_readable_type">(<%= curation_concern.human_readable_type %>)</span></h1>
4
4
  <% end %>
5
- <%= render partial: 'representative_image', locals: {work: curation_concern} %>
5
+ <%= render partial: 'representative_media', locals: {work: curation_concern} %>
6
6
 
7
7
  <%= render 'attributes', curation_concern: curation_concern %>
8
8
  <%= render 'doi', curation_concern: curation_concern %>
@@ -12,12 +12,20 @@
12
12
  <%= render 'related_works', curation_concern: curation_concern, with_actions: true %>
13
13
  <%= render 'collections', curation_concern: curation_concern %>
14
14
 
15
- <% content_for :second_row do %>
16
- <% if can?(:edit, curation_concern) %>
15
+ <% collector = can?(:collect, curation_concern) %>
16
+ <% editor = can?(:edit, curation_concern) %>
17
+ <% if collector || editor %>
18
+ <% content_for :second_row do %>
17
19
  <div class="form-actions">
18
- <%= link_to "Edit This #{curation_concern.human_readable_type}", edit_polymorphic_path([:curation_concern, curation_concern]), class: 'btn btn-primary' %>
19
- <%= link_to "Attach a File", new_curation_concern_generic_file_path(curation_concern), class: 'btn btn-primary' %>
20
- <%= link_to "Add an External Link", new_curation_concern_linked_resource_path(curation_concern), class: 'btn btn-primary' %>
20
+ <% if editor %>
21
+ <%= link_to "Edit This #{curation_concern.human_readable_type}", edit_polymorphic_path([:curation_concern, curation_concern]), class: 'btn btn-primary' %>
22
+ <%= link_to "Attach a File", new_curation_concern_generic_file_path(curation_concern), class: 'btn btn-primary' %>
23
+ <%= link_to "Add an External Link", new_curation_concern_linked_resource_path(curation_concern), class: 'btn btn-primary' %>
24
+ <% end %>
25
+ <% if collector %>
26
+ <%= render 'add_to_collection_gui', collectible: curation_concern, button_class: 'btn btn-primary' %>
27
+ <% end %>
21
28
  </div>
22
29
  <% end %>
23
30
  <% end %>
31
+
@@ -2,7 +2,7 @@
2
2
  <% solr_doc = document.inner_object.solr_doc %>
3
3
  <li id="document_<%= document.noid %>" class="search-result">
4
4
 
5
- <%= render :partial => 'catalog/_index_partials/identifier_and_action', locals: {document: document, counter: document_counter} %>
5
+ <%= render :partial => 'catalog/_index_partials/identifier_and_action', locals: {document: document, counter: document_counter, solr_doc: solr_doc} %>
6
6
 
7
7
  <div class="row-fluid">
8
8
 
@@ -1 +1,11 @@
1
- <%= link_to 'Download', download_path(generic_file.noid),{class: 'btn', title: "Download #{generic_file.to_s.inspect}", :target => "_blank"}%>
1
+ <%- if generic_file.image? -%>
2
+ <%= image_tag download_path(generic_file, datastream_id: 'thumbnail'), class: 'representative_image' %>
3
+ <% elsif generic_file.audio? %>
4
+ <audio controls="controls" class="video-js vjs-default-skin" data-setup="{}" preload="auto">
5
+ <source src="<%= download_path(generic_file, datastream_id: 'ogg') %>" type="audio/ogg" />
6
+ <source src="<%= download_path(generic_file, datastream_id: 'mp3') %>" type="audio/mpeg" />
7
+ Your browser does not support the audio tag.
8
+ </audio>
9
+ <%- else -%>
10
+ <%= image_tag 'curate/nope.png', class: "canonical-image" %>
11
+ <%- end -%>
@@ -2,7 +2,7 @@
2
2
  <% content_for :page_header do %>
3
3
  <h1>File Details</h1>
4
4
  <% end %>
5
- <%= render partial: 'thumbnail', locals: {thumbnail: curation_concern, dom_class_name: 'representative_image'} %>
5
+ <%= render partial: 'media_display', locals: {generic_file: curation_concern, dom_class_name: 'representative_image'} %>
6
6
  <%= render "attributes", curation_concern: curation_concern %>
7
7
 
8
8
  <div class="form-actions">
@@ -1,27 +1,9 @@
1
1
  <%# This is a search result view %>
2
2
  <% noid = person.noid %>
3
+ <% solr_doc = person.inner_object.solr_doc %>
3
4
  <li id="document_<%= noid %>" class="search-result">
4
5
 
5
- <div class="row-fluid">
6
-
7
- <div class="span2 list-number">
8
- <%= document_counter_with_offset( person_counter ) %>
9
- <%= render :partial => 'catalog/_index_partials/type_display', locals: {document: person} %>
10
- </div>
11
-
12
- <div class="span6">
13
- <% solr_doc = person.inner_object.solr_doc %>
14
- <%# Minimize Fedora hits by using solr_doc rather than document %>
15
- <%= link_to render_index_field_value(document: solr_doc, field: 'desc_metadata__name_tesim'), person, :id => "src_copy_link_#{noid}" %>
16
- </div>
17
-
18
- <div class="span4">
19
- <% if current_user -%>
20
- <%= render partial: 'add_to_collection_gui', locals: { document: person } %>
21
- <% end -%>
22
- </div>
23
-
24
- </div>
6
+ <%= render :partial => 'catalog/_index_partials/identifier_and_action', locals: { document: person, counter: person_counter, title_link_target: person, title_link_text: person.name, edit_path: '' } %>
25
7
 
26
8
  <div class="row-fluid">
27
9
 
@@ -1,34 +1,9 @@
1
1
  <%# This is a search result view %>
2
2
  <% noid = profile.noid %>
3
+ <% solr_doc = profile.inner_object.solr_doc %>
3
4
  <li id="document_<%= noid %>" class="search-result">
4
5
 
5
- <div class="row-fluid">
6
-
7
- <div class="span2 list-number">
8
- <%= document_counter_with_offset( profile_counter ) %>
9
- <%= render :partial => 'catalog/_index_partials/type_display', locals: {document: profile} %>
10
- </div>
11
-
12
- <div class="span6">
13
- <% solr_doc = profile.inner_object.solr_doc %>
14
- <%# Minimize Fedora hits by using solr_doc rather than document %>
15
- <%= link_to render_index_field_value(document: solr_doc, field: 'desc_metadata__title_tesim'), profile, :id => "src_copy_link_#{noid}" %>
16
- </div>
17
-
18
- <div class="span4">
19
- <% if current_user %>
20
- <%= render partial: 'add_to_collection_gui', locals: { document: profile } %>
21
-
22
- <%= link_to(
23
- raw('<i class="icon-pencil icon-large"></i>'),
24
- edit_collection_path(profile),
25
- :class=> 'itemicon itemedit btn pull-right',
26
- :title => 'Edit Profile'
27
- ) if can? :edit, profile %>
28
- <% end -%>
29
- </div>
30
-
31
- </div>
6
+ <%= render :partial => 'catalog/_index_partials/identifier_and_action', locals: { document: profile, counter: profile_counter, title_link_target: profile, edit_path: edit_profile_path(profile), solr_doc: solr_doc } %>
32
7
 
33
8
  <div class="row-fluid">
34
9
 
@@ -3,8 +3,7 @@
3
3
  # Then we should expose those spec support files to that applications
4
4
  spec_directory = File.expand_path('../../../spec', __FILE__)
5
5
  require "rails/test_help"
6
- require 'rspec/rails'
7
- require 'rspec-html-matchers'
6
+ require "rspec/rails"
8
7
  require 'factory_girl'
9
8
  require 'capybara/poltergeist'
10
9
  Dir["#{spec_directory}/factories/**/*.rb"].each { |f| require f }
@@ -1,3 +1,3 @@
1
1
  module Curate
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.3"
3
3
  end
@@ -65,25 +65,6 @@ describe "Search for a work" do
65
65
  end
66
66
  end
67
67
 
68
- context "Facet - Cancel bar" do
69
- let(:user) { FactoryGirl.create(:user) }
70
- let!(:collection) { FactoryGirl.create(:public_collection, user: user, title: 'Collected Stuff') }
71
- let!(:work1) { FactoryGirl.create(:generic_work, user: user, title: 'Work 1') }
72
- let!(:work2) { FactoryGirl.create(:generic_work, user: user, title: 'Work 2') }
73
- before do
74
- login_as(user)
75
- add_to_collection(work1)
76
- add_to_collection(work2)
77
- end
78
- it "should display collection title and not PID" do
79
- visit catalog_index_path
80
- within "ul#facets" do
81
- click_link "Collected Stuff"
82
- end
83
- page.should have_content("Collected Stuff X")
84
- end
85
- end
86
-
87
68
  protected
88
69
  def create_collection
89
70
  visit('/')
@@ -109,15 +90,4 @@ describe "Search for a work" do
109
90
  end
110
91
  end
111
92
 
112
- def add_to_collection(work)
113
- visit catalog_index_path
114
- within "#document_#{work.noid}" do
115
- click_on 'Add to Collection'
116
- end
117
- within "#main form" do
118
- select('Collected Stuff')
119
- click_on 'Add'
120
- end
121
- end
122
-
123
93
  end
@@ -74,7 +74,8 @@ describe 'Uploading Generic File' do
74
74
  curation_concern.save!
75
75
  login_as(user)
76
76
  end
77
- it 'should change versions correctly' do
77
+
78
+ xit 'should change versions correctly', redundant: true do
78
79
  visit new_curation_concern_generic_file_path(curation_concern)
79
80
 
80
81
  within("form.new_generic_file") do
@@ -51,15 +51,6 @@ describe 'An existing generic work owned by the user' do
51
51
  click_link 'Add an External Link'
52
52
  page.should have_link('Cancel', href: catalog_index_path)
53
53
  end
54
-
55
- context 'when the user has no collections yet,' do
56
-
57
- it 'displays a message instead of the widget to add a work to a collection' do
58
- login_as(user)
59
- visit curation_concern_generic_work_path(work)
60
- expect(page).to have_content('You have no collections')
61
- end
62
- end
63
54
  end
64
55
 
65
56
  describe 'Viewing a generic work that is private' do
@@ -88,4 +79,3 @@ describe 'When I click on the link to create a work: ' do
88
79
  end
89
80
  end
90
81
 
91
-
@@ -10,6 +10,7 @@ describe 'display thumbnail' do
10
10
  context 'Display thumbnail for associated iamges' do
11
11
  before do
12
12
  generic_file2.datastreams['thumbnail'].content = image_file
13
+ generic_file2.mime_type = 'image/png'
13
14
  generic_file2.save!
14
15
  curation_concern.generic_files << generic_file2
15
16
  curation_concern.save!
@@ -25,8 +26,10 @@ describe 'display thumbnail' do
25
26
  context 'File Representative:' do
26
27
  before do
27
28
  generic_file1.datastreams['thumbnail'].content = image_file
29
+ generic_file1.mime_type = 'image/png'
28
30
  generic_file1.save!
29
31
  generic_file2.datastreams['thumbnail'].content = image_file
32
+ generic_file2.mime_type = 'image/png'
30
33
  generic_file2.save!
31
34
  curation_concern.generic_files << generic_file1
32
35
  curation_concern.generic_files << generic_file2
@@ -36,10 +39,10 @@ describe 'display thumbnail' do
36
39
  it 'should show thumbnail when a representative is selected for the work' do
37
40
  login_as(user)
38
41
  visit curation_concern_image_path(curation_concern)
39
- page.should have_css("img[src$='#{generic_file1.pid}?datastream_id=thumbnail'][class$='representative_image']")
42
+ page.should have_css("img[src$='#{generic_file1.to_param}?datastream_id=thumbnail'][class$='representative_image']")
40
43
  page.should have_css("img[src$='#{generic_file1.to_param}?datastream_id=thumbnail'][class$='thumbnail']")
41
44
  page.should have_css("img[src$='#{generic_file2.to_param}?datastream_id=thumbnail'][class$='thumbnail']")
42
- page.should_not have_css("img[src$='#{generic_file2.pid}?datastream_id=thumbnail'][class$='representative_image']")
45
+ page.should_not have_css("img[src$='#{generic_file2.to_param}?datastream_id=thumbnail'][class$='representative_image']")
43
46
  end
44
47
  end
45
48
  end
@@ -1,6 +1,33 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ApplicationHelper do
4
+
5
+ context '#collection_title_from_pid' do
6
+ let(:value) { 'abc' }
7
+ let(:collection) { double(title: 'Title') }
8
+ it 'should load the value and return the title' do
9
+ Collection.should_receive(:load_instance_from_solr).with(value).and_return(collection)
10
+ expect(helper.collection_title_from_pid(value)).to eq(collection.title)
11
+ end
12
+ it 'should attempt to load the value, fail, and return the value' do
13
+ Collection.should_receive(:load_instance_from_solr).with(value).and_return(nil)
14
+ expect(helper.collection_title_from_pid(value)).to eq(value)
15
+ end
16
+ end
17
+
18
+ context '#creator_name_from_pid' do
19
+ let(:value) { 'abc' }
20
+ let(:collection) { double(name: 'Name') }
21
+ it 'should load the value and return the name' do
22
+ Person.should_receive(:load_instance_from_solr).with(value).and_return(collection)
23
+ expect(helper.creator_name_from_pid(value)).to eq(collection.name)
24
+ end
25
+ it 'should attempt to load the value, fail, and return the value' do
26
+ Person.should_receive(:load_instance_from_solr).with(value).and_return(nil)
27
+ expect(helper.creator_name_from_pid(value)).to eq(value)
28
+ end
29
+ end
30
+
4
31
  it 'has #default_page_title' do
5
32
  expect(helper.default_page_title).to(
6
33
  eq("#{controller_name.titleize} // #{I18n.t('sufia.product_name')}")
@@ -10,7 +10,7 @@ GIT
10
10
  PATH
11
11
  remote: ../../../curate
12
12
  specs:
13
- curate (0.6.0)
13
+ curate (0.6.1)
14
14
  active_attr
15
15
  active_fedora-registered_attributes (~> 0.2.0)
16
16
  bootstrap-datepicker-rails
@@ -81,7 +81,7 @@ GEM
81
81
  multi_json (~> 1.3)
82
82
  thread_safe (~> 0.1)
83
83
  tzinfo (~> 0.3.37)
84
- acts_as_follower (0.2.0)
84
+ acts_as_follower (0.2.1)
85
85
  addressable (2.3.5)
86
86
  arel (4.0.1)
87
87
  atomic (1.1.14)
@@ -216,10 +216,10 @@ GEM
216
216
  hydra-access-controls (= 6.4.1)
217
217
  hydra-core (= 6.4.1)
218
218
  rails (>= 3.2.6)
219
- hydra-remote_identifier (0.6.1)
219
+ hydra-remote_identifier (0.6.2)
220
220
  activesupport (>= 3.2.13, < 5.0)
221
221
  rest-client (~> 1.6.7)
222
- i18n (0.6.8)
222
+ i18n (0.6.9)
223
223
  ice_nine (0.10.0)
224
224
  jbuilder (1.5.3)
225
225
  activesupport (>= 3.0.0)
@@ -318,7 +318,7 @@ GEM
318
318
  rdoc (3.12.2)
319
319
  json (~> 1.4)
320
320
  redis (3.0.6)
321
- redis-namespace (1.3.2)
321
+ redis-namespace (1.4.1)
322
322
  redis (~> 3.0.4)
323
323
  resque (1.25.1)
324
324
  mono_logger (~> 1.0)
@@ -431,7 +431,7 @@ GEM
431
431
  polyglot
432
432
  polyglot (>= 0.3.1)
433
433
  trollop (1.16.2)
434
- turbolinks (1.3.1)
434
+ turbolinks (2.0.0)
435
435
  coffee-rails
436
436
  tzinfo (0.3.38)
437
437
  uglifier (2.3.2)
@@ -4,7 +4,7 @@ Devise.setup do |config|
4
4
  # The secret key used by Devise. Devise uses this key to generate
5
5
  # random tokens. Changing this key will render invalid all existing
6
6
  # confirmation, reset password and unlock tokens in the database.
7
- config.secret_key = 'd0c5b78901a2ff76f54024b900bc7a6243d42c7872c16a4ac32defaa2b888b170130ce4313a6fb7c0a772d6931011df622ec1967fbe0fcb3811bbfd18d3e0c4e'
7
+ config.secret_key = 'e1a71ebe9846b0adaa7f20e03dc5712b18f31fad02b361c617c236e783ea8874d37317b1d63ee251a39978b83d1023552715483df57292c80f22d9ddfdbd4c71'
8
8
 
9
9
  # ==> Mailer Configuration
10
10
  # Configure the e-mail address which will be shown in Devise::Mailer,
@@ -95,7 +95,7 @@ Devise.setup do |config|
95
95
  config.stretches = Rails.env.test? ? 1 : 10
96
96
 
97
97
  # Setup a pepper to generate the encrypted password.
98
- # config.pepper = '6b72cd98335ba66b9865e24950ba66e1e2b3a69f0482a0cb1910c69618a0e7a150cb6b3b7ef2025789364abc4b77febc0887d5aff6edd713f55743820c905baf'
98
+ # config.pepper = '063037e779f5ef314ccf15ef0b462128474a92348d7971311526a93313355088b2b36c444bc7c32021e6f9e2413c681cabc5b65fbab154366890b2b1df8eff35'
99
99
 
100
100
  # ==> Configuration for :confirmable
101
101
  # A period that the user is allowed to access the website even without