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,14 @@
1
+ <div class="row">
2
+ <div class="portal">
3
+ <h3><%= t("sufia.dashboard.user_activity") %></h3>
4
+ <%= render_recent_activity %>
5
+ </div>
6
+ </div>
7
+
8
+ <div class="row">
9
+ <div class="portal">
10
+ <h3><%= t("sufia.dashboard.user_notifications") %></h3>
11
+ <%= render_recent_notifications %>
12
+ <%= link_to_additional_notifications %>
13
+ </div>
14
+ </div>
@@ -0,0 +1,18 @@
1
+ <div class="col-xs-12 heading-row">
2
+ <div class="col-xs-6 col-sm-3 heading-tile">
3
+ <span class="glyphicon glyphicon-upload"></span>
4
+ <%= link_to t("sufia.dashboard.upload"), sufia.new_generic_file_path %>
5
+ </div>
6
+ <div class="col-xs-6 col-sm-3 heading-tile">
7
+ <span class="glyphicon glyphicon-plus"></span>
8
+ <%= link_to t("sufia.dashboard.create_collection"), collections.new_collection_path, id: "hydra-collection-add" %>
9
+ </div>
10
+ <div class="col-xs-6 col-sm-3 heading-tile">
11
+ <span class="glyphicon glyphicon-th"></span>
12
+ <%= link_to t("sufia.dashboard.view_collections"), sufia.dashboard_collections_path, id: "hydra-collection-view" %>
13
+ </div>
14
+ <div class="col-xs-6 col-sm-3 heading-tile">
15
+ <span class="glyphicon glyphicon-eye-open"></span>
16
+ <%= link_to t("sufia.dashboard.view_files"), sufia.dashboard_files_path %>
17
+ </div>
18
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="col-xs-12 heading-row">
2
+ <div class="col-xs-3 heading-tile hidden-xs">
3
+ <h1><%= t("sufia.dashboard.title") %></h1>
4
+ </div>
5
+ <div class="col-xs-9 heading-tile">
6
+ <h1><%= t("sufia.dashboard.greeting") + current_user.name %></h1>
7
+ </div>
8
+ </div>
@@ -2,8 +2,12 @@
2
2
 
3
3
  <table class="table table-condensed">
4
4
  <tr>
5
- <td><span class="label label-default"><%= number_of_deposits(@user) %></span></td>
6
- <td><%= t("sufia.dashboard.stats.deposits") %></td>
5
+ <td><span class="label label-default"><%= number_of_files %></span></td>
6
+ <td><%= t("sufia.dashboard.stats.files") %></td>
7
+ </tr>
8
+ <tr>
9
+ <td><span class="label label-default"><%= number_of_collections %></span></td>
10
+ <td><%= t("sufia.dashboard.stats.collections") %></td>
7
11
  </tr>
8
12
  <tr>
9
13
  <td><span class="label label-default"><%= @user.all_following.count %></span></td>
@@ -1,53 +1,21 @@
1
1
  <%= content_for :heading do %>
2
2
 
3
- <div class="col-xs-12 heading-row">
4
- <div class="col-xs-3 heading-tile">
5
- <h1><%= t("sufia.dashboard.title") %></h1>
6
- </div>
7
- <div class="col-xs-9 heading-tile">
8
- <h1><%= t("sufia.dashboard.greeting") + current_user.name %></h1>
9
- </div>
10
- </div>
3
+ <%= render partial: "dashboard/_index_partials/heading_greetings" %>
11
4
 
12
- <div class="col-xs-12 heading-row">
13
- <div class="col-xs-4 heading-tile">
14
- <span class="glyphicon glyphicon-open"></span>
15
- <%= link_to t("sufia.dashboard.upload"), sufia.new_generic_file_path %>
16
- </div>
17
- <div class="col-xs-4 heading-tile">
18
- <span class="glyphicon glyphicon-folder-open"></span>
19
- <%= link_to t("sufia.dashboard.create_collection"), collections.new_collection_path, id: "hydra-collection-add" %>
20
- </div>
21
- <div class="col-xs-4 heading-tile">
22
- <span class="glyphicon glyphicon-eye-open"></span>
23
- <%= link_to t("sufia.dashboard.view_files"), sufia.dashboard_files_path %>
24
- </div>
25
- </div>
5
+ <%= render partial: "dashboard/_index_partials/heading_actions" %>
26
6
 
27
7
  <% end %>
