sufia 4.0.0.rc1 → 4.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +2 -2
  4. data/Gemfile +9 -17
  5. data/README.md +18 -9
  6. data/Rakefile +10 -5
  7. data/SUFIA_VERSION +1 -1
  8. data/app/assets/javascripts/jquery.blacklightTagCloud.js +1 -1
  9. data/app/assets/javascripts/sufia.js +5 -22
  10. data/app/assets/javascripts/sufia/batch.js +8 -0
  11. data/app/assets/javascripts/sufia/batch_edit.js +19 -3
  12. data/app/assets/javascripts/sufia/dashboard_actions.js +23 -10
  13. data/app/assets/javascripts/sufia/multiForm.js +2 -2
  14. data/app/assets/javascripts/sufia/permissions.js +10 -9
  15. data/app/assets/javascripts/sufia/tabs.js +20 -0
  16. data/app/assets/stylesheets/catalog.css.scss +5 -0
  17. data/app/assets/stylesheets/collections.css.scss +40 -0
  18. data/app/assets/stylesheets/file-listing.css.scss +37 -13
  19. data/app/assets/stylesheets/generic_files.css.erb +5 -0
  20. data/app/assets/stylesheets/header.css.scss +1 -4
  21. data/app/assets/stylesheets/settings.css.scss +6 -0
  22. data/app/assets/stylesheets/styles.css.scss +4 -3
  23. data/app/assets/stylesheets/sufia-audio-overrides.css +2 -2
  24. data/app/assets/stylesheets/sufia.css.scss +27 -5
  25. data/app/assets/stylesheets/tagcloud.css +5 -1
  26. data/app/controllers/batch_controller.rb +3 -3
  27. data/app/controllers/concerns/sufia/batch_edits_controller_behavior.rb +14 -1
  28. data/app/controllers/concerns/sufia/catalog.rb +0 -1
  29. data/app/controllers/concerns/sufia/controller.rb +5 -0
  30. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +2 -9
  31. data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +3 -3
  32. data/app/controllers/concerns/sufia/files_controller_behavior.rb +5 -1
  33. data/app/controllers/concerns/sufia/homepage_controller.rb +1 -1
  34. data/app/controllers/concerns/sufia/users_controller_behavior.rb +3 -2
  35. data/app/helpers/batch_edits_helper.rb +6 -0
  36. data/app/helpers/generic_file_helper.rb +15 -0
  37. data/app/helpers/sufia/blacklight_override.rb +19 -3
  38. data/app/helpers/sufia/dashboard_helper_behavior.rb +25 -3
  39. data/app/helpers/sufia/records_helper_behavior.rb +13 -5
  40. data/app/helpers/sufia/sufia_helper_behavior.rb +15 -12
  41. data/app/models/concerns/sufia/solr_document_behavior.rb +5 -36
  42. data/app/views/_masthead.html.erb +1 -1
  43. data/app/views/_user_util_links.html.erb +6 -4
  44. data/app/views/advanced/_advanced_search_fields.html.erb +4 -4
  45. data/app/views/advanced/_advanced_search_form.html.erb +14 -17
  46. data/app/views/advanced/index.html.erb +3 -3
  47. data/app/views/batch/_metadata.html.erb +22 -24
  48. data/app/views/batch/_more_metadata.html.erb +1 -1
  49. data/app/views/batch/edit.html.erb +2 -2
  50. data/app/views/batch_edits/_check_all.html.erb +7 -9
  51. data/app/views/batch_edits/_delete_selected.html.erb +1 -0
  52. data/app/views/batch_edits/edit.html.erb +25 -26
  53. data/app/views/batch_edits/update_edit.js.erb +1 -1
  54. data/app/views/catalog/_facet_limit.html.erb +4 -12
  55. data/app/views/catalog/_search_form.html.erb +8 -13
  56. data/app/views/collections/_action_menu.html.erb +2 -2
  57. data/app/views/collections/_collection.html.erb +10 -31
  58. data/app/views/collections/_document_list.html.erb +1 -1
  59. data/app/views/collections/_edit_actions.html.erb +2 -2
  60. data/app/views/collections/_edit_descriptions.html.erb +3 -5
  61. data/app/views/collections/_form.html.erb +8 -10
  62. data/app/views/collections/_media_display.html.erb +1 -1
  63. data/app/views/collections/_show_actions.html.erb +5 -5
  64. data/app/views/collections/_show_descriptions.html.erb +13 -8
  65. data/app/views/collections/_show_document_list.html.erb +17 -0
  66. data/app/views/collections/_show_document_list_menu.html.erb +24 -0
  67. data/app/views/collections/_show_document_list_row.html.erb +63 -0
  68. data/app/views/collections/edit.html.erb +2 -2
  69. data/app/views/collections/show.html.erb +28 -19
  70. data/app/views/contact_form/new.html.erb +21 -29
  71. data/app/views/dashboard/_index_partials/_contents.html.erb +14 -0
  72. data/app/views/dashboard/_index_partials/_heading_actions.html.erb +18 -0
  73. data/app/views/dashboard/_index_partials/_heading_greetings.html.erb +8 -0
  74. data/app/views/dashboard/_index_partials/_stats.html.erb +6 -2
  75. data/app/views/dashboard/index.html.erb +5 -37
  76. data/app/views/generic_files/_breadcrumbs.html.erb +2 -0
  77. data/app/views/generic_files/_browse_everything.html.erb +2 -2
  78. data/app/views/generic_files/_descriptions.html.erb +4 -6
  79. data/app/views/generic_files/_field_form.html.erb +2 -2
  80. data/app/views/generic_files/_generic_file.html.erb +8 -29
  81. data/app/views/generic_files/_groups_description.html.erb +5 -4
  82. data/app/views/generic_files/_permission.html.erb +2 -2
  83. data/app/views/generic_files/_permission_form.html.erb +62 -77
  84. data/app/views/generic_files/_rights_modal.html.erb +0 -2
  85. data/app/views/generic_files/_share_with.html.erb +14 -0
  86. data/app/views/generic_files/_show_actions.html.erb +1 -1
  87. data/app/views/generic_files/_show_collections.html.erb +17 -0
  88. data/app/views/generic_files/_show_descriptions.html.erb +2 -2
  89. data/app/views/generic_files/_versioning.html.erb +2 -2
  90. data/app/views/generic_files/_visibility.html.erb +17 -0
  91. data/app/views/generic_files/show.html.erb +39 -2
  92. data/app/views/generic_files/stats.html.erb +1 -1
  93. data/app/views/generic_files/upload/_form_fields.html.erb +2 -2
  94. data/app/views/generic_files/upload/_local_file_import_chooser.html.erb +1 -1
  95. data/app/views/generic_files/upload/_script_templates.html.erb +2 -2
  96. data/app/views/generic_files/upload/_tos_checkbox.html.erb +3 -3
  97. data/app/views/homepage/_home_content.html.erb +0 -9
  98. data/app/views/homepage/_home_header.html.erb +1 -1
  99. data/app/views/homepage/_recent_document.html.erb +2 -2
  100. data/app/views/layouts/_head_tag_content.html.erb +7 -1
  101. data/app/views/layouts/sufia-dashboard.html.erb +4 -2
  102. data/app/views/layouts/sufia-one-column.html.erb +1 -1
  103. data/app/views/my/_action_menu.html.erb +1 -1
  104. data/app/views/my/_collection_action_menu.html.erb +3 -3
  105. data/app/views/my/_constraints.html.erb +11 -0
  106. data/app/views/my/_document_list.html.erb +1 -1
  107. data/app/views/my/_facet_limit.html.erb +4 -12
  108. data/app/views/my/_facets.html.erb +1 -3
  109. data/app/views/my/_index_partials/_default_group.html.erb +2 -3
  110. data/app/views/my/_index_partials/_list_collections.html.erb +17 -11
  111. data/app/views/my/_index_partials/_list_files.html.erb +20 -24
  112. data/app/views/my/_search_header.html.erb +5 -0
  113. data/app/views/my/_sort_and_per_page.html.erb +11 -7
  114. data/app/views/my/index.html.erb +9 -15
  115. data/app/views/records/_edit_field.html.erb +14 -10
  116. data/app/views/records/edit_fields/_default.html.erb +6 -0
  117. data/app/views/records/edit_fields/_description.html.erb +3 -7
  118. data/app/views/records/edit_fields/_resource_type.html.erb +4 -6
  119. data/app/views/records/edit_fields/_rights.html.erb +4 -5
  120. data/app/views/records/edit_fields/_suffix.html.erb +6 -3
  121. data/app/views/records/edit_fields/_type.html.erb +7 -12
  122. data/app/views/{generic_files → records}/show_fields/_based_near.html.erb +1 -1
  123. data/app/views/{generic_files → records}/show_fields/_contributor.html.erb +2 -2
  124. data/app/views/records/show_fields/_creator.html.erb +6 -0
  125. data/app/views/{generic_files → records}/show_fields/_date_created.html.erb +1 -1
  126. data/app/views/records/show_fields/_default.html.erb +6 -0
  127. data/app/views/records/show_fields/_description.html.erb +6 -0
  128. data/app/views/records/show_fields/_identifier.html.erb +4 -0
  129. data/app/views/{generic_files → records}/show_fields/_language.html.erb +1 -1
  130. data/app/views/{generic_files → records}/show_fields/_publisher.html.erb +1 -1
  131. data/app/views/records/show_fields/_related_url.html.erb +6 -0
  132. data/app/views/{generic_files → records}/show_fields/_resource_type.html.erb +1 -1
  133. data/app/views/{generic_files → records}/show_fields/_rights.html.erb +1 -1
  134. data/app/views/{generic_files → records}/show_fields/_subject.html.erb +1 -1
  135. data/app/views/{generic_files → records}/show_fields/_tag.html.erb +1 -1
  136. data/app/views/records/show_fields/_title.html.erb +6 -0
  137. data/app/views/shared/_attributes.html.erb +27 -0
  138. data/app/views/static/agreement.html.erb +1 -1
  139. data/app/views/users/_activity_log.html.erb +0 -2
  140. data/app/views/users/_follower_modal.html.erb +27 -23
  141. data/app/views/users/_following_modal.html.erb +27 -23
  142. data/app/views/users/_social_media_info.html.erb +4 -4
  143. data/app/views/users/_trophy_edit.html.erb +5 -7
  144. data/app/views/users/_user_info.html.erb +3 -3
  145. data/app/views/users/_user_util_links_extra.html.erb +4 -0
  146. data/app/views/users/edit.html.erb +28 -33
  147. data/app/views/users/index.html.erb +1 -1
  148. data/app/views/users/show.html.erb +0 -4
  149. data/config/jetty.yml +1 -1
  150. data/config/locales/sufia.en.yml +53 -12
  151. data/lib/generators/sufia/install_generator.rb +89 -0
  152. data/lib/generators/sufia/templates/catalog_controller.rb +1 -1
  153. data/lib/generators/sufia/upgrade400_generator.rb +4 -0
  154. data/lib/sufia.rb +1 -10
  155. data/lib/sufia/version.rb +1 -1
  156. data/solr_conf/conf/solrconfig.xml +31 -17
  157. data/spec/actors/generic_file/actor_spec.rb +17 -0
  158. data/spec/controllers/batch_controller_spec.rb +2 -2
  159. data/spec/controllers/batch_edits_controller_spec.rb +24 -19
  160. data/spec/controllers/catalog_controller_spec.rb +23 -12
  161. data/spec/controllers/collections_controller_spec.rb +19 -17
  162. data/spec/controllers/dashboard_controller_spec.rb +5 -19
  163. data/spec/controllers/generic_files_controller_spec.rb +35 -20
  164. data/spec/controllers/homepage_controller_spec.rb +25 -2
  165. data/spec/controllers/users_controller_spec.rb +99 -102
  166. data/spec/factories/generic_files.rb +2 -2
  167. data/spec/factories/users.rb +32 -2
  168. data/spec/features/browse_dashboard_files_spec.rb +14 -2
  169. data/spec/features/browse_files_spec.rb +5 -1
  170. data/spec/features/catalog_search_spec.rb +7 -6
  171. data/spec/features/collection_spec.rb +43 -33
  172. data/spec/features/display_dashboard_spec.rb +25 -22
  173. data/spec/features/notifications_spec.rb +9 -4
  174. data/spec/features/users_spec.rb +34 -25
  175. data/spec/fixtures/1.5mb-avatar.jpg +0 -0
  176. data/spec/helpers/batch_edits_helper_spec.rb +38 -0
  177. data/spec/helpers/dashboard_helper_spec.rb +16 -5
  178. data/spec/helpers/generic_file_helper_spec.rb +41 -0
  179. data/spec/helpers/records_helper_spec.rb +12 -0
  180. data/spec/jobs/active_fedora_pid_based_job_spec.rb +1 -1
  181. data/spec/jobs/audit_job_spec.rb +2 -3
  182. data/spec/jobs/batch_update_job_spec.rb +39 -24
  183. data/spec/jobs/event_jobs_spec.rb +1 -1
  184. data/spec/lib/sufia/id_service_spec.rb +25 -7
  185. data/spec/lib/sufia/messages_spec.rb +60 -0
  186. data/spec/lib/sufia/readable_permissions_spec.rb +56 -0
  187. data/spec/lib/sufia/writable_permissions_spec.rb +20 -0
  188. data/spec/models/batch_spec.rb +1 -1
  189. data/spec/models/collection_spec.rb +24 -2
  190. data/spec/models/featured_work_spec.rb +2 -2
  191. data/spec/models/file_content_datastream_spec.rb +5 -5
  192. data/spec/models/generic_file_spec.rb +149 -133
  193. data/spec/models/local_authority_spec.rb +1 -1
  194. data/spec/models/user_spec.rb +33 -6
  195. data/spec/spec_helper.rb +7 -10
  196. data/spec/{support → test_app_templates}/lib/generators/test_app_generator.rb +11 -6
  197. data/spec/views/batch/edit.html.erb_spec.rb +8 -2
  198. data/spec/views/catalog/index.html.erb_spec.rb +34 -0
  199. data/spec/views/catalog/{sort_and_per_pange.html.erb_spec.rb → sort_and_per_page.html.erb_spec.rb} +0 -0
  200. data/spec/views/collections/_form.html.erb_spec.rb +32 -0
  201. data/spec/views/collections/_show_descriptions.html.erb_spec.rb +25 -0
  202. data/spec/views/dashboard/index_spec.rb +33 -4
  203. data/spec/views/generic_file/_breadcrumbs.html.erb_spec.rb +32 -0
  204. data/spec/views/generic_file/show.html.erb_spec.rb +273 -8
  205. data/spec/views/users/_user_util_links.html.erb_spec.rb +25 -0
  206. data/sufia-models/app/actors/sufia/generic_file/actor.rb +14 -5
  207. data/sufia-models/{lib/sufia/models → app}/jobs/active_fedora_pid_based_job.rb +0 -0
  208. data/sufia-models/{lib/sufia/models → app}/jobs/audit_job.rb +4 -10
  209. data/sufia-models/{lib/sufia/models → app}/jobs/batch_update_job.rb +22 -18
  210. data/sufia-models/{lib/sufia/models → app}/jobs/characterize_job.rb +0 -0
  211. data/sufia-models/{lib/sufia/models → app}/jobs/create_derivatives_job.rb +0 -0
  212. data/sufia-models/{lib/sufia/models → app}/jobs/import_url_job.rb +0 -0
  213. data/sufia-models/{lib/sufia/models → app}/jobs/resolrize_job.rb +0 -0
  214. data/sufia-models/app/models/collection.rb +1 -39
  215. data/sufia-models/{lib → app/models/concerns}/sufia/ability.rb +0 -0
  216. data/sufia-models/app/models/concerns/sufia/collection.rb +55 -0
  217. data/sufia-models/app/models/concerns/sufia/generic_file.rb +5 -11
  218. data/sufia-models/app/models/concerns/sufia/generic_file/audit.rb +1 -2
  219. data/sufia-models/app/models/concerns/sufia/generic_file/characterization.rb +4 -2
  220. data/sufia-models/app/models/concerns/sufia/generic_file/full_text_indexing.rb +27 -0
  221. data/sufia-models/app/models/concerns/sufia/generic_file/mime_types.rb +1 -0
  222. data/sufia-models/app/models/concerns/sufia/generic_file/permissions.rb +2 -49
  223. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/model_methods.rb +0 -0
  224. data/sufia-models/app/models/concerns/sufia/user.rb +8 -1
  225. data/sufia-models/app/models/sufia/avatar_uploader.rb +2 -3
  226. data/sufia-models/app/services/sufia/noid.rb +9 -0
  227. data/sufia-models/config/locales/sufia.en.yml +1 -0
  228. data/sufia-models/lib/generators/sufia/models/fulltext_generator.rb +27 -0
  229. data/sufia-models/lib/generators/sufia/models/install_generator.rb +7 -0
  230. data/sufia-models/lib/generators/sufia/models/templates/config/analytics.yml +5 -5
  231. data/sufia-models/lib/generators/sufia/models/templates/config/solrconfig.xml +177 -0
  232. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +3 -1
  233. data/sufia-models/lib/generators/sufia/models/upgrade400_generator.rb +7 -0
  234. data/sufia-models/lib/sufia/messages.rb +67 -0
  235. data/sufia-models/lib/sufia/models.rb +2 -0
  236. data/sufia-models/lib/sufia/models/active_fedora/redis.rb +0 -6
  237. data/sufia-models/lib/sufia/models/engine.rb +1 -3
  238. data/sufia-models/lib/sufia/models/resque.rb +1 -1
  239. data/sufia-models/lib/sufia/models/version.rb +1 -1
  240. data/sufia-models/lib/sufia/permissions.rb +9 -0
  241. data/sufia-models/lib/sufia/permissions/readable.rb +20 -0
  242. data/sufia-models/lib/sufia/permissions/writable.rb +56 -0
  243. data/sufia-models/lib/tasks/sufia-models_tasks.rake +58 -2
  244. data/sufia-models/sufia-models.gemspec +11 -11
  245. data/sufia.gemspec +19 -9
  246. data/tasks/jetty.rake +6 -5
  247. data/tasks/sufia-dev.rake +4 -77
  248. metadata +235 -72
  249. data/app/assets/images/folder.png +0 -0
  250. data/app/views/collections/show_fields/_creator.html.erb +0 -11
  251. data/app/views/collections/show_fields/_description.html.erb +0 -8
  252. data/app/views/collections/show_fields/_title.html.erb +0 -8
  253. data/app/views/generic_files/edit_fields/_default.html.erb +0 -6
  254. data/app/views/generic_files/edit_fields/_description.html.erb +0 -5
  255. data/app/views/generic_files/edit_fields/_resource_type.html.erb +0 -6
  256. data/app/views/generic_files/edit_fields/_rights.html.erb +0 -6
  257. data/app/views/generic_files/edit_fields/_suffix.html.erb +0 -9
  258. data/app/views/generic_files/show_fields/_creator.html.erb +0 -7
  259. data/app/views/generic_files/show_fields/_default.html.erb +0 -6
  260. data/app/views/generic_files/show_fields/_description.html.erb +0 -7
  261. data/app/views/generic_files/show_fields/_identifier.html.erb +0 -4
  262. data/app/views/generic_files/show_fields/_related_url.html.erb +0 -6
  263. data/app/views/generic_files/show_fields/_title.html.erb +0 -7
  264. data/lib/generators/sufia/sufia_generator.rb +0 -89
  265. data/spec/active_fedora/unsaved_digital_object_spec.rb +0 -35
