enju_library 0.2.0.beta.1 → 0.2.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/enju_library/controller.rb +218 -0
  3. data/app/controllers/user_export_files_controller.rb +116 -0
  4. data/app/controllers/user_groups_controller.rb +118 -0
  5. data/app/controllers/user_import_files_controller.rb +129 -0
  6. data/app/controllers/user_import_results_controller.rb +57 -0
  7. data/app/mailers/notifier.rb +30 -0
  8. data/app/models/user_export_file.rb +67 -0
  9. data/app/models/user_export_file_state_machine.rb +15 -0
  10. data/app/models/user_export_file_transition.rb +20 -0
  11. data/app/models/user_group.rb +29 -0
  12. data/app/models/user_import_file.rb +352 -0
  13. data/app/models/user_import_file_state_machine.rb +19 -0
  14. data/app/models/user_import_file_transition.rb +20 -0
  15. data/app/models/user_import_result.rb +20 -0
  16. data/app/policies/user_export_file_policy.rb +21 -0
  17. data/app/policies/user_group_policy.rb +22 -0
  18. data/app/policies/user_import_file_policy.rb +21 -0
  19. data/app/policies/user_import_result_policy.rb +21 -0
  20. data/app/views/accepts/index.js.slim +3 -0
  21. data/app/views/libraries/_map.html+phone.slim +4 -0
  22. data/app/views/libraries/show.html+phone.slim +32 -0
  23. data/app/views/libraries/show.js.slim +3 -0
  24. data/app/views/shelves/show.html+phone.slim +33 -0
  25. data/app/views/user_export_files/_form.html.erb +12 -0
  26. data/app/views/user_export_files/edit.html.erb +6 -0
  27. data/app/views/user_export_files/index.html.erb +44 -0
  28. data/app/views/user_export_files/new.html.erb +16 -0
  29. data/app/views/user_export_files/show.html.erb +36 -0
  30. data/app/views/user_groups/_form.html.erb +40 -0
  31. data/app/views/user_groups/edit.html.erb +13 -0
  32. data/app/views/user_groups/index.html.erb +51 -0
  33. data/app/views/user_groups/new.html.erb +12 -0
  34. data/app/views/user_groups/show.html.erb +68 -0
  35. data/app/views/user_import_files/_form.html.erb +61 -0
  36. data/app/views/user_import_files/_results.html.erb +22 -0
  37. data/app/views/user_import_files/edit.html.erb +6 -0
  38. data/app/views/user_import_files/index.html.erb +45 -0
  39. data/app/views/user_import_files/new.html.erb +60 -0
  40. data/app/views/user_import_files/show.html.erb +85 -0
  41. data/app/views/user_import_results/_form.html.erb +29 -0
  42. data/app/views/user_import_results/_list.html.erb +22 -0
  43. data/app/views/user_import_results/_list_lines.html.erb +24 -0
  44. data/app/views/user_import_results/index.html.erb +25 -0
  45. data/app/views/user_import_results/index.txt.erb +3 -0
  46. data/app/views/user_import_results/show.html.erb +33 -0
  47. data/{spec/dummy/db → db}/migrate/077_create_user_groups.rb +0 -0
  48. data/{spec/dummy/db → db}/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +0 -0
  49. data/{spec/dummy/db → db}/migrate/20140110122216_create_user_import_files.rb +1 -1
  50. data/{spec/dummy/db → db}/migrate/20140110131010_create_user_import_results.rb +0 -0
  51. data/{spec/dummy/db → db}/migrate/20140524074813_create_user_import_file_transitions.rb +0 -0
  52. data/{spec/dummy/db → db}/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +0 -0
  53. data/{spec/dummy/db → db}/migrate/20140709113413_create_user_export_files.rb +0 -0
  54. data/{spec/dummy/db → db}/migrate/20140709113905_create_user_export_file_transitions.rb +0 -0
  55. data/{spec/dummy/db → db}/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +0 -0
  56. data/{spec/dummy/db → db}/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +0 -0
  57. data/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +5 -0
  58. data/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +5 -0
  59. data/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +9 -0
  60. data/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +9 -0
  61. data/lib/enju_library/engine.rb +3 -1
  62. data/lib/enju_library/version.rb +1 -1
  63. data/spec/controllers/user_export_files_controller_spec.rb +296 -0
  64. data/spec/controllers/user_groups_controller_spec.rb +443 -0
  65. data/spec/controllers/user_import_files_controller_spec.rb +305 -0
  66. data/spec/controllers/user_import_results_controller_spec.rb +154 -0
  67. data/spec/dummy/app/controllers/application_controller.rb +2 -2
  68. data/spec/dummy/config/application.rb +0 -2
  69. data/spec/dummy/db/migrate/055_create_bookmarks.rb +22 -0
  70. data/spec/dummy/db/migrate/090_create_search_histories.rb +31 -0
  71. data/spec/dummy/db/migrate/20081212151614_create_bookmark_stats.rb +13 -0
  72. data/spec/dummy/db/migrate/20081212151820_create_bookmark_stat_has_manifestations.rb +13 -0
  73. data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
  74. data/spec/dummy/db/migrate/20100525171356_acts_as_taggable_on_migration.rb +30 -0
  75. data/spec/dummy/db/migrate/20100623173800_rename_search_history_version_to_sru_version.rb +9 -0
  76. data/spec/dummy/db/migrate/20111129044509_add_pickup_location_to_reserve.rb +6 -0
  77. data/spec/dummy/db/migrate/20120418121539_add_save_search_history_to_user.rb +5 -0
  78. data/spec/dummy/db/migrate/20140524135607_create_bookmark_stat_transitions.rb +18 -0
  79. data/spec/dummy/db/migrate/20140811132912_add_save_search_history_to_profile.rb +5 -0
  80. data/spec/dummy/db/migrate/20140812093836_add_share_bookmarks_to_profile.rb +5 -0
  81. data/spec/dummy/db/migrate/20150106001709_create_demands.rb +14 -0
  82. data/spec/dummy/db/migrate/20150421023923_create_identities.rb +15 -0
  83. data/spec/dummy/db/migrate/20151126005552_add_provider_to_identity.rb +5 -0
  84. data/spec/dummy/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +9 -0
  85. data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +9 -0
  86. data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +9 -0
  87. data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +9 -0
  88. data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +9 -0
  89. data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +5 -0
  90. data/spec/dummy/db/schema.rb +141 -6
  91. data/spec/dummy/db/test.sqlite3 +0 -0
  92. data/spec/dummy/private/system/user_export_files/user_exports/000/000/001/original/user_export_file_20160808-8463-13fk7qo.txt +8 -0
  93. data/spec/dummy/private/system/user_export_files/user_exports/000/000/001/original/user_export_file_20160808-8463-y41sj6.txt +8 -0
  94. data/spec/dummy/private/system/user_export_files/user_exports/000/000/001/original/user_export_file_20160808-8517-1tzre93.txt +8 -0
  95. data/spec/dummy/private/system/user_export_files/user_exports/000/000/001/original/user_export_file_20160808-8517-qait5x.txt +8 -0
  96. data/spec/dummy/private/system/user_export_files/user_exports/000/000/001/original/user_export_file_20160808-8605-17zb3sz.txt +8 -0
  97. data/spec/dummy/private/system/user_export_files/user_exports/000/000/001/original/user_export_file_20160808-8605-1bpp9w8.txt +8 -0
  98. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-10113-ycu8m8.txt +8 -0
  99. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-10296-1w0qa4q.txt +8 -0
  100. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-10532-3gf0e4.txt +8 -0
  101. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-10743-1986tss.txt +8 -0
  102. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-10850-131ca5h.txt +8 -0
  103. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-11057-lrwhh.txt +8 -0
  104. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-11201-1j3f8z4.txt +8 -0
  105. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-8698-1cv7l1l.txt +8 -0
  106. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-8788-1j021tn.txt +8 -0
  107. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-8964-10it3ay.txt +8 -0
  108. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-9184-ramwb2.txt +8 -0
  109. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-9381-1ltvlr5.txt +8 -0
  110. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-9568-1xno5kz.txt +8 -0
  111. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-9694-1xvbn9r.txt +8 -0
  112. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-9796-1s8wttm.txt +8 -0
  113. data/spec/dummy/private/system/user_export_files/user_exports/000/000/003/original/user_export_file_20160808-9976-os18dm.txt +8 -0
  114. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10113-i50cx9.txt +8 -0
  115. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10113-yfyk1q.txt +8 -0
  116. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10296-mwlqee.txt +8 -0
  117. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10296-q7cj81.txt +8 -0
  118. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10532-11e6ke6.txt +8 -0
  119. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10532-19zrpc6.txt +8 -0
  120. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10743-126qknn.txt +8 -0
  121. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10743-1yr9gk3.txt +8 -0
  122. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10850-1h0ufaw.txt +8 -0
  123. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-10850-1j6rz0a.txt +8 -0
  124. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-11057-4u0q76.txt +8 -0
  125. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-11057-xkxnw0.txt +8 -0
  126. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-11201-1pbhweq.txt +8 -0
  127. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-11201-oe7c58.txt +8 -0
  128. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-8698-becrga.txt +8 -0
  129. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-8698-n6a7dl.txt +8 -0
  130. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-8788-kcq4ud.txt +8 -0
  131. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-8788-pk5u5w.txt +8 -0
  132. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-8964-1it6ent.txt +8 -0
  133. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-8964-sevvj9.txt +8 -0
  134. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9184-1wya34t.txt +8 -0
  135. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9184-53qr2e.txt +8 -0
  136. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9381-18m5cay.txt +8 -0
  137. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9381-1o6dbyx.txt +8 -0
  138. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9568-1rg8mif.txt +8 -0
  139. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9568-p2ibx2.txt +8 -0
  140. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9694-1lpp5g6.txt +8 -0
  141. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9694-1vbkp9i.txt +8 -0
  142. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9796-4auzfe.txt +8 -0
  143. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9796-is0c1e.txt +8 -0
  144. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9976-1n5tevc.txt +8 -0
  145. data/spec/dummy/private/system/user_export_files/user_exports/000/000/004/original/user_export_file_20160808-9976-1ygxnz1.txt +8 -0
  146. data/spec/dummy/private/system/user_import_files/user_imports/000/000/001/original/user_import_file_sample.tsv +10 -0
  147. data/spec/dummy/private/system/user_import_files/user_imports/000/000/001/original/user_import_file_sample_long.tsv +15 -0
  148. data/spec/dummy/private/system/user_import_files/user_imports/000/000/001/original/user_update_file.tsv +4 -0
  149. data/spec/dummy/private/system/user_import_files/user_imports/000/000/001/original/user_update_file2.tsv +2 -0
  150. data/spec/dummy/private/system/user_import_files/user_imports/000/000/001/original/user_update_file3.tsv +2 -0
  151. data/spec/dummy/private/system/user_import_files/user_imports/000/000/001/original/user_update_file4.tsv +2 -0
  152. data/spec/dummy/private/system/user_import_files/user_imports/000/000/003/original/user_import_file_sample.tsv +10 -0
  153. data/spec/dummy/private/system/user_import_files/user_imports/000/000/003/original/user_import_file_sample_long.tsv +15 -0
  154. data/spec/dummy/private/system/user_import_files/user_imports/000/000/003/original/user_update_file.tsv +4 -0
  155. data/spec/dummy/private/system/user_import_files/user_imports/000/000/003/original/user_update_file2.tsv +2 -0
  156. data/spec/dummy/private/system/user_import_files/user_imports/000/000/003/original/user_update_file3.tsv +2 -0
  157. data/spec/dummy/private/system/user_import_files/user_imports/000/000/003/original/user_update_file4.tsv +2 -0
  158. data/spec/dummy/private/system/user_import_files/user_imports/000/000/004/original/user_delete_file.tsv +4 -0
  159. data/spec/factories/checkout.rb +9 -0
  160. data/spec/factories/user_group.rb +5 -0
  161. data/spec/fixtures/message_templates.yml +41 -20
  162. data/spec/fixtures/user_export_files.yml +25 -0
  163. data/spec/fixtures/user_groups.yml +19 -0
  164. data/spec/fixtures/user_import_files.yml +51 -0
  165. data/spec/fixtures/user_import_results.yml +26 -0
  166. data/spec/fixtures/user_reserve_stats.yml +2 -3
  167. data/spec/models/user_export_file_spec.rb +30 -0
  168. data/spec/models/user_group_spec.rb +37 -0
  169. data/spec/models/user_import_file_spec.rb +220 -0
  170. data/spec/models/user_import_result_spec.rb +20 -0
  171. data/spec/support/devise.rb +2 -2
  172. data/spec/views/user_export_files/new.html.erb_spec.rb +19 -0
  173. data/spec/views/user_import_results/index.html.erb_spec.rb +29 -0
  174. metadata +358 -30
  175. data/spec/dummy/tmp/cache/4AD/470/country_all +0 -0
