hydra-file-access 5.0.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. data/.gitignore +2 -0
  2. data/Rakefile +5 -0
  3. data/app/assets/images/hydra/powered_by_hydra.png +0 -0
  4. data/app/assets/images/hydra/search-button.png +0 -0
  5. data/app/assets/javascripts/date-picker/booking/index.html +368 -0
  6. data/app/assets/javascripts/date-picker/calendarHTML.txt +84 -0
  7. data/app/assets/javascripts/date-picker/css/datepicker.css +511 -0
  8. data/app/assets/javascripts/date-picker/css/demo.css +229 -0
  9. data/app/assets/javascripts/date-picker/index.html +798 -0
  10. data/app/assets/javascripts/date-picker/js/datepicker.js +2898 -0
  11. data/app/assets/javascripts/date-picker/js/datepicker.packed.js +1 -0
  12. data/app/assets/javascripts/date-picker/js/lang/ar.js +9 -0
  13. data/app/assets/javascripts/date-picker/js/lang/cs.js +9 -0
  14. data/app/assets/javascripts/date-picker/js/lang/da.js +10 -0
  15. data/app/assets/javascripts/date-picker/js/lang/de.js +10 -0
  16. data/app/assets/javascripts/date-picker/js/lang/en.js +9 -0
  17. data/app/assets/javascripts/date-picker/js/lang/eo.js +13 -0
  18. data/app/assets/javascripts/date-picker/js/lang/es.js +9 -0
  19. data/app/assets/javascripts/date-picker/js/lang/et.js +23 -0
  20. data/app/assets/javascripts/date-picker/js/lang/fi.js +7 -0
  21. data/app/assets/javascripts/date-picker/js/lang/fr.js +69 -0
  22. data/app/assets/javascripts/date-picker/js/lang/he.js +9 -0
  23. data/app/assets/javascripts/date-picker/js/lang/hu.js +9 -0
  24. data/app/assets/javascripts/date-picker/js/lang/id.js +9 -0
  25. data/app/assets/javascripts/date-picker/js/lang/it.js +11 -0
  26. data/app/assets/javascripts/date-picker/js/lang/kr.js +9 -0
  27. data/app/assets/javascripts/date-picker/js/lang/lt.js +8 -0
  28. data/app/assets/javascripts/date-picker/js/lang/lv.js +9 -0
  29. data/app/assets/javascripts/date-picker/js/lang/nl.js +9 -0
  30. data/app/assets/javascripts/date-picker/js/lang/no.js +9 -0
  31. data/app/assets/javascripts/date-picker/js/lang/pl.js +10 -0
  32. data/app/assets/javascripts/date-picker/js/lang/pt-br.js +11 -0
  33. data/app/assets/javascripts/date-picker/js/lang/pt.js +9 -0
  34. data/app/assets/javascripts/date-picker/js/lang/ru.js +11 -0
  35. data/app/assets/javascripts/date-picker/js/lang/se.js +9 -0
  36. data/app/assets/javascripts/date-picker/js/lang/si.js +9 -0
  37. data/app/assets/javascripts/date-picker/js/lang/tr.js +9 -0
  38. data/app/assets/javascripts/date-picker/language/index.html +240 -0
  39. data/app/assets/javascripts/date-picker/media/Thumbs.db +0 -0
  40. data/app/assets/javascripts/date-picker/media/backstripes.gif +0 -0
  41. data/app/assets/javascripts/date-picker/media/bg_header.jpg +0 -0
  42. data/app/assets/javascripts/date-picker/media/bullet1.gif +0 -0
  43. data/app/assets/javascripts/date-picker/media/bullet2.gif +0 -0
  44. data/app/assets/javascripts/date-picker/media/cal-grey.gif +0 -0
  45. data/app/assets/javascripts/date-picker/media/cal.gif +0 -0
  46. data/app/assets/javascripts/date-picker/media/gradient-e5e5e5-ffffff.gif +0 -0
  47. data/app/assets/javascripts/hydra/hydra-head.js +195 -0
  48. data/app/assets/javascripts/hydra/mediashelf.datepicker.js +39 -0
  49. data/app/assets/javascripts/hydra/mediashelf.placeholder.js +67 -0
  50. data/app/assets/javascripts/jquery.form.js +1076 -0
  51. data/app/assets/javascripts/jquery.ui.datepicker.js +1793 -0
  52. data/app/assets/javascripts/spin.min.js +2 -0
  53. data/app/assets/stylesheets/hydra/html_refactor.css +79 -0
  54. data/app/assets/stylesheets/hydra/hydrangea-split-button.css +18 -0
  55. data/app/assets/stylesheets/hydra/hydrangea.css +288 -0
  56. data/app/assets/stylesheets/hydra/ie-styles.css +149 -0
  57. data/app/assets/stylesheets/hydra/styles.css +946 -0
  58. data/app/assets/stylesheets/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  59. data/app/assets/stylesheets/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  60. data/app/assets/stylesheets/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  61. data/app/assets/stylesheets/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  62. data/app/assets/stylesheets/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  63. data/app/assets/stylesheets/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  64. data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  65. data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  66. data/app/assets/stylesheets/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  67. data/app/assets/stylesheets/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  68. data/app/assets/stylesheets/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  69. data/app/assets/stylesheets/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  70. data/app/assets/stylesheets/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  71. data/app/assets/stylesheets/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  72. data/app/assets/stylesheets/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  73. data/app/assets/stylesheets/redmond/jquery-ui-1.8.5.custom.css +572 -0
  74. data/app/controllers/hydra/application_controller.rb +5 -0
  75. data/app/controllers/hydra/file_assets_controller.rb +3 -0
  76. data/app/helpers/application_helper.rb +3 -0
  77. data/app/helpers/hydra/application_helper_behavior.rb +8 -0
  78. data/app/helpers/hydra/hydra_helper_behavior.rb +70 -0
  79. data/app/helpers/hydra_helper.rb +4 -0
  80. data/app/models/file_asset.rb +5 -0
  81. data/app/models/uses_default_partials.rb +23 -0
  82. data/app/views/_add_assets_links.html.erb +14 -0
  83. data/app/views/_user_util_links.html.erb +24 -0
  84. data/app/views/generic_content_objects/_contributor_form.html.erb +11 -0
  85. data/app/views/generic_content_objects/_description_form.html.erb +7 -0
  86. data/app/views/generic_content_objects/_edit_description.html.erb +23 -0
  87. data/app/views/generic_content_objects/_new.html.erb +0 -0
  88. data/app/views/generic_content_objects/_show_description.html.erb +41 -0
  89. data/app/views/generic_contents/_edit.html.erb +10 -0
  90. data/app/views/generic_contents/_index.html.erb +21 -0
  91. data/app/views/generic_contents/_show.html.erb +6 -0
  92. data/app/views/generic_contents/_show_content.html.erb +7 -0
  93. data/app/views/generic_images/_edit.html.erb +36 -0
  94. data/app/views/generic_images/_index.html.erb +24 -0
  95. data/app/views/generic_images/_show.html.erb +13 -0
  96. data/app/views/generic_images/_show_all.html.erb +14 -0
  97. data/app/views/generic_images/_show_content.html.erb +7 -0
  98. data/app/views/hydra/file_assets/_asset_saved_flash.html.erb +2 -0
  99. data/app/views/hydra/file_assets/_deletable_result.html.erb +5 -0
  100. data/app/views/hydra/file_assets/_file_assets_form.html.erb +11 -0
  101. data/app/views/hydra/file_assets/_index.html.erb +29 -0
  102. data/app/views/hydra/file_assets/_new.html.erb +6 -0
  103. data/app/views/hydra/file_assets/_result.html.erb +11 -0
  104. data/app/views/hydra/file_assets/index.html.erb +5 -0
  105. data/app/views/hydra/permissions/_edit_person_permissions.html.erb +30 -0
  106. data/app/views/hydra/permissions/_index.html.erb +46 -0
  107. data/app/views/hydra/permissions/_new.html.erb +14 -0
  108. data/app/views/hydra/permissions/_permissions_form.html.erb +23 -0
  109. data/app/views/hydra/permissions/index.html.erb +1 -0
  110. data/app/views/hydra/permissions/new.html.erb +1 -0
  111. data/app/views/mods_assets/_additional_info_form.html.erb +44 -0
  112. data/app/views/mods_assets/_contributor_form.html.erb +14 -0
  113. data/app/views/mods_assets/_edit.html.erb +10 -0
  114. data/app/views/mods_assets/_edit_description.html.erb +73 -0
  115. data/app/views/mods_assets/_edit_journal.html.erb +57 -0
  116. data/app/views/mods_assets/_index.html.erb +1 -0
  117. data/app/views/mods_assets/_index_list.html.erb +37 -0
  118. data/app/views/mods_assets/_index_table.html.erb +7 -0
  119. data/app/views/mods_assets/_progress_box.html.erb +82 -0
  120. data/app/views/mods_assets/_publication_form.html.erb +13 -0
  121. data/app/views/mods_assets/_show.html.erb +39 -0
  122. data/app/views/mods_assets/_show_additional_info.html.erb +17 -0
  123. data/app/views/mods_assets/_show_contributors.html.erb +7 -0
  124. data/app/views/mods_assets/_show_description.html.erb +35 -0
  125. data/app/views/mods_assets/_show_file_assets.html.erb +22 -0
  126. data/app/views/mods_assets/_show_journal.html.erb +42 -0
  127. data/app/views/mods_assets/_show_permissions.html.erb +15 -0
  128. data/app/views/mods_assets/_show_publication.html.erb +8 -0
  129. data/app/views/shared/_delete_asset_confirmation.html.erb +17 -0
  130. data/config/jetty.yml +7 -0
  131. data/hydra-file-access.gemspec +39 -0
  132. data/lib/hydra-file-access.rb +15 -0
  133. data/lib/hydra/assets.rb +5 -0
  134. data/lib/hydra/assets_controller_helper.rb +122 -0
  135. data/lib/hydra/controller/assets_controller_behavior.rb +153 -0
  136. data/lib/hydra/controller/file_assets_behavior.rb +140 -0
  137. data/lib/hydra/file_access/engine.rb +12 -0
  138. data/lib/hydra/file_assets.rb +11 -0
  139. data/lib/hydra/submission_workflow.rb +139 -0
  140. data/lib/hydra/ui.rb +6 -0
  141. data/spec/.gitignore +1 -0
  142. data/spec/controllers/file_assets_controller_spec.rb +180 -0
  143. data/spec/fixtures/small_file.txt +1 -0
  144. data/spec/helpers/access_controls_evaluation_spec.rb +19 -0
  145. data/spec/helpers/assets_controller_helper_spec.rb +63 -0
  146. data/spec/helpers/file_assets_helper_spec.rb +116 -0
  147. data/spec/helpers/hydra_helper_spec.rb +21 -0
  148. data/spec/helpers/hydra_model_methods_spec.rb +88 -0
  149. data/spec/integration/file_asset_spec.rb +68 -0
  150. data/spec/lib/hydra_submission_workflow_spec.rb +141 -0
  151. data/spec/models/file_asset_spec.rb +25 -0
  152. data/spec/spec_helper.rb +27 -0
  153. data/spec/support/Gemfile +12 -0
  154. data/spec/support/app/models/generic_content.rb +26 -0
  155. data/spec/support/app/models/sample.rb +33 -0
  156. data/spec/support/app/models/solr_document.rb +5 -0
  157. data/spec/support/db/migrate/20111101221803_create_searches.rb +16 -0
  158. data/spec/support/lib/generators/test_app_generator.rb +39 -0
  159. data/spec/support/matchers/helper_matcher.rb +14 -0
  160. data/spec/support/matchers/solr_matchers.rb +60 -0
  161. data/spec/support/spec/factories/users.rb +11 -0
  162. data/spec/support/spec/fixtures/hydra_test_generic_content.foxml.xml +138 -0
  163. data/spec/support/spec/fixtures/hydrangea_fixture_file_asset1.foxml.xml +4946 -0
  164. data/spec/support/spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml +234 -0
  165. data/spec/support/spec/fixtures/hydrangea_fixture_mods_article2.foxml.xml +177 -0
  166. data/spec/support/spec/fixtures/hydrangea_fixture_mods_article3.foxml.xml +170 -0
  167. data/spec/support/spec/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +676 -0
  168. data/tasks/rspec.rake +55 -0
  169. metadata +516 -0