@@ -0,0 +1,5 @@
1
+ <%= render 'did_you_mean' %>
2
+
3
+ <%= render 'constraints' %>
4
+
5
+ <%= render 'sort_and_per_page' %>
@@ -3,13 +3,17 @@
3
3
  <%= render partial: 'collections/form_for_select_collection', locals: {user_collections: @user_collections} %>
4
4
  </div>
5
5
 
6
- <div class="batch-toggle">
7
- <% session[:batch_edit_state] = "on" %>
8
- <%= batch_edit_continue "Edit Selected" %>
9
- <%= batch_delete %>
10
- <%= button_tag "Add to Collection", class: 'btn btn-primary submits-batches submits-batches-add',
11
- data: { toggle: "modal", target: "#collection-list-container" } %>
12
- </div>
6
+ <% if on_my_files? %>
7
+ <div class="batch-toggle">
8
+ <% session[:batch_edit_state] = "on" %>
9
+ <div class="button_to-inline">
10
+ <%= batch_edit_continue "Edit Selected" %>
11
+ </div>
12
+ <%= batch_delete %>
13
+ <%= button_tag "Add to Collection", class: 'btn btn-primary submits-batches submits-batches-add',
14
+ data: { toggle: "modal", target: "#collection-list-container" } %>
15
+ </div>
16
+ <% end %>
13
17
 