@@ -0,0 +1,22 @@
1
+ <table class="table table-striped index">
2
+ <tr>
3
+ <th><%= t('activerecord.models.user_import_file') %></th>
4
+ <th><%= t('activerecord.models.user') %></th>
5
+ <th></th>
6
+ </tr>
7
+
8
+ <% @user_import_results.each do |user_import_result| %>
9
+ <tr class="line<%= cycle("0", "1") -%>">
10
+ <td>
11
+ <%= link_to user_import_result.user_import_file.user_import_file_name, user_import_result.user_import_file %>
12
+ <br />
13
+ <%=l user_import_result.created_at %>
14
+ </td>
15
+ <td><%= link_to user_import_result.user.username, user_import_result.user.profile if user_import_result.user.try(:profile) %></td>
16
+ <td>
17
+ <%= link_to t('page.show'), user_import_result %>
18
+ <%= link_to t('page.destroy'), user_import_result, data: {confirm: t('page.are_you_sure')}, method: :delete %>
19
+ </td>
20
+ </tr>
21
+ <% end %>
22
+ </table>
@@ -0,0 +1,24 @@
1
+ <ul>
2
+ <li><%= t('activerecord.models.user_import_file') %>: <%= link_to @user_import_file.user_import_file_name, @user_import_file %>
3
+ <li><%= t('page.created_at') %>: <%= l(@user_import_file.created_at) %>
4
+ </h2>
5
+ <table class="table table-striped index">
6
+ <tr>
7
+ <th><%= t('activerecord.attributes.user_import_result.lineno') %></th>
8
+ <th><%= t('activerecord.attributes.user_import_result.body') %></th>
9
+ <th><%= t('activerecord.models.user') %></th>
10
+ <th></th>
11
+ </tr>
12
+
13
+ <% @user_import_results.each_with_index do |user_import_result, idx| %>
14
+ <tr class="line<%= cycle("0", "1") -%>">
15
+ <td><%= @user_import_results.offset_value + idx + 1 %></td>
16
+ <td><%= user_import_result.body.inspect %></td>
17
+ <td><%= link_to user_import_result.user.username, user_import_result.user.profile if user_import_result.user.try(:profile) %></td>
18
+ <td>
19
+ <%= link_to t('page.show'), user_import_result %>
20
+ <%= link_to t('page.destroy'), user_import_result, data: {confirm: t('page.are_you_sure')}, method: :delete %>
21
+ </td>
22
+ </tr>
23
+ <% end %>
24
+ </table>
@@ -0,0 +1,25 @@
1
+ <div id="content_detail" class="ui-corner-all ui-widget-content">
2
+ <h1 class="title"><%= t('page.listing', model: t('activerecord.models.user_import_result')) -%></h1>
3
+ <div id="content_list">
4
+ <% if @user_import_file %>
5
+ <%= render 'list_lines' %>
6
+ <% else %>
7
+ <%= render 'list' %>
8
+ <% end %>
9
+ <%= paginate(@user_import_results) %>
10
+ </div>
11
+ </div>
12
+
13
+ <div id="submenu" class="ui-corner-all ui-widget-content">
14
+ <ul>
15
+ <li>
16
+ <% if @user_import_file %>
17
+ <%= link_to((image_tag 'icons/page_white_excel.png', size: '16x16', alt: 'TSV', class: 'icon'), user_import_results_path(user_import_file_id: @user_import_file.id, format: :txt, locale: @locale.to_s)) -%>
18
+ (<%= link_to 'TSV', user_import_results_path(user_import_file_id: @user_import_file.id, format: :txt, locale: @locale.to_s) -%>)
19
+ <% else %>
20
+ <%= link_to((image_tag 'icons/page_white_excel.png', size: '16x16', alt: 'TSV', class: 'icon'), user_import_results_path(format: :txt, locale: @locale.to_s)) -%>
21
+ (<%= link_to 'TSV', user_import_results_path(format: :txt, locale: @locale.to_s) -%>)
22
+ <% end %>
23
+ </li>
24
+ </ul>
25
+ </div>
@@ -0,0 +1,3 @@
1
+ <%- @user_import_results.each do |user_import_result| -%>
2
+ "<%= user_import_result.user.try(:username) %>" <%= user_import_result.body %><%= "\n" -%>
3
+ <%- end -%>
@@ -0,0 +1,33 @@
1
+ <div id="content_detail" class="ui-corner-all ui-widget-content">
2
+ <h1 class="title"><%= t('page.showing', model: t('activerecord.models.user_import_result')) -%></h1>
3
+ <div id="content_list">
4
+ <p id="notice"><%= notice %></p>
5
+
6
+ <p>
7
+ <b><%= t('activerecord.models.user_import_file') %></b>
8
+ <%= @user_import_result.user_import_file.user_import_file_name %>
9
+ </p>
10
+
11
+ <p>
12
+ <b><%= t('activerecord.models.user') %></b>
13
+ <%= link_to @user_import_result.user.username, @user_import_result.user.profile if @user_import_result.user.try(:profile) %>
14
+ </p>
15
+
16
+ <p>
17
+ <b><%= t('activerecord.attributes.user_import_result.body') %></b>
18
+ <%= @user_import_result.body.inspect %>
19
+ </p>
20
+
21
+ <p>
22
+ <b><%= t('page.created_at') %></b>
23
+ <%=l @user_import_result.created_at %>
24
+ </p>
25
+
26
+ </div>
27
+ </div>
28
+
29
+ <div id="submenu" class="ui-corner-all ui-widget-content">
30
+ <ul>
31
+ <li><%= back_to_index(flash[:page_info]) -%></li>
32
+ </ul>
33
+ </div>
@@ -6,7 +6,7 @@ class CreateUserImportFiles < ActiveRecord::Migration
6
6
  t.datetime :executed_at