@@ -0,0 +1,29 @@
1
+ <% unless file_assets.empty? %>
2
+ <table class='multipleEdit' id='file_assets'>
3
+ <tr>
4
+ <th colspan="2">File</th>
5
+ </tr>
6
+ <%= render :partial=>'hydra/file_assets/result', :collection=> file_assets%>
7
+ </table>
8
+ <% end %>
9
+
10
+ <% if !@document.nil? && can?(:edit, @document) && params[:number_of_files].to_i > 0 %>
11
+ <%- container_content_type_param = defined?(container_content_type) ? "?container_content_type=#{container_content_type}" : "" %>
12
+ <fieldset id='uploader'>
13
+ <legend>File Upload</legend>
14
+ <%= form_tag(hydra_asset_file_assets_path(:asset_id => params[:asset_id] || params[:id]),:method=>"post",:enctype=>"multipart/form-data", :class=>"uploader-form step") do -%>
15
+ <%= hidden_field_tag("container_id", params[:asset_id] || params[:id]) %>
16
+ <%= hidden_field_tag("container_content_type", container_content_type, :id => "file_upload_content_type") if defined?(container_content_type) %>
17
+ <%- params[:number_of_files].to_i.times do -%>
18
+ <%= render :partial=>"hydra/file_assets/new"%>
19
+ <%- end -%>
20
+ <%= hidden_field_tag(:wf_step, params[:wf_step], :id => "files_wf_step") %>
21
+ <%= hidden_field_tag(:new_asset, true, :id => "files_new_asset") if params[:new_asset] %>
22
+ <%= hidden_field_tag("id",params[:id], :id => "file_upload_id") if params[:id] %>
23
+ <p>
24
+ <%= submit_tag("Upload File", :name=>"upload_file")%>
25
+ <%= submit_tag("Upload and Finish", :name=>"finish") unless params[:new_asset] or session[:scripts] %>
26
+ </p>
27
+ <%- end -%>
28
+ </fieldset>
29
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%- field_tag_options = defined?(uploader_options) ? uploader_options : {:id => nil} %>
2
+ <div class="uploader-contents">
3
+ <p>Browse to upload a file.</p>
4
+ <!-- <input name="Filedata-orig" type="file" /> -->
5
+ <%= file_field_tag "Filedata[]", field_tag_options %>
6
+ </div>
@@ -0,0 +1,11 @@
1
+ <tr class="file_asset" id ="assets_<%= format_pid(result["id"]) %>" >
2
+ <td>
3
+ <%= link_to result[solr_name("title", :text)], hydra_file_asset_path(result["id"]) %>
4
+ </td>
5
+ <td>
6
+
7
+ <% if can? :edit, @document %>
8
+ <%= button_to("Delete", "/hydra/assets/#{result["id"]}/file_assets/#{result["id"]}?container_id=#{@document[:id]}", :data => { :confirm => "Are you sure you want to delete this file?" }, :method => :delete, :class => "delete-button") %>
9
+ <% end %>
10
+ </td>
11
+ </tr>
@@ -0,0 +1,5 @@
1
+ <%# This file is for backwards compatiability purposes.
2
+ Probably should eventually go away.
3
+ %>
4
+ <%# @solr_result.hits %>
5
+ <%= render :partial=>'hydra/file_assets/index', :locals => { :file_assets => @solr_result } %>
@@ -0,0 +1,30 @@
1
+ <%# -# ie. asset[access_person][researcher1] %>
2
+ <% unless defined?(person_id) %>
3
+ <% person = edit_person_permissions %>
4
+ <% person_id = person.text %>
5
+ <% end %>
6
+ <%#
7
+ -# Don't allow a user to change his own permissions.
8
+ -# Currently, just don't render the user's own permissions
9
+ -# In the future, we should show current_user's permissions and just disable the ability to modify
10
+ %>
11
+
12
+ <% if person_id != user_key %>
13
+ <% field_name = "#{person_id}_access" %>
14
+ <% choices = [{"No Access" => "none"},{"Discover" => "discover"}, {"Read & Download" => "read"}, {"Edit & Upload" => "edit"}] %>
15
+ <% current_permissions = @document_fedora.datastreams["rightsMetadata"].permissions({"person"=>person_id}) %>
16
+
17
+ <p class="permission-submit">
18
+ <label for="<%= field_name %>"><%= person_id %></label>
19
+ <select id="<%= field_name %>" name="permission[person][<%=h person_id %>]">
20
+ <% choices.each do |choice| %>
21
+ <% choice_label = choice.keys.first.html_safe %>
22
+ <% choice_name = choice.values.first %>
23
+
24
+ <option value="<%= choice_name %>" <%= "selected" if current_permissions == choice_name %>>
25
+ <%= choice_label %>
26
+ </option>
27
+ <% end %>
28
+ </select>
29
+ </p>
30
+ <% end %>
@@ -0,0 +1,46 @@
1
+ <% unless defined?(asset_id) %>
2
+ <% asset_id = params[:asset_id] %>
3
+ <% end %>
4
+ <input type="hidden" name="_method" value="put"/>
5
+
6
+ <fieldset class="slider">
7
+ <legend>Group Permissions</legend>
8
+
9
+ <% choices = [{"No Access"=>"none"},{"Discover" => "discover"}, {"Read &amp; Download" => "read"}, {"Edit &amp; Upload" => "edit"}] %>
10
+ <% roles = RoleMapper.role_names %>
11
+ <%# This next line should be conditional upon a person having Publish permissions on the object's collection %>
12
+ <% roles << "public" %>
13
+ <% roles.each do |role| %>
14
+ <% role_permissions = @document_fedora.datastreams["rightsMetadata"].permissions({"group"=>role}) %>
15
+ <% field_name = "#{role}_group_access" %>
16
+ <p id="<%=h "#{field_name}-container" %>" class="permissions">
17
+ <label for="<%=h field_name %>"><%= role.capitalize %></label>
18
+ <select id="<%=h field_name %>" name="permission[group][<%=h role %>]">
19
+ <% choices.each do |choice| %>
20
+ <% choice_label = choice.keys.first %>
21
+ <% choice_name = choice.values.first %>
22
+ <% if role_permissions == choice_name %>
23
+ <option value="<%=h choice_name %>" selected="selected">
24
+ <%= choice_label.html_safe %>
25
+ </option>
26
+ <% else %>
27
+ <option value="<%=h choice_name %>">
28
+ <%= choice_label.html_safe %>
29
+ </option>
30
+ <% end %>
31
+ <% end %>
32
+ </select>
33
+ </p>
34
+ <% end %>
35
+ </fieldset>
36
+
37
+ <fieldset id="individual_permissions" class="slider">
38
+ <legend>Individual Permissions</legend>
39
+ <% choices = [{"Discover" => "discover"}, {"Read &amp; Download" => "read"}, {"Edit &amp; Upload" => "edit"}] %>
40
+ <% individual_permissions = {} %>
41
+ <% choices.each do |choice| %>
42
+ <% choice_name = choice.values.first %>
43
+ <% individual_permissions[choice_name] = get_values_from_datastream(@document_fedora,"rightsMetadata", ["#{choice_name}_access".to_sym, :person]) %>
44
+ <% end %>
45
+ <%= render :partial=>"hydra/permissions/edit_person_permissions", :collection=>@document_fedora.datastreams["rightsMetadata"].find_by_terms(:access, :person) %>
46
+ </fieldset>
@@ -0,0 +1,14 @@
1
+ <fieldset id="permissions_fields">
2
+ <legend>Add Individual Permissions</legend>
3
+ <input id="permission_actor_type" type="hidden" name="permission[actor_type]" value="person" />
4
+ <p class="permission-field"><label for="permission_actor_id">User ID</label>
5
+ <input id="permission_actor_id" name="permission[actor_id]" type="text" /></p>
6
+ <p class="permission-field">
7
+ <label for="permission_level">Permission Level</label>
8
+ <select id="permission_level" name="permission[access_level]">
9
+ <option value="discover">Discover</option>
10
+ <option value="read">Read &amp; Download</option>
11
+ <option value="edit">Edit &amp; Upload</option>
12
+ </select>
13
+ </p>
14
+ </fieldset>
@@ -0,0 +1,23 @@
1
+ <%- if params.has_key?(:add_permission) -%>
2
+ <%= form_tag({:controller=>"hydra/permissions", :action=> "create", :asset_id=>params[:id]}, :class => "step") do -%>
3
+ <%= render :partial=>"hydra/permissions/new" %>
4
+ <%= hidden_field_tag("id", params[:id], :id => "permissions_id") if params[:id] %>
5
+ <%= hidden_field_tag(:wf_step, params[:wf_step], :id => "permissions_wf_step") %>
6
+ <%= hidden_field_tag(:new_asset, true, :id => "permission_new_asset") if params[:new_asset] %>
7
+ <%= submit_tag("Add Additional Permissions", :name=>"add_permission") %>
8
+ <% unless session[:script] and !last_step? %>
9
+ <%= submit_tag(submit_name, :name=>"continue") %>
10
+ <%= submit_tag("Save and Finish", :name=>"finish") unless params[:new_asset] %>
11
+ <% end %>
12
+ <%- end -%>
13
+ <%- else -%>
14
+ <%= form_tag({:controller=>"hydra/permissions", :action => "update"}, :id => "permissions_metadata", :class => "step") do -%>
15
+ <%= render :partial => "hydra/permissions/index" %>
16
+ <%= hidden_field_tag("id", params[:id], :id => "permissions_id") if params[:id] %>
17
+ <%= hidden_field_tag(:wf_step, params[:wf_step], :id => "permissions_wf_step") %>
18
+ <%= hidden_field_tag(:new_asset, true, :id => "permission_new_asset") if params[:new_asset] %>
19
+ <%= submit_tag("Add Additional Permissions", :name=>"add_permission")%>
20
+ <%= submit_tag(submit_name, :name=>"continue", :class=>"save-submit") %>
21
+ <%= submit_tag("Save and Finish", :name=>"finish", :class=>"save-submit") unless params[:new_asset] %>
22
+ <%- end -%>
23
+ <%- end -%>
@@ -0,0 +1 @@
1
+ <%= render :partial=>"hydra/permissions/index" %>
@@ -0,0 +1 @@
1
+ <%= render :partial=>"hydra/permissions/new" %>
@@ -0,0 +1,44 @@
1
+ <%= form_tag(url_for(:controller=>"hydra/assets", :action=>"update", :id=>params[:id]), :class => "step") do -%>
2
+ <%= hidden_field_tag("_method","put", :id=>"assets_method") %>
3
+ <p id="abstract_field" class="fedora-text-area">
4
+ <%= fedora_field_label("descMetadata", [:abstract], "Abstract") %>
5
+ <span class="field-caption">Provide the abstract of the work, or if none exists, a short summary.</span>
6
+ <%= fedora_text_area(@document_fedora,"descMetadata", [:abstract], :multiple=>false) %>
7
+ </p>
8
+
9
+ <fieldset id="peer_reviewed_fieldset">
10
+ <legend>Peer Reviewed</legend>
11
+ <%= fedora_checkbox(@document_fedora, "descMetadata", [:peer_reviewed], :default_values=>{:checked=>"peer reviewed",:unchecked=>""}) %>
12
+ <%= fedora_field_label("descMetadata", [:peer_reviewed], "This work has undergone a peer review process") %>
13
+ </fieldset>
14
+
15
+ <p id="notes_field" class="fedora-text-area">
16
+ <%= fedora_field_label("descMetadata", [:note], "Notes") %>
17
+ <span class="field-caption">Any additional notes or comments about the work.</span>
18
+ <%= fedora_text_area(@document_fedora,"descMetadata", [:note], :multiple=>false) %>
19
+ </p>
20
+
21
+ <fieldset id="keyword_fields">
22
+ <legend>Keywords</legend>
23
+ <p class="legend-caption">Add keywords to describe the work.</p>
24
+ <p class="fedora-text-field">
25
+ <%= fedora_text_field(@document_fedora,"descMetadata", [:subject, :topic], :multiple=>true, :required=>false ) %>
26
+ </p>
27
+ <p class="fedora-text-field-add">
28
+ <%-
29
+ # fedora_text_field_insert_link "descMetadata", [:subject, :topic]
30
+ -%>
31
+ </p>
32
+ </fieldset>
33
+
34
+ <p id="release_date_field" class="fedora-text-field">
35
+ <%= fedora_field_label("descMetadata", [:embargo,:embargo_release_date], "Release Date") %>
36
+ <span class="field-caption">Choose when to make your work's files available.</span>
37
+ <%= fedora_text_field(@document_fedora, "rightsMetadata", [:embargo, :embargo_release_date], :multiple => false, :required=>false ) %>
38
+ </p>
39
+ <%= hidden_field_tag(:wf_step, params[:wf_step], :id => "additional_wf_step") %>
40
+ <%= hidden_field_tag(:new_asset, true, :id => "additional_new_asset") if params[:new_asset] %>
41
+ <%= hidden_field_tag(:content_type,"mods_asset", :id => "additional_content_type") %>
42
+ <%= submit_tag(submit_name, :name=>"continue", :class=>"save-submit") %>
43
+ <%= submit_tag("Save and Finish", :name=>"finish", :class=>"save-submit") unless params[:new_asset] %>
44
+ <%- end -%>
@@ -0,0 +1,14 @@
1
+ <%= form_tag(hydra_asset_update_contributors_path(:asset_id=>params[:id]), :method => "GET", :class => "step") do -%>
2
+ <fieldset id="contributors_fields">
3
+ <legend>Authors</legend>
4
+ <p class="legend-caption">An individual or organizational author of work.</p>
5
+ <%= render "contributors/index" %>
6
+ <%= hidden_field_tag(:wf_step, params[:wf_step]) %>
7
+ <%= hidden_field_tag(:new_asset, true, :id => "contributor_new_asset") if params[:new_asset] %>
8
+ <%= hidden_field_tag(:content_type,"mods_asset") %>
9
+ <%= hidden_field_tag("id",params[:id], :id => "contributor_id") %>
10
+ <%= submit_tag("Add Another Author", :name=>"add_another_author") %>
11
+ <%= submit_tag(submit_name, :name=>"continue", :class=>"save-submit") %>
12
+ <%= submit_tag("Save and Finish", :name=>"finish", :class=>"save-submit") unless params[:new_asset] %>
13
+ </fieldset>
14
+ <%- end -%>
@@ -0,0 +1,10 @@
1
+ <% if !session[:scripts] %>
2
+ <%= render_previous_workflow_steps.html_safe %>
3
+ <%= render_submission_workflow_step -%>
4
+ <% else %>
5
+ <%= render_all_workflow_steps.html_safe %>
6
+ <div class="all-steps-actions">
7
+ <button id="all_save_continue" name="all_save_continue">Save and Continue Editing</button>
8
+ <button id="all_save_finish" name="all_save_finish">Save and Finish</button>
9
+ </div>
10
+ <% end %>
@@ -0,0 +1,73 @@
1
+ <%- @ds_desc_metadata = @document_fedora.datastreams["descMetadata"] %>
2
+ <%- @ds_rights_metadata = @document_fedora.datastreams["rightsMetadata"] %>
3
+ <%- author_entries = @ds_desc_metadata.find_by_terms_and_value('//oxns:name[@type="personal" and contains(oxns:role, "Author") and string-length(oxns:namePart[@type="family"]) > 0 ]') %>
4
+ <%- title_values = @ds_desc_metadata.term_values(:title_info, :main_title) %>
5
+ <%- license_values = @ds_rights_metadata.term_values(:copyright, :license) %>
6
+ <%- journal_title_values = @ds_desc_metadata.term_values(:journal,:title_info,:main_title) %>
7
+
8
+ <form id="document_metadata" action="<%= url_for(:action=>"update", :controller=>"hydra/assets", :content_type=>"mods_asset")%>" method="post" data-resourceType="mods_asset" accept-charset="utf-8">
9
+ <input name="_method" type="hidden" value="put" />
10
+ <input class="content_type" type="hidden" name="content_type" value="mods_asset" />
11
+
12
+ <!-- ### BEGIN author (step 1) ### -->
13
+
14
+ <fieldset id="contributors_fields">
15
+ <legend>Authors</legend>
16
+ <p class="legend-caption">An individual or organizational author of work.</p>
17
+ <%= render "contributors/index" %>
18
+ </fieldset>
19
+
20
+ <!-- ### END author section ### -->
21
+
22
+ <!-- ### BEGIN title and journal info (step 2) ### -->
23
+
24
+ <p id="title_field" class="fedora-text-field">
25
+ <%= fedora_field_label("descMetadata", [:title_info,:main_title], "Title<span class=\"required-note\">Required</span>") %>
26
+ <%= fedora_text_field(@document_fedora,"descMetadata", [:title_info, :main_title], :multiple=>false, :required=>true) %></p>
27
+
28
+ <%= render :partial=>"mods_assets/edit_journal", :collection=>@document_fedora.datastreams_in_memory["descMetadata"].find_by_terms(:journal) %>
29
+
30
+ <!-- ### END title and journal info (step 2) ### -->
31
+
32
+ <!-- ### BEGIN additional work info (step 3) ### -->
33
+
34
+ <p id="abstract_field" class="fedora-text-area">
35
+ <%= fedora_field_label("descMetadata", [:abstract], "Abstract") %>
36
+ <span class="field-caption">Provide the abstract of the work, or if none exists, a short summary.</span>
37
+ <%= fedora_text_area(@document_fedora,"descMetadata", [:abstract], :multiple=>false) %></p>
38
+
39
+ <fieldset id="peer_reviewed_fieldset">
40
+ <legend>Peer Reviewed</legend>
41
+ <%= fedora_checkbox(@document_fedora, "descMetadata", [:peer_reviewed], :default_values=>{:checked=>"peer reviewed",:unchecked=>""}) %>
42
+ <%= fedora_field_label("descMetadata", [:peer_reviewed], "This work has undergone a peer review process") %>
43
+ </fieldset>
44
+
45
+ <p id="notes_field" class="fedora-text-area">
46
+ <%= fedora_field_label("descMetadata", [:note], "Notes") %>
47
+ <span class="field-caption">Any additional notes or comments about the work.</span>
48
+ <%= fedora_text_area(@document_fedora,"descMetadata", [:note], :multiple=>false) %></p>
49
+
50
+ <fieldset id="keyword_fields">
51
+ <legend>Keywords</legend>
52
+ <p class="legend-caption">Add keywords to describe the work.</p>
53
+ <p class="fedora-text-field">
54
+ <%= fedora_text_field(@document_fedora,"descMetadata", [:subject, :topic], :multiple=>true, :required=>false ) %></p>
55
+ <p class="fedora-text-field-add"><%= fedora_text_field_insert_link "descMetadata", [:subject, :topic] %></p>
56
+ </fieldset>
57
+
58
+ <p id="release_date_field" class="fedora-text-field">
59
+ <%= fedora_field_label("descMetadata", [:embargo,:embargo_release_date], "Release Date") %>
60
+ <span class="field-caption">Choose when to make your work's files available.</span>
61
+ <%= fedora_text_field(@document_fedora, "rightsMetadata", [:embargo, :embargo_release_date], :multiple => false, :required=>false ) %></p>
62
+
63
+ <!-- ### END additional work info (step 3) ### -->
64
+
65
+ <input name="_method" type="hidden" value="put" />
66
+ <p class="save-description"><%= submit_tag 'Save Description', {:id => "saveDescription"} %></p>
67
+ </form>
68
+
69
+ <%= render :partial => "shared/delete_asset_confirmation", :locals => {:pid => params[:id], :title => (get_values_from_datastream(@document_fedora,"descMetadata", [:title_info, :main_title]).first.empty? ? "this article" : "'" << get_values_from_datastream(@document_fedora,"descMetadata", [:title_info, :main_title]).first << "'") } %>
70
+
71
+ <div id="deleteAsset">
72
+ <p class="delete-asset"><%= delete_asset_link(params[:id], "article") %></p>
73
+ </div>
@@ -0,0 +1,57 @@
1
+ <% journal = edit_journal %>
2
+ <% journal_counter = edit_journal_counter %>
3
+ <% base_id = "journal_#{journal_counter}" %>
4
+
5
+ <fieldset id="citation_fields">
6
+ <legend>Article Citation</legend>
7
+
8
+ <p id="journal_title_field" class="fedora-text-field">
9
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:title_info,:main_title], "Journal Title<span class=\"required-note\">required</span>".html_safe) %>
10
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter}, :title_info, :main_title], :multiple=>false, :required=>true ) %>
11
+ </p>
12
+
13
+ <fieldset id="citation_info">
14
+
15
+ <p id="citation_volume_field" class="fedora-text-field">
16
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:issue,:volume], "Volume") %>
17
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter},:issue,:volume], :multiple=>false, :required=>false ) %>
18
+ </p>
19
+
20
+ <p id="citation_issue_field" class="fedora-text-field">
21
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:issue,:level], "Issue") %>
22
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter},:issue,:level], :multiple=>false, :required=>false ) %>
23
+ </p>
24
+
25
+ <p id="citation_start_page_field" class="fedora-text-field">
26
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:issue,:start_page], "Start Page") %>
27
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter},:issue,:start_page], :multiple=>false, :required=>false ) %>
28
+ </p>
29
+
30
+ <p id="citation_end_page_field" class="fedora-text-field">
31
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:issue,:end_page], "End Page") %>
32
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter},:issue,:end_page], :multiple=>false, :required=>false ) %>
33
+ </p>
34
+ </fieldset>
35
+
36
+ <p id="publisher_field" class="fedora-text-field">
37
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:origin_info,:publisher], "Publisher") %>
38
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter},:origin_info, :publisher], :multiple=>false, :required=>false ) %>
39
+ </p>
40
+
41
+ <p id="isbn_field" class="fedora-text-field">
42
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:issn], "ISSN") %>
43
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter}, :issn], :multiple=>false, :required=>false ) %>
44
+ </p>
45
+
46
+ <p id="publication_date_field" class="fedora-text-field">
47
+ <%= fedora_field_label("descMetadata", [{:journal => journal_counter},:issue,:publication_date], "Publication Date") %>
48
+ <%= fedora_text_field(@document_fedora,"descMetadata", [{:journal => journal_counter},:issue,:publication_date], :multiple=>false, :required=>false ) %>
49
+ </p>
50
+
51
+ <p id="publication_url_field" class="fedora-text-field">
52
+ <%= fedora_field_label("descMetadata", [:location, :url], "Publication URL") %>
53
+ <span class="field-caption">Provide the full URL to any published version of the work.</span>
54
+ <%= fedora_text_field(@document_fedora,"descMetadata", [:location, :url], :multiple=>false, :required=>false ) %>
55
+ </p>
56
+
57
+ </fieldset>
@@ -0,0 +1 @@
1
+ <%= render :partial => "mods_assets/index_table", :locals => {:document => document, :counter => counter } %>
@@ -0,0 +1,37 @@
1
+ <div id="title_div" style="float:left;width:300px;"><h2><%= counter + 1 %>. <%= link_to_document(document, :label => Blacklight.config[:show][:heading].to_sym, :counter => (counter + 1 + @response.params[:start].to_i)) %></h2></div>
2
+ <div id="type_div" style="float:right;"><%= document.document_type(blacklight_config.show.display_type) %></div>
3
+ <div id="content_div" style="float:left;">
4
+ <dl id="index_list">
5
+ <dt>Author(s):</dt>
6
+ <dd>
7
+ <%= author_list(document).join(" ") %>
8
+ </dd>
9
+ <dt>Published:</dt>
10
+ <dd>
11
+ <%= journal_info(document) %>
12
+ </dd>
13
+ <dt>Abstract:</dt>
14
+ <dd>
15
+ <%= short_abstract(document) %>
16
+ </dd>
17
+ <dt>Files:</dt>
18
+ <dd>
19
+ <%-
20
+ file_count = get_file_asset_count(document)
21
+ file_desc = get_file_asset_description(document)
22
+ file_desc.concat('.') unless file_desc[-1] == '.'
23
+ -%>
24
+ <% if file_count > 0 %>
25
+ <%= file_desc %>
26
+ <%= file_count %> file<%= file_count > 1 ? "s" : "" %>.
27
+ [<%= link_to("see all", catalog_path(document[:id], :files=>true)) %>]
28
+ <% else %>
29
+ No files.
30
+ <% end %>
31
+ </dd>
32
+ <dt>Admin:</dt>
33
+ <dd>
34
+ <%= admin_info(document) %>
35
+ </dd>
36
+ </dl>
37
+ </div>
@@ -0,0 +1,7 @@
1
+ <tr class="document <%= cycle("even","odd") %>">
2
+ <td class="document_title"><%= link_to_document(document, :label => :mods_0_title_info_0_main_title_t, :counter => (counter + 1 + @response.params[:start].to_i)) %></td>
3
+ <td class="document_author"><% author = document.get_person_from_role("author") %><%= author.nil? ? "n/a" : [author[:last], author[:first]].join(", ") %></td>
4
+ <td class="document_work"><%= document.fetch(:journal_title_info_main_title_t, nil) %></td>
5
+ <td class="document_date"><%= l(DateTime.parse(document.fetch(:system_create_dt, "")).to_date, :format => :hydra) %></td>
6
+ <td class="document_files"><%= get_file_asset_count(document) %></td>
7
+ </tr>
@@ -0,0 +1,82 @@
1
+ <%- stylesheet_links << "progressBox" %>
2
+ <%- @ds_desc_metadata = @document_fedora.datastreams["descMetadata"] %>
3
+ <%- author_entries = @ds_desc_metadata.find_by_terms_and_value('//oxns:name[@type="personal" and contains(oxns:role, "Author") and string-length(oxns:namePart[@type="family"]) > 0 ]') %>
4
+ <%- title_values = @ds_desc_metadata.term_values(:title_info, :main_title) %>
5
+ <ol>
6
+ <% if !title_values.empty? && !title_values.first.empty? %>
7
+ <li id="pbTitleProvided" class="progressItem progressItemChecked">
8
+ Title provided <span class="progressBoxInvisibleStatus">- Done</span>
9
+ </li>
10
+ <% else %>
11
+ <li id="pbTitleProvided" class="progressItem">
12
+ Title provided <span class="progressBoxInvisibleStatus">- Not done</span>
13
+ </li>
14
+ <% end %>
15
+
16
+ <% if !author_entries.empty? %>
17
+ <li id="pbAuthorProvided" class="progressItem progressItemChecked">
18
+ One or more Author provided <span class="progressBoxInvisibleStatus">- Done</span>
19
+ </li>
20
+ <% else %>
21
+ <li id="pbAuthorProvided" class="progressItem">
22
+ One or more Author provided <span class="progressBoxInvisibleStatus">- Not done</span>
23
+ </li>
24
+ <% end %>
25
+
26
+ <% if !@document_fedora.parts(:response_format=>:id_array).empty? %>
27
+ <li id="pbFileUploaded" class="progressItem progressItemChecked">
28
+ One or more Files uploaded <span class="progressBoxInvisibleStatus">- Done</span>
29
+ </li>
30
+ <% else %>
31
+ <li id="pbFileUploaded" class="progressItem">
32
+ One or more Files uploaded <span class="progressBoxInvisibleStatus">- Not done</span>
33
+ </li>
34
+ <% end %>
35
+
36
+
37
+ <% if @document_fedora.submitted_for_release? %>
38
+ <li id="submitToRegistrarDiv" class="noIndent">
39
+ <hr size="1" />
40
+ <!-- <p class="progressItem progressItemChecked bold">Released</p> -->
41
+ <!-- <div class="progressInfoBox"><%#= formatTimestamp(@ds_properties.submit_date_values.first) %></div> -->
42
+ <%= form_tag url_for( :action=>"update", :controller=>"hydra/assets", :content_type=>"mods_asset"), "data-resourceType"=>"mods_asset", "accept-charset"=>"utf-8" do %>
43
+ <input name="_method" type="hidden" value="put" />
44
+ <div>
45
+ <p class="progressItem progressItemChecked bold">
46
+ <%= fedora_field_label("properties", [:release_to], "Released to") %>
47
+ <%= fedora_select(@document_fedora, "properties", [:release_to], :choices => {"Public" => "public", "UVa Only"=>"registered"}) %>
48
+ <!-- Careful! Submitting this hidden input will release the article. -->
49
+ <%= tag(:input, :type=>"hidden", :name=>"asset[properties][released][0]", :value=>"true")%>
50
+ </p>
51
+ </div>
52
+ <% end %>
53
+ <hr size="1" />
54
+ <div id="deleteAsset">
55
+ <%= delete_asset_link(params[:id], "article") %>
56
+ </div>
57
+ </li>
58
+ <% else %>
59
+ <li class="progressBoxSubmit noIndent" id="submitToRegistrarDiv">
60
+ <hr size="1" />
61
+ <%= form_tag url_for( :action=>"update", :controller=>"hydra/assets", :content_type=>"mods_asset"), "data-resourceType"=>"mods_asset", "accept-charset"=>"utf-8" do %>
62
+ <input name="_method" type="hidden" value="put" />
63
+ <div>
64
+ <%= fedora_field_label("properties", [:release_to], "Release to") %>
65
+ <%= fedora_select(@document_fedora, "properties", [:release_to], :choices => {"Public" => "public", "UVa Only"=>"registered"}) %>
66
+ <!-- Careful! Submitting this hidden input will release the article. -->
67
+ <%= tag(:input, :type=>"hidden", :name=>"asset[properties][released][0]", :value=>"true")%>
68
+ <% if @document_fedora.ready_to_release? %>
69
+ <%= button_to 'Release for UVa Library Circulation', {},{:id => "submitForRelease"} %>
70
+ <% else %>
71
+ <%= button_to 'Release for UVa Library Circulation', {},{:id => "submitForRelease", :disabled => "disabled"} %>
72
+ <% end %>
73
+ </div>
74
+ <% end %>
75
+ <hr size="1" />
76
+ <div id="deleteAsset">
77
+ <%= delete_asset_link(params[:id], "article") %>
78
+ </div>
79
+ </li>
80
+ <% end %>
81
+
82
+ </ol>