14
18
  <div class="sort-toggle">
15
19
  <% unless @response.response['numFound'] < 2 %>
@@ -9,35 +9,29 @@
9
9
 
10
10
  <% @page_title = application_name + " Dashboard" %>
11
11
 
12
- <% if params.has_key?("q") %>
13
- <div class="alert alert-info"><i class="glyphicon glyphicon-search large-icon"></i> You searched for:
14
- <strong><%= params[:q] %></strong></div>
15
- <% end %>
16
-
17
- <ul class="nav nav-tabs">
12
+ <ul class="nav nav-tabs" id="my_nav">
18
13
  <li class="<%= "active" if @selected_tab == :files %>">
19
- <%= link_to "Files", sufia.dashboard_files_path %>
14
+ <%= link_to t('sufia.dashboard.my.files'), sufia.dashboard_files_path %>
20
15
  </li>
21
16
  <li class="<%= "active" if @selected_tab == :collections %>">
22
- <%= link_to "Collections", sufia.dashboard_collections_path %>
17
+ <%= link_to t('sufia.dashboard.my.collections'), sufia.dashboard_collections_path %>
23
18
  </li>
24
19
  <li class="<%= "active" if @selected_tab == :highlighted %>">
25
- <%= link_to "Highlighted", sufia.dashboard_highlights_path %>
20
+ <%= link_to t('sufia.dashboard.my.highlights'), sufia.dashboard_highlights_path %>
26
21
  </li>