7
7
  t.string :user_import_file_name
8
8
  t.string :user_import_content_type
9
- t.string :user_import_file_size
9
+ t.integer :user_import_file_size
10
10
  t.datetime :user_import_updated_at
11
11
  t.string :user_import_fingerprint
12
12
  t.string :edit_mode
@@ -0,0 +1,5 @@
1
+ class AddErrorMessageToUserImportResult < ActiveRecord::Migration
2
+ def change
3
+ add_column :user_import_results, :error_message, :text
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddHtmlSnippetToLibraryGroup < ActiveRecord::Migration
2
+ def change
3
+ add_column :library_groups, :html_snippet, :text
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class AddMostRecentToUserImportFileTransitions < ActiveRecord::Migration
2
+ def up
3
+ add_column :user_import_file_transitions, :most_recent, :boolean, null: true
4
+ end
5
+
6
+ def down
7
+ remove_column :user_import_file_transitions, :most_recent
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class AddMostRecentToUserExportFileTransitions < ActiveRecord::Migration
2
+ def up
3
+ add_column :user_export_file_transitions, :most_recent, :boolean, null: true
4
+ end
5
+
6
+ def down
7
+ remove_column :user_export_file_transitions, :most_recent
8
+ end
9
+ end
@@ -1,4 +1,6 @@
1
- require 'enju_biblio'
1
+ require 'enju_seed'
2
+ require 'paperclip'
3
+ require 'statesman'
2
4
  require 'geocoder'