28
8
 
29
9
  <%= content_for :sidebar do %>
30
10
 
31
11
  <div class="row">
32
- <div class="portal"><%= render partial: "dashboard/_index_partials/user_info" %></div>
12
+ <div class="portal"><%= render partial: "dashboard/_index_partials/stats" %></div>
33
13
  </div>
34
14
 
35
15
  <div class="row">
36
- <div class="portal"><%= render partial: "dashboard/_index_partials/stats" %></div>
16
+ <div class="portal"><%= render partial: "dashboard/_index_partials/user_info" %></div>
37
17
  </div>
38
18
 
39
19
  <% end %>
40
20
 
41
- <div class="row">
42
- <div class="portal">
43
- <h3><%= t("sufia.dashboard.user_activity") %></h3>
44
- <%= render_recent_activity %>
45
- </div>
46
- </div>
47
-
48
- <div class="row">
49
- <div class="portal">
50
- <h3><%= t("sufia.dashboard.user_notifications") %></h3>
51
- <%= render_recent_notifications %>
52
- </div>
53
- </div>
21
+ <%= render partial: "dashboard/_index_partials/contents" %>
@@ -8,6 +8,8 @@
8
8
  crumbs << link_to('Home', root_path)
9
9
 
10
10
  case request.referer
11
+ when /collections/
12
+ crumbs << link_to(t('sufia.bread_crumb.collections_list'), sufia.dashboard_collections_path)
11
13
  when /dashboard/
12
14
  crumbs << link_to(t('sufia.bread_crumb.file_list'), sufia.dashboard_files_path)
13
15
  when /files/
@@ -4,10 +4,10 @@
4
4
  <%= form_tag(sufia.generic_files_path, id: 'browse_everything_form', method: 'post') do %>
5
5
  <%= render partial: 'generic_files/upload/tos_checkbox' %>
6
6
  <%= hidden_field_tag(:batch_id, @batch_noid) %>