27
22
  <li class="<%= "active" if @selected_tab == :shared %>">
28
- <%= link_to "Shared with Me", sufia.dashboard_shares_path %>
23
+ <%= link_to t('sufia.dashboard.my.shares'), sufia.dashboard_shares_path %>
29
24
  </li>
30
25
  </ul>
31
26
 
32
- <%= render partial: 'did_you_mean' %>
33
- <%= render partial: 'facet_selected' %>
34
-
35
- <%= render 'sort_and_per_page' %>
27
+ <%= render 'search_header' %>
36
28
 
37
29
  <%= render partial: 'document_list' %>
38
30
 
39
31
  <% content_for :sidebar do %>
40
- <%= render partial: 'facets' %>
32
+ <%= link_to t("sufia.dashboard.upload"), sufia.new_generic_file_path, class: "btn btn-primary" %>
33
+ <%= link_to t("sufia.dashboard.create_collection"), collections.new_collection_path, id: "hydra-collection-add", class: "btn btn-primary" %>
34
+ <%= render partial: 'facets' %>
41
35
  <% end %>
42
36
 
43
37
  <%= render 'results_pagination' %>
@@ -2,17 +2,21 @@
2
2
  # With render_edit_field_partial_with_action because there is also a
3
3
  # 'render_edit_field_partial' in sufia that uses 'generic_file' as the action. %>