3
5
  require 'globalize'
4
6
  require 'globalize-accessors'
@@ -1,3 +1,3 @@
1
1
  module EnjuLibrary
2
- VERSION = "0.2.0.beta.1"
2
+ VERSION = "0.2.0.beta.2"
3
3
  end
@@ -0,0 +1,296 @@
1
+ require 'spec_helper'
2
+
3
+ describe UserExportFilesController do
4
+ fixtures :all
5
+
6
+ describe "GET index" do
7
+ describe "When logged in as Administrator" do
8
+ login_fixture_admin
9
+
10
+ it "assigns all user_export_files as @user_export_files" do
11
+ get :index
12
+ assigns(:user_export_files).should eq(UserExportFile.order('id DESC').page(1))
13
+ end
14
+ end
15
+
16
+ describe "When logged in as Librarian" do
17
+ login_fixture_librarian
18
+
19
+ it "assigns empty as @user_export_files" do
20
+ get :index
21
+ assigns(:user_export_files).should be_nil
22
+ end
23
+ end
24
+
25
+ describe "When logged in as User" do
26
+ login_fixture_user
27
+
28
+ it "assigns empty as @user_export_files" do
29
+ get :index
30
+ assigns(:user_export_files).should be_nil
31
+ expect(response).to be_forbidden
32
+ end
33
+ end
34
+
35
+ describe "When not logged in" do
36
+ it "assigns empty as @user_export_files" do
37
+ get :index
38
+ assigns(:user_export_files).should be_nil
39
+ expect(response).to redirect_to(new_user_session_url)
40
+ end
41
+ end
42
+ end
43
+
44
+ describe "GET show" do
45
+ describe "When logged in as Administrator" do
46
+ login_fixture_admin
47
+
48
+ it "assigns the requested user_export_file as @user_export_file" do
49
+ get :show, id: user_export_files(:user_export_file_00003).id
50
+ assigns(:user_export_file).should eq(user_export_files(:user_export_file_00003))
51
+ expect(response).to be_success
52
+ end
53
+ end
54
+
55
+ describe "When logged in as Librarian" do
56
+ login_fixture_librarian
57
+
58
+ it "assigns the requested user_export_file as @user_export_file" do
59
+ get :show, id: user_export_files(:user_export_file_00003).id
60
+ assigns(:user_export_file).should eq(user_export_files(:user_export_file_00003))
61
+ expect(response).to be_forbidden
62
+ end
63
+ end
64
+
65
+ describe "When logged in as User" do
66
+ login_fixture_user
67
+
68
+ it "assigns the requested user_export_file as @user_export_file" do
69
+ get :show, id: user_export_files(:user_export_file_00003).id
70
+ assigns(:user_export_file).should eq(user_export_files(:user_export_file_00003))
71
+ expect(response).to be_forbidden
72
+ end
73
+ end
74
+
75
+ describe "When not logged in" do
76
+ it "assigns the requested user_export_file as @user_export_file" do
77
+ get :show, id: user_export_files(:user_export_file_00003).id
78
+ assigns(:user_export_file).should eq(user_export_files(:user_export_file_00003))
79
+ expect(response).to redirect_to(new_user_session_url)
80
+ end
81
+ end
82
+ end
83
+
84
+ describe "GET new" do
85
+ describe "When logged in as Administrator" do
86
+ login_fixture_admin
87
+
88
+ it "assigns the requested user_export_file as @user_export_file" do
89
+ get :new
90
+ assigns(:user_export_file).should be_valid
91
+ expect(response).to be_success
92
+ end
93
+ end
94
+
95
+ describe "When logged in as Librarian" do
96
+ login_fixture_librarian
97
+
98
+ it "should not assign the requested user_export_file as @user_export_file" do
99
+ get :new
100
+ assigns(:user_export_file).should be_nil
101
+ expect(response).to be_forbidden
102
+ end
103
+ end
104
+
105
+ describe "When logged in as User" do
106
+ login_fixture_user
107
+
108
+ it "should not assign the requested user_export_file as @user_export_file" do
109
+ get :new
110
+ assigns(:user_export_file).should be_nil
111
+ expect(response).to be_forbidden
112
+ end
113
+ end
114
+
115
+ describe "When not logged in" do
116
+ it "should not assign the requested user_export_file as @user_export_file" do
117
+ get :new
118
+ assigns(:user_export_file).should be_nil
119
+ expect(response).to redirect_to(new_user_session_url)
120
+ end
121
+ end
122
+ end
123
+
124
+ describe "POST create" do
125
+ describe "When logged in as Administrator" do
126
+ login_fixture_admin
127
+
128
+ it "should create agent_export_file" do
129
+ post :create, user_export_file: {mode: 'export'}
130
+ assigns(:user_export_file).should be_valid
131
+ assigns(:user_export_file).user.username.should eq @user.username
132
+ expect(response).to redirect_to user_export_file_url(assigns(:user_export_file))
133
+ end
134
+ end
135
+
136
+ describe "When logged in as Librarian" do
137
+ login_fixture_librarian
138
+
139
+ it "should create agent_export_file" do
140
+ post :create, user_export_file: {mode: 'export'}
141
+ assigns(:user_export_file).should be_nil
142
+ expect(response).to be_forbidden
143
+ end
144
+ end
145
+
146
+ describe "When logged in as User" do
147
+ login_fixture_user
148
+
149
+ it "should be forbidden" do
150
+ post :create, user_export_file: {mode: 'export'}
151
+ assigns(:user_export_file).should be_nil
152
+ expect(response).to be_forbidden
153
+ end
154
+ end
155
+
156
+ describe "When not logged in" do
157
+ it "should be redirected to new session url" do
158
+ post :create, user_export_file: {mode: 'export'}
159
+ assigns(:user_export_file).should be_nil
160
+ expect(response).to redirect_to new_user_session_url
161
+ end
162
+ end
163
+ end
164
+
165
+ describe "GET edit" do
166
+ describe "When logged in as Administrator" do
167
+ login_fixture_admin
168
+
169
+ it "assigns the requested user_export_file as @user_export_file" do
170
+ user_export_file = user_export_files(:user_export_file_00001)
171
+ get :edit, id: user_export_file.id
172
+ assigns(:user_export_file).should eq(user_export_file)
173
+ end
174
+ end
175
+
176
+ describe "When logged in as Librarian" do
177
+ login_fixture_librarian
178
+
179
+ it "assigns the requested user_export_file as @user_export_file" do
180
+ user_export_file = user_export_files(:user_export_file_00001)
181
+ get :edit, id: user_export_file.id
182
+ expect(response).to be_forbidden
183
+ end
184
+ end
185
+
186
+ describe "When logged in as User" do
187
+ login_fixture_user
188
+
189
+ it "assigns the requested user_export_file as @user_export_file" do
190
+ user_export_file = user_export_files(:user_export_file_00001)
191
+ get :edit, id: user_export_file.id
192
+ expect(response).to be_forbidden
193
+ end
194
+ end
195
+
196
+ describe "When not logged in" do
197
+ it "should not assign the requested user_export_file as @user_export_file" do
198
+ user_export_file = user_export_files(:user_export_file_00001)
199
+ get :edit, id: user_export_file.id
200
+ expect(response).to redirect_to(new_user_session_url)
201
+ end
202
+ end
203
+ end
204
+
205
+ describe "PUT update" do
206
+ describe "When logged in as Administrator" do
207
+ login_fixture_admin
208
+
209
+ it "should update user_export_file" do
210
+ put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
211
+ expect(response).to redirect_to user_export_file_url(assigns(:user_export_file))
212
+ end
213
+ end
214
+
215
+ describe "When logged in as Librarian" do
216
+ login_fixture_librarian
217
+
218
+ it "should update user_export_file" do
219
+ put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
220
+ expect(response).to be_forbidden
221
+ end
222
+ end
223
+
224
+ describe "When logged in as User" do
225
+ login_fixture_user
226
+
227
+ it "should not update user_export_file" do
228
+ put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
229
+ expect(response).to be_forbidden
230
+ end
231
+ end
232
+
233
+ describe "When not logged in" do
234
+ it "should not update user_export_file" do
235
+ put :update, id: user_export_files(:user_export_file_00003).id, user_export_file: {mode: 'export'}
236
+ expect(response).to redirect_to new_user_session_url
237
+ end
238
+ end
239
+ end
240
+
241
+ describe "DELETE destroy" do
242
+ before(:each) do
243
+ @user_export_file = user_export_files(:user_export_file_00001)
244
+ end
245
+
246
+ describe "When logged in as Administrator" do
247
+ login_fixture_admin
248
+
249
+ it "destroys the requested user_export_file" do
250
+ delete :destroy, id: @user_export_file.id
251
+ end
252
+
253
+ it "redirects to the user_export_files list" do
254
+ delete :destroy, id: @user_export_file.id
255
+ expect(response).to redirect_to(user_export_files_url)
256
+ end
257
+ end
258
+
259
+ describe "When logged in as Librarian" do
260
+ login_fixture_librarian
261
+
262
+ it "destroys the requested user_export_file" do
263
+ delete :destroy, id: @user_export_file.id
264
+ end
265
+
266
+ it "should be forbidden" do
267
+ delete :destroy, id: @user_export_file.id
268
+ expect(response).to be_forbidden
269
+ end
270
+ end
271
+
272
+ describe "When logged in as User" do
273
+ login_fixture_user
274
+
275
+ it "destroys the requested user_export_file" do
276
+ delete :destroy, id: @user_export_file.id
277
+ end
278
+
279
+ it "should be forbidden" do
280
+ delete :destroy, id: @user_export_file.id
281
+ expect(response).to be_forbidden
282
+ end
283
+ end
284
+
285
+ describe "When not logged in" do
286
+ it "destroys the requested user_export_file" do
287
+ delete :destroy, id: @user_export_file.id
288
+ end
289
+
290
+ it "should be forbidden" do
291
+ delete :destroy, id: @user_export_file.id
292
+ expect(response).to redirect_to(new_user_session_url)
293
+ end
294
+ end
295
+ end
296
+ end