7
- <%= button_tag(t('sufia.upload.browse_everything.browse_files_button'), type: 'button', class: 'btn btn-large btn-success', id: "browse-btn",
7
+ <%= button_tag(t('sufia.upload.browse_everything.browse_files_button'), type: 'button', class: 'btn btn-lg btn-success', id: "browse-btn",
8
8
  'data-toggle' => 'browse-everything', 'data-route' => browse_everything_engine.root_path,
9
9
  'data-target' => '#browse_everything_form' ) %>
10
- <%= button_tag("Submit selected files", type: 'submit', class: 'activate-submit btn btn-large btn-primary', id: "submit-btn") %>
10
+ <%= button_tag("Submit selected files", type: 'submit', class: 'activate-submit btn btn-lg btn-primary', id: "submit-btn") %>
11
11
  <% end %>
12
12
 
13
13
  <p id="status">0 items selected</p>
@@ -2,20 +2,18 @@
2
2
  <% generic_file ||= @generic_file %>
3
3
 
4
4
  <div id="descriptions_display" class="tab-pane active">
5
- <%= form_for generic_file, url: sufia.generic_file_path(@generic_file), html: { multipart: true, class: 'form-horizontal' } do |f| %>
5
+ <%= form_for generic_file, url: sufia.generic_file_path(@generic_file), html: { multipart: true } do |f| %>
6
6
  <%= hidden_field_tag('redirect_tab', 'descriptions') %>
7
7
  <h1>Descriptions <span class="pull-right required-field">* indicates required fields</span></h1>
8
8
  <div class="well">
9
9
 
10
10
  <% (generic_file.terms_for_editing).each do |term| %>
11
- <%= render partial: "generic_files/field_form", locals: { generic_file: generic_file, f: f, render_req: true, key: term } %>
11
+ <%= render partial: "records/edit_field", locals: { record: generic_file, f: f, render_req: true, key: term } %>
12
12
  <% end %>
13
13
 
14
14
  </div><!-- /well -->
15
- <div class="row">
16
- <div class="form-actions">
17
- <%= f.button '<i class="glyphicon glyphicon-floppy-disk"></i> Save Descriptions'.html_safe, type: 'submit', class: 'btn-primary', onclick: "confirmation_needed = false;", id: "upload_submit", name: "update_descriptions" %>
18
- </div>
15
+ <div>
16
+ <%= f.button '<i class="glyphicon glyphicon-floppy-disk"></i> Save Descriptions'.html_safe, type: 'submit', class: 'btn btn-primary', onclick: "confirmation_needed = false;", id: "upload_submit", name: "update_descriptions" %>
19
17
  </div>
20
18
  <% end %>
21
19
  </div>
@@ -3,9 +3,9 @@
3
3
  <% vals = generic_file[key] %>
4
4
  <% if render_req && required?(key) %>
5
5
  <% tmp = '<span class="required-field">*</span>' + get_label(key) %>
6
- <%= f.label key, tmp.html_safe, class: "col-sm-3 control-label" %>
6
+ <%= f.label key, tmp.html_safe %>
7
7
  <% else %>
8
- <%= f.label key, get_label(key), class: "col-sm-3 control-label" %>
8
+ <%= f.label key, get_label(key) %>
9
9
  <% end %>
10
10
 
11
11
  <% if key == :resource_type %>
@@ -3,34 +3,13 @@
3
3
  <%= link_to generic_file.title_or_label, sufia.generic_file_path(generic_file) %>
4
4
  <small>[<%= link_to 'Download', sufia.download_path(generic_file), target: '_new' %>]</small>
5
5
  </h2>
6
- <table class="table">
7
- <tr>
8
- <td rowspan="6" class="span20">
9
- <%= render_thumbnail_tag generic_file, { width: 150 } %>
10
- </td>
11
- <th><h4>Title:</h4></th>
12
- <td><%= generic_file.title %></td>
13
- </tr>
14
- <tr>
15
- <th><h4>Depositor:<h4></div>
16
- <td><%= link_to_profile generic_file.depositor("no depositor value") %></td>
17
- </tr>
18
- <tr>
19
- <th><h4>Creator:</h4></th>
20
- <td><%= generic_file.creator %></td>
21
- </tr>
22
- <tr>
23
- <th><h4>Description:</h4></th>
24
- <td><%= iconify_auto_link(generic_file.description) %></th>
25
- </tr>
26
- <tr>
27
- <th><h4>Keywords:</h4></th>
28
- <td><%= generic_file.tags.join(', ') %></td>
29
- </tr>
30
- <tr>
31
- <th><h4>Date Uploaded:</h4></th>
32
- <td><%= generic_file.date_uploaded %></td>
33
- </tr>
34
- </table>
6
+ <div class="row">
7
+ <div class="col-sm-3">
8
+ <%= render_thumbnail_tag generic_file %>
9
+ </div>
10
+ <div class="col-sm-9">
11
+ <%= render 'shared/attributes', work: generic_file %>
12
+ </table>
13
+ </div>
35
14
  </li>
36
15
 
@@ -1,5 +1,6 @@
1
- <p>
2
- The list of groups in the drop-down marked &quot;Select a group&quot; is a list of User Managed Groups that you are a member of, and are managed by <%=t('sufia.institution_name') %>'s ITS department. You may select a specific group and assign an access
3
- level for a file within <%=t('sufia.product_name') %>, similarly to adding user access levels. However, management of these groups and their membership is handled centrally at <a href="http://umg.its.psu.edu" target="_blank">umg.its.psu.edu</a>.
4
- </p>
1
+ <p>The list of groups in the drop-down marked &quot;Select a group&quot; is a list of User Managed Groups that
2
+ you are a member of, and are managed by <%=t('sufia.institution_name') %>'s ITS department. You may select
3
+ a specific group and assign an access level for a file within <%=t('sufia.product_name') %>, similarly to
4
+ adding user access levels. However, management of these groups and their membership is handled centrally
5
+ at <a href='http://umg.its.psu.edu' target='_blank'>umg.its.psu.edu</a>.</p>
5
6
 
@@ -2,8 +2,8 @@
2
2
  <%= form_for @generic_file, url: sufia.generic_file_path(@generic_file), html: {multipart: true, class: 'form-horizontal', id: 'permission'} do |f| %>
3
3
  <%= hidden_field_tag('redirect_tab', 'permissions') %>
4
4
  <%= render partial: "generic_files/permission_form", locals: { gf: @generic_file, f: f } %>
5
- <div class="row form-actions" id="permissions_submit">
6
- <%= button_tag '<i class="glyphicon glyphicon-floppy-disk"></i> Save'.html_safe, type: 'submit', class: 'btn-primary btn-large', onclick: "confirmation_needed = false;", id: "upload_submit", name: "update_permission" %>
5
+ <div class="row" id="permissions_submit">
6
+ <%= button_tag '<i class="glyphicon glyphicon-floppy-disk"></i> Save'.html_safe, type: 'submit', class: 'btn btn-primary btn-lg', onclick: "confirmation_needed = false;", id: "upload_submit", name: "update_permission" %>
7
7
  </div>
8
8
  <% end %>
9
9
  </div><!-- /#permissions_display -->
@@ -6,108 +6,91 @@
6
6
 
7
7
  <input type="hidden" name="generic_file[permissions][group][public]" value="1" />
8
8
  <input type="hidden" name="generic_file[permissions][group][registered]" value="2" />
9
- <h2><% if params[:controller] == 'batch' %>Bulk <% end %>Permissions <% if params[:controller] == 'batch' %><small>(applied to all files just uploaded)</small><% end %></h2>
10
- <div class="alert hide" id="save_perm_note">Permissions are <strong>not</strong> saved until the &quot;Save&quot; button is pressed at the bottom of the page.</div>
11
- <div class="alert alert-error hide" id="permissions_error"><a class="close" data-dismiss="alert" href="#">×</a><span id="permissions_error_text"></span></div>
12
- <div class="well">
13
- <div class="row">
14
- <p class="pull-right">
15
- <!-- Button to trigger modal -->
16
- <a href="#myModal" role="button" class="btn btn-warning" data-toggle="modal">What's this <i class="glyphicon glyphicon-question-sign large-icon"></i></a>
17
- <!-- Modal -->
18
- <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
19
- <div class="modal-dialog">
20
- <div class="modal-content">
21
- <div class="modal-header">
22
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
23
- <h2 id="myModalLabel"><%=t('sufia.product_name') %> Permissions</h2>
24
- </div>
25
- <div class="modal-body">
26
- <h3>Visibility</h3>
27
- <p>This setting will determine who can view your file, and the associated metadata. Setting
28
- the visibility to <span class="label label-success">Open Access</span> will allow your content to be discovered in Google and viewed by anyone.
29
- The visibility setting <span class="label label-info"><%=t('sufia.institution_name') %></span> will only allow users who are logged into <%=t('sufia.product_name') %>
30
- (via WebAccess) to view the content. Files that are marked <span class="label label-important">Private</span> are only able to be viewed
31
- by users and/or groups that have been given specific access in the &quot;Share With&quot; section.
32
- </p>
33
9
 
34
- <p>
35
- Permissions in <%=t('sufia.product_name') %> are hierarchical. This means that you cannot set the visibility of a file to <span class="label label-success">Open Access</span> or
36
- <span class="label label-info"><%=t('sufia.institution_name') %></span> and simultaneously try to restrict the access of a single user. However, you may mark the visibility of
37
- a file as <span class="label label-danger">Private</span> and then grant access to particular users and/or groups for that file in the &quot;Share With&quot;
38
- section.
39
- </p>
10
+ <h2><% if params[:controller] == 'batch' %>Bulk <% end %>Permissions <% if params[:controller] == 'batch' %>
11
+ <small>(applied to all files just uploaded)</small><% end %>
12
+ </h2>
40
13
 
41
- <h3>Share With</h3>
42
- <p>You may grant &quot;View/Download&quot; or &quot;Edit&quot; access for specific users and/or groups to files. Enter
43
- a valid <%=t('sufia.account_name') %>, one at a time, select the access level for that user and click
44
- <button class="btn btn-mini btn-inverse" onclick="return false;"><i class="glyphicon glyphicon-plus" ></i>Add</button>.
45
- </p>
14
+ <div class="alert alert-info hidden" id="save_perm_note">Permissions are <strong>not</strong> saved until the &quot;Save&quot; button is pressed at the bottom of the page.</div>
15
+ <div class="alert alert-warning hidden" id="permissions_error"><a class="close" data-dismiss="alert" href="#">×</a><span id="permissions_error_text"></span></div>
46
16
 
47
- <%= render partial: 'generic_files/groups_description' %>
17
+ <div class="well">
48
18
 
49
- <h3>Permission Definitions</h3>
50
- <p>
51
- <strong>View/Download:</strong> this file (both contents and metadata) is accessible from within <%=t('sufia.product_name') %>.<br />
52
- <strong>Edit:</strong> this file (both contents and metadata) can be edited. You may only grant this permission to <%=t('sufia.institution_name') %> users and/or groups.
53
- </p>
54
- </div>
55
- <div class="modal-footer">
56
- <button class="btn btn-primary" data-dismiss="modal">Close</button>
57
- </div>
58
- </div>
59
- </div>
60
- </div>
61
- </p>
19
+ <!-- Visibility -->
20
+ <% visibility_text = capture do %>
21
+ <%= render partial: 'generic_files/visibility' %>
22
+ <% end %>
23
+ <h3>Visibility - <small>who should have the ability to read and download</small>
24
+ <span id="visibility_tooltip" class="h5"><%= help_icon('visibility', visibility_text) %></span>
25
+ </h3>
26
+ <div class="radio">
27
+ <label>
28
+ <input type="radio" id="visibility_open" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC %>" <% if !public_perm.blank? %> checked="true"<% end %>/> <span class="label label-success">Open Access</span> Visible to the world.
29
+ </label>
30
+ <label>
31
+ <input type="radio" id="visibility_psu" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>" <% if !registered_perm.blank? %> checked="true"<% end %> /><span class="label label-info"><%=t('sufia.institution_name') %></span> Visible to all <%=t('sufia.institution_name') %> users.
32
+ </label>
33
+ <label>
34
+ <input type="radio" id="visibility_restricted" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>"<% if registered_perm.blank? and public_perm.blank?%> checked="true"<% end %> /> <span class="label label-danger">Private</span> Visible to users/groups specified below, if any.
35
+ </label>
62
36
  </div>
63
- <h3>Visibility - <small>who should have the ability to read and download</small></h3>
64
- <div class="form-group">
65
- <div class="controls">
66
- <label class="radio">
67
- <input type="radio" id="visibility_open" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC %>" <% if !public_perm.blank? %> checked="true"<% end %>/> <span class="label label-success">Open Access</span> Visible to the world.
68
- </label>
69
- <label class="radio">
70
- <input type="radio" id="visibility_psu" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>" <% if !registered_perm.blank? %> checked="true"<% end %> /><span class="label label-info"><%=t('sufia.institution_name') %></span> Visible to all <%=t('sufia.institution_name') %> users.
71
- </label>
72
- <label class="radio">
73
- <input type="radio" id="visibility_restricted" name="visibility" value="<%=Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>"<% if registered_perm.blank? and public_perm.blank?%> checked="true"<% end %> /> <span class="label label-important">Private</span> Visible to users/groups specified below, if any.
74
- </label>
75
- </div><!-- /.controls -->
76
- </div><!-- /.control-group -->
37
+
38
+ <!-- Share With -->
39
+ <% share_with_text = capture do %>
40
+ <%= render partial: 'generic_files/share_with' %>
41
+ <% end %>
77
42
  <div class="row">
78
- <h3>Share With <small>(optional)</small></h3>
43
+ <h3 class="col-sm-12">Share With <small>(optional)</small>
44
+ <span id="share_with_tooltip" class="h5"><%= help_icon('share_with', share_with_text) %></span>
45
+ </h3>
79
46
  </div>
80
- <div class="row control-group">
47
+ <div class="form-group">
81
48
  <div id="new-user">
82
- <div class="input-append">
83
- <p class="help-block">Enter <%=t('sufia.account_label') %> (one at a time)</p>
84
- <%= text_field_tag 'new_user_name_skel', nil, class: "span29" %><span class="add-on"><%=t('sufia.directory.suffix') %></span>
85
- <%= select_tag 'new_user_permission_skel', options_for_select(Sufia.config.permission_levels), class: 'span17' %>
49
+ <p class="col-sm-12">Enter <%=t('sufia.account_label') %> (one at a time)</p>
50
+ <div class="col-sm-5">
51
+ <div class="input-group">
52
+ <%= text_field_tag 'new_user_name_skel', nil, class: "form-control" %><span class="input-group-addon"><%=t('sufia.directory.suffix') %></span>
53
+ </div>
54
+ </div>
55
+ <div class="col-sm-4">
56
+ <%= select_tag 'new_user_permission_skel', options_for_select(Sufia.config.permission_levels), class: 'form-control' %>
57
+ </div>
58
+ <div class="col-sm-3">
86
59
  <button class="btn btn-mini btn-inverse" id="add_new_user_skel"><i class="glyphicon glyphicon-plus"></i> Add</button>
87
60
  <br /> <span id="directory_user_result"></span>
88
61
  </div>
89
62
  </div>
90
63
  </div>
91
- <div class="row control-group">
64
+ <div class="form-group">
92
65
  <div id="new-group" >
93
- <div class="input-append">
94
- <%= select_tag 'new_group_name_skel', options_for_select(["Select a group"] + current_user.groups), class: 'span38' %>
95
- <%= select_tag 'new_group_permission_skel', options_for_select(Sufia.config.permission_levels), class: 'span17' %>
66
+ <div class="col-sm-5">
67
+ <%= select_tag 'new_group_name_skel', options_for_select(["Select a group"] + current_user.groups), class: 'form-control' %>
68
+ </div>
69
+ <div class="col-sm-4">
70
+ <%= select_tag 'new_group_permission_skel', options_for_select(Sufia.config.permission_levels), class: 'form-control' %>
71
+ </div>
72
+ <div class="col-sm-3">
96
73
  <button class="btn btn-mini btn-inverse" id="add_new_group_skel" ><i class="glyphicon glyphicon-plus"></i> Add</button>
97
74
  <br /><span id="directory_group_result"></span>
98
75
  </div>
99
76
  </div>
100
77
  </div>
78
+
101
79
  </div><!-- /.well -->
80
+
102
81
  <table class="table table-bordered">
103
82
  <tr>
104
83
  <th width="60%">Person/Group</th>
105
84
  <th width="40%">Access Level</th>
106
85
  </tr>
107
86
  <tr id="file_permissions">
108
- <td><%= label_tag :owner_access, "Depositor (<span id=\"file_owner\">#{link_to_profile depositor}</span>)".html_safe, class: "control-label" %></td>
109
87
  <td>
110
- <%= Sufia.config.owner_permission_levels.keys[0] %>
88
+ <%= label_tag :owner_access, class: "control-label" do %>
89
+ Depositor (<span id="file_owner" data-depositor="<%= depositor %>"><%= link_to_profile depositor %></span>)
90
+ <% end %>
91
+ </td>
92
+ <td>
93
+ <%= Sufia.config.owner_permission_levels.keys[0] %>
111
94
  </td>
112
95
  </tr>
113
96
  <% gf.permissions.each do |permission| %>
@@ -118,8 +101,10 @@
118
101
  <tr>
119
102
  <td><%= label_tag "generic_file[permissions][#{permission[:type]}][#{permission[:name]}]", permission[:name], class: "control-label" %></td>
120
103
  <td>
121
- <%= select_tag "generic_file[permissions][#{permission[:type]}][#{permission[:name]}]", options_for_select(Sufia.config.permission_levels, permission[:access]), class: 'span20 select_perm' %>
122
- <button class="btn close remove_perm">X</button>
104
+ <div class="col-sm-8">
105
+ <%= select_tag "generic_file[permissions][#{permission[:type]}][#{permission[:name]}]", options_for_select(Sufia.config.permission_levels, permission[:access]), class: 'form-control select_perm' %>
106
+ </div>
107
+ <button class="btn close remove_perm">X</button>
123
108
  </td>
124
109
  </tr>
125
110
  <% end %>
@@ -1,6 +1,4 @@
1
1
  <div class="modal-div">
2
- <!-- Button to trigger modal -->
3
- <a href="#rightsModal" role="button" class="btn btn-warning fright" data-toggle="modal">License Descriptions <i class="glyphicon glyphicon-question-sign large-icon"></i></a>
4
2
  <!-- Modal -->
5
3
  <div class="modal fade" id="rightsModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
6
4
  <div class="modal-dialog">
@@ -0,0 +1,14 @@
1
+ <p>You may grant &quot;View/Download&quot; or &quot;Edit&quot; access for specific users and/or groups to files.
2
+ Enter a valid <%=t('sufia.account_name') %>, one at a time, select the access level for that user and click
3
+ <button class='btn btn-xs btn-inverse' onclick='return false;'><i class='glyphicon glyphicon-plus' ></i>Add</button>.
4
+ </p>
5
+
6
+ <%= render partial: 'generic_files/groups_description' %>
7
+
8
+ <h5><b>Permission Definitions</b></h5>
9
+ <p>
10
+ <strong>View/Download:</strong> this file (both contents and metadata) is accessible from within
11
+ <%=t('sufia.product_name') %>.<br />
12
+ <strong>Edit:</strong> this file (both contents and metadata) can be edited. You may only grant
13
+ this permission to <%=t('sufia.institution_name') %> users and/or groups.
14
+ </p>