4
4
  <% render_req ||= true # render_req is true for single file edit, false for batch edit%>
5
- <div class="control-group">
6
- <% vals = f.object[key] %>
7
- <% if render_req && f.object.required?(key) %>
8
- <% tmp = '<span class="error">*</span>' + field_label(key) %>
9
- <%= f.label key, tmp.html_safe, class: "control-label" %>
5
+ <div class="form-group">
6
+ <% vals = record[key] %>
7
+ <% if render_req && record.required?(key) %>
8
+ <% tmp = '<span class="required-field">*</span>' + get_label(key) %>
9
+ <%= f.label key, tmp.html_safe %>
10
10
  <% else %>
11
- <%= f.label key, field_label(key), class: "control-label"%>
11
+ <%= f.label key, get_label(key) %>
12
12
  <% end %>
13
13
 
14
- <% vals.to_ary.each_with_index do |v, index| %>
15
- <%= render_edit_field_partial_with_action('records', key, f: f, v: v, index: index, render_req: render_req) %>
14
+ <% if key == :resource_type %>
15
+ <%# resource_type is a multiselect box, so don't render one row for each %>
16
+ <%= render_edit_field_partial(key, record: record, f: f, render_req: render_req) %>
17
+ <% else %>
18
+ <% vals.to_ary.each_with_index do |v, index| %>
19
+ <%= render_edit_field_partial(key, record: record, f: f, v: v, index: index, render_req: render_req) %>
20
+ <% end %>
16
21
  <% end %>
17
- </div><!-- /control-group -->
18
-
22
+ </div><!-- /.form-group -->
@@ -0,0 +1,6 @@
1
+ <div <% if index == 0 %> id="additional_<%= key.to_s %>_clone" <% end %>>
2
+ <% required = render_req && (index == 0) && record.required?(key) %>
3
+ <%= f.text_field :title, name: "#{ActiveModel::Naming.singular(f.object)}[#{key.to_s}][]", id: "#{ActiveModel::Naming.singular(f.object)}_#{key.to_s}", value: v, class: "input-large", required: required %>
4
+ <%= render partial: "records/edit_fields/suffix", locals: { key: key, index: index } %>
5
+ </div>
6
+ <div id="additional_<%= key %>_elements"></div>
@@ -1,10 +1,6 @@
1
- <div class="controls" <% if index == 0 %> id="additional_<%= key.to_s %>_clone" <% end %>>
1
+ <div <% if index == 0%> id="additional_<%= key.to_s %>_clone" <% end %>>
2
2
  <% required = render_req && (index == 0) && f.object.required?(key) %>
3
- <%= text_area_tag "#{ActiveModel::Naming.singular(f.object)}[#{key.to_s}][]", v,
4
- id: "#{ActiveModel::Naming.singular(f.object)}_#{key.to_s}", class: "input-large", required: required %>
5
-
6
- <% unless f.object.class.unique?(key) %>
7
- <%= render partial: "records/edit_fields/suffix", locals: { key: key, index: index } %>
8
- <% end %>
3
+ <%= f.text_area :description, name:"#{ActiveModel::Naming.singular(f.object)}[#{key.to_s}][]", id: "#{ActiveModel::Naming.singular(f.object)}_#{key.to_s}", value: v, class: "input-large", required: required %>
4
+ <%= render partial: "records/edit_fields/suffix", locals: { key: key, index: index, single: f.object.class.unique?(key)} %>
9
5
  </div>
10
6
  <div id="additional_<%= key %>_elements"></div>
@@ -1,7 +1,5 @@
1
1
  <%# convert class variable to a local variable if the local hasn't been set %>
2
- <% generic_file ||= @generic_file %>
3
- <div class="controls">
4
- <p class="help-block">You may select multiple types to apply<p>
5
- <%= f.select "resource_type", options_for_select(Sufia.config.resource_types.keys, generic_file.resource_type), {}, { multiple: true, size: 7 } %>
6
- <%= help_icon(:resource_type) %>
7
- </div>
2
+ <div>
3
+ <%= f.select "resource_type", options_for_select(Sufia.config.resource_types.keys, record.resource_type), {}, { multiple: true, size: 7 } %>
4
+ <p class="help-block">You may select multiple types to apply <%= help_icon(:resource_type) %><p>
5
+ </div>
@@ -1,6 +1,5 @@
1
- <div class="controls"<%= if index == 0 ? " id=\"additional_#{key.to_s}_clone\"" : '' %>>
2
- <%= f.select "rights", options_for_select(Sufia.config.cc_licenses, v), include_blank: true %>
3
- <%= render partial: "generic_files/edit_fields/suffix", locals: { key: key, index: index } %>
4
- </div><!-- /controls -->
1
+ <div <% if index == 0%> id="additional_<%= key.to_s %>_clone" <% end %>>
2
+ <%= f.select "rights", options_for_select(Sufia.config.cc_licenses, v), include_blank: true %>
3
+ <%= render partial: "records/edit_fields/suffix", locals: { key: key, index: index } %>
4
+ </div>
5
5
  <div id="additional_<%= key %>_elements"></div>
6
-
@@ -1,8 +1,11 @@
1
+ <% single ||= false %>
1
2
  <% if index == 0 %>
2
- <%= add_field(key) %>
3
- &nbsp;
3
+ <% unless single %>
4
+ <%= add_field(key) %>
5
+ <% end %>
6
+ &nbsp;
4
7
  <%= help_icon(key) %>
5
- <%= render partial: "generic_files/rights_modal" if key == "rights" %>
8
+ <%= render partial: "records/rights_modal" if key == "rights" %>
6
9
  <% else %>
7
10
  <%= subtract_field(key) %>
8
11
  <% end %>
@@ -1,13 +1,8 @@
1
- <%# convert class variable to a local variable if the local hasn't been set %>
2
- <% generic_file = @generic_file unless generic_file %>
3
-
4
- <div class="control-group">
5
- <%= f.label :resource_type, "Resource Types", class: "control-label", for: "resource_type" %>
6
- <div class="controls">
7
- <p class="help-block">You may select multiple types to apply<p>
8
- <%= f.select :resource_type, options_for_select(Sufia.config.resource_types.keys, generic_file.resource_type), {},
9
- {multiple: true, size: 7} %>
10
- <%= help_icon(:resource_type) %>
11
- </div>
12
- </div><!-- /control-group -->
1
+ <div class="form-group">
2
+ <%= f.label :resource_type, "Resource Types", for: "resource_type" %>
3
+ <p class="help-block">You may select multiple types to apply<p>
4
+ <%= f.select :resource_type, options_for_select(Sufia.config.resource_types.keys), {},
5
+ {multiple: true, size: 7} %>
6
+ <%= help_icon(:resource_type) %>
7
+ </div>
13
8
 
@@ -1,4 +1,4 @@
1
- <% @generic_file.based_near.each do |bn| %>
1
+ <% record.based_near.each do |bn| %>
2
2
  <span itemprop="contentLocation" itemscope itemtype="http://schema.org/Place">
3
3
  <span itemprop="name"><%= link_to_facet(bn, Solrizer.solr_name("desc_metadata__based_near", :facetable)) %></span>
4
4
  </span>
@@ -1,5 +1,5 @@
1
- <% @generic_file.contributor.each do |contributor| %>
2
- <span itemprop="contributor" itemscope itemtype="http://schema.org/Thing">
1
+ <% record.contributor.each do |contributor| %>
2
+ <span itemprop="contributor" itemscope itemtype="http://schema.org/Agent">
3
3
  <span itemprop="name"><%= link_to_field('contributor', contributor) %></span>
4
4
  </span>
5
5
  <br />
@@ -0,0 +1,6 @@
1
+ <% record.creator.each do |creator| %>
2
+ <span itemprop="creator" itemscope itemtype="http://schema.org/Agent">
3
+ <span itemprop="name"><%= link_to_facet(creator, Solrizer.solr_name("desc_metadata__creator", :facetable)) %></span>
4
+ </span>
5
+ <br />
6
+ <% end %>
@@ -1,4 +1,4 @@
1
- <% @generic_file.date_created.each do |dc| %>
1
+ <% record.date_created.each do |dc| %>
2
2
  <span itemprop="dateCreated">
3
3
  <%= dc %>
4
4
  </span>
@@ -0,0 +1,6 @@
1
+ <% Array(record[key]).each do |v| %>
2
+ <span itemprop="<%= key %>" itemscope itemtype="http://schema.org/Thing">
3
+ <%= v %>
4
+ </span>
5
+ <br />
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% Array(record.description).each do |desc| %>
2
+ <span itemprop="description">
3
+ <%= iconify_auto_link(desc) %>
4
+ </span>
5
+ <br />
6
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <% record.identifier.each do |id| %>
2
+ <%= id %><br />
3
+ <% end %>
4
+
@@ -1,4 +1,4 @@
1
- <% @generic_file.language.each do |lang| %>
1
+ <% record.language.each do |lang| %>
2
2
  <span itemprop="inLanguage"><%= link_to_facet(lang, Solrizer.solr_name("desc_metadata__language", :facetable)) %></span><br />
3
3
  <% end %>
4
4
 
@@ -1,4 +1,4 @@
1
- <% @generic_file.publisher.each do |pub| %>
1
+ <% record.publisher.each do |pub| %>
2
2
  <span itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
3
3
  <span itemprop="name"><%= link_to_facet(pub, Solrizer.solr_name("desc_metadata__publisher", :facetable)) %></span>
4
4
  </span>
@@ -0,0 +1,6 @@
1
+ <% record.related_url.each do |url| %>
2
+ <div class="related_url">
3
+ <%= iconify_auto_link(url) %>
4
+ </div>
5
+ <% end %>
6
+
@@ -1,4 +1,4 @@
1
- <% @generic_file.resource_type.each do |rtype| %>
1
+ <% record.resource_type.each do |rtype| %>
2
2
  <%= link_to_facet(rtype, Solrizer.solr_name("desc_metadata__resource_type", :facetable)) %><br />
3
3
  <% end %>
4
4
 
@@ -1,4 +1,4 @@
1
- <% @generic_file.rights.each do |r| %>
1
+ <% record.rights.each do |r| %>
2
2
  <%=link_to_field('rights',r, Sufia.config.cc_licenses_reverse[r])%> <%= iconify_auto_link(r,false) %><br />
3
3
  <% end %>
4
4
 
@@ -1,4 +1,4 @@
1
- <% @generic_file.subject.each do |sub| %>
1
+ <% record.subject.each do |sub| %>
2
2
  <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
3
3
  <span itemprop="name"><%= link_to_facet(sub, Solrizer.solr_name("desc_metadata__subject", :facetable)) %></span>
4
4
  </span>
@@ -1,4 +1,4 @@
1
- <% @generic_file.tag.each do |t| %>
1
+ <% record.tag.each do |t| %>
2
2
  <span itemprop="keywords"><%= link_to_facet(t, Solrizer.solr_name("desc_metadata__tag", :facetable)) %></span><br />
3
3
  <% end %>
4
4
 
@@ -0,0 +1,6 @@
1
+ <% Array(record.title).each do |title| %>
2
+ <span itemprop="name">
3
+ <%= title %>
4
+ </span>
5
+ <br />
6
+ <% end %>
@@ -0,0 +1,27 @@
1
+ <table class="table">
2
+ <tr>
3
+ <th><h4>Title:</h4></th>
4
+ <td><%= work.title %></td>
5
+ </tr>
6
+ <tr>
7
+ <th><h4>Depositor:<h4></div>
8
+ <td><%= link_to_profile work.depositor("no depositor value") %></td>
9
+ </tr>
10
+ <tr>
11
+ <th><h4>Creator:</h4></th>
12
+ <td><%= work.creator %></td>
13
+ </tr>
14
+ <tr>
15
+ <th><h4>Description:</h4></th>
16
+ <td><%= iconify_auto_link(work.description) %></th>
17
+ </tr>
18
+ <tr>
19
+ <th><h4>Keywords:</h4></th>
20
+ <td><%= work.tags.join(', ') %></td>
21
+ </tr>
22
+ <tr>
23
+ <th><h4>Date Uploaded:</h4></th>
24
+ <td><%= work.date_uploaded %></td>
25
+ </tr>
26
+ </table>
27
+
@@ -26,7 +26,7 @@ If you select the <%= t('sufia.institution_name') %> access option, you have dec
26
26
  By clicking through this license, you grant to <%= t('sufia.institution_name') %> the non-exclusive right to reproduce and/or distribute your submission (including the metadata and abstract) to students, faculty, staff, and walk-in users of the <%= t('sufia.institution_name') %> libraries, in any format or medium for non-commercial, research, educational, or related academic purposes only. If you have limited access to specific individuals or groups, <%= t('sufia.institution_name') %> will distribute your submission ONLY to those users. You also authorize <%= t('sufia.institution_name') %> to allow <%= t('sufia.institution_name') %> community users of the repository to distribute your submission (including the metadata and abstract) in any format or medium for <%= t('sufia.institution_name') %> internal non-commercial, research, educational, or related academic purposes only. <%= t('sufia.institution_name') %> will clearly identify your name(s) as the author(s) or owner(s) of the submission, and will not make any alteration, other than as allowed by this license, to your submission.
27
27
  </p>
28
28
 
29
- <h3>Visibility Level: <span class="label label-important">PRIVATE</span></h3>
29
+ <h3>Visibility Level: <span class="label label-danger">PRIVATE</span></h3>
30
30
 
31
31
  <p>
32
32
  If you have selected the PRIVATE access option in the <%= t('sufia.product_name') %> deposit process, you have decided to allow <%= t('sufia.institution_name') %> a more limited set of rights than those afforded under the Open Access license option. Your deposit will not be accessible to anyone other than yourself. If you want your work to be accessible to the broader scholarly community, you should consider the regular Open Access or <%= t('sufia.institution_name') %> settings instead.
@@ -2,7 +2,6 @@
2
2
  <caption class="sr-only">Activity of users you follow</caption>
3
3
  <thead>
4
4
  <tr>
5
- <th>&nbsp;</th>
6
5
  <th>User Activity</th>
7
6
  <th>Date</th>
8
7
  </tr>
@@ -11,7 +10,6 @@
11
10
  <% events.each do |event| %>
12
11
  <% next if event[:action].blank? or event[:timestamp].blank? %>
13
12
  <tr>
14
- <td>&nbsp;</td>
15
13
  <td><%= event[:action].html_safe %></td>
16
14
  <td><%= time_ago_in_words(Time.at(event[:timestamp].to_i)) %> ago</td>
17
15
  </tr>
@@ -1,26 +1,30 @@
1
1
  <div class="modal-div">
2
2
 
3
- <!-- Text to trigger modal -->
4
- <h4><i class="glyphicon glyphicon-hand-left"></i><a data-toggle="modal" href="#followers">Follower(s):</a> <%= @followers.count %></h4>
5
- <!-- Modal -->
6
- <div class="modal hide in" id="followers" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
7
- <div class="modal-header">
8
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
9
- </div>
10
- <div class="modal-body">
11
- <% if @followers.count > 0 %>
12
- <h3>Follower(s)</h3>
13
- <ul>
14
- <% @followers.each do |f| %>
15
- <li><%= link_to f.name, sufia.profile_path(f), title: "View user's profile" %></li>
16
- <% end %>
17
- </ul>
18
- <%else%>
19
- <h3>No Followers</h3>
20
- <%end %>
21
- </div>
22
- <div class="modal-footer">
23
- <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
3
+ <!-- Text to trigger modal -->
4
+ <h4>
5
+ <i class="glyphicon glyphicon-hand-left"></i><a data-toggle="modal" href="#followers">Follower(s):</a> <%= @followers.count %>
6
+ </h4>
7
+
8
+ <!-- Modal -->
9
+ <div class="modal fade" id="followers" tabindex="-1" role="dialog" aria-hidden="true">
10
+ <div class="modal-dialog">
11
+ <div class="modal-content">
12
+ <div class="modal-body">
13
+ <% if @followers.count > 0 %>
14
+ <h3>Follower(s)</h3>
15
+ <ul>
16
+ <% @followers.each do |f| %>
17
+ <li><%= link_to f.name, sufia.profile_path(f), title: "View user's profile" %></li>
18
+ <% end %>
19
+ </ul>
20
+ <% else %>
21
+ <h3> <%= t("sufia.user_profile.no_followers") %></h3>
22
+ <% end %>
23
+ </div>
24
+ <div class="modal-footer">
25
+ <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
26
+ </div>
27
+ </div>
28
+ </div>
24
29
  </div>
25
- </div>
26
- </div>
30
+ </div>
@@ -1,26 +1,30 @@
1
1
  <div class="modal-div">
2
2
 
3
- <!-- Text to trigger modal -->
4
- <h4><i class="glyphicon glyphicon-hand-right"></i><a data-toggle="modal" href="#following">Following:</a> <%= @following.count %></h4>
5
- <!-- Modal -->
6
- <div class="modal hide in" id="following" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
7
- <div class="modal-header">
8
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
3
+ <!-- Text to trigger modal -->
4
+ <h4>
5
+ <i class="glyphicon glyphicon-hand-right"></i><a data-toggle="modal" href="#following">Following:</a> <%= @following.count %>
6
+ </h4>
7
+ <!-- Modal -->
8
+ <!-- Modal -->
9
+ <div class="modal fade" id="following" tabindex="-1" role="dialog" aria-hidden="true">
10
+ <div class="modal-dialog">
11
+ <div class="modal-content">
12
+ <div class="modal-body">
13
+ <% if @following.count > 0 %>
14
+ <h3>Following</h3>
15
+ <ul>
16
+ <% @following.each do |f| %>
17
+ <li><%= link_to f.name, sufia.profile_path(f), title: "View user's profile" %></li>
18
+ <% end %>
19
+ </ul>
20
+ <% else %>
21
+ <h3><%= t("sufia.user_profile.no_following") %></h3>
22
+ <% end %>
23
+ </div>
24
+ <div class="modal-footer">
25
+ <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
26
+ </div>
27
+ </div>
28
+ </div>
9
29
  </div>
10
- <div class="modal-body">
11
- <% if @following.count > 0 %>
12
- <h3>Following</h3>
13
- <ul>
14
- <% @following.each do |f| %>
15
- <li><%= link_to f.name, sufia.profile_path(f), title: "View user's profile" %></li>
16
- <% end %>
17
- </ul>
18
- <% else %>
19
- <h3>No Following</h3>
20
- <% end %>
21
- </div>
22
- <div class="modal-footer">
23
- <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
24
- </div>
25
- </div>
26
- </div>
30
+ </div>