enju_leaf 1.1.0.rc12 → 1.1.0.rc13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (367) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/enju.css +0 -1
  3. data/app/controllers/my_accounts_controller.rb +26 -18
  4. data/app/controllers/page_controller.rb +6 -6
  5. data/app/controllers/profiles_controller.rb +155 -0
  6. data/app/controllers/roles_controller.rb +5 -5
  7. data/app/controllers/user_export_files_controller.rb +100 -0
  8. data/app/controllers/user_groups_controller.rb +11 -11
  9. data/app/controllers/user_import_files_controller.rb +22 -11
  10. data/app/controllers/user_import_results_controller.rb +1 -1
  11. data/app/mailers/notifier.rb +7 -7
  12. data/app/models/enju_leaf/ability.rb +14 -13
  13. data/app/models/profile.rb +63 -16
  14. data/app/models/role.rb +2 -2
  15. data/app/models/user_export_file.rb +52 -0
  16. data/app/models/user_export_file_state_machine.rb +15 -0
  17. data/app/models/user_export_file_transition.rb +20 -0
  18. data/app/models/user_group.rb +3 -3
  19. data/app/models/user_has_role.rb +2 -2
  20. data/app/models/user_import_file.rb +139 -53
  21. data/app/views/kaminari/_first_page.html.erb +1 -1
  22. data/app/views/kaminari/_last_page.html.erb +1 -1
  23. data/app/views/kaminari/_next_page.html.erb +1 -1
  24. data/app/views/kaminari/_page.html.erb +1 -1
  25. data/app/views/kaminari/_prev_page.html.erb +1 -1
  26. data/app/views/kaminari/enju_leaf_mobile/_next_page.html.erb +1 -1
  27. data/app/views/kaminari/enju_leaf_mobile/_page.html.erb +1 -1
  28. data/app/views/kaminari/enju_leaf_mobile/_prev_page.html.erb +1 -1
  29. data/app/views/layouts/application.html.erb +4 -4
  30. data/app/views/my_accounts/_edit_credential.html.erb +67 -59
  31. data/app/views/my_accounts/edit.html.erb +6 -46
  32. data/app/views/my_accounts/show.html.erb +8 -8
  33. data/app/views/page/_add.html.erb +2 -2
  34. data/app/views/page/_footer.html.erb +3 -2
  35. data/app/views/page/_footer.mobile.erb +1 -1
  36. data/app/views/page/_header.html.erb +4 -4
  37. data/app/views/page/_include.html.erb +1 -1
  38. data/app/views/page/_index.html.erb +8 -8
  39. data/app/views/page/_index.mobile.erb +4 -4
  40. data/app/views/page/_menu.html.erb +9 -6
  41. data/app/views/page/_msie_acceralator.html.erb +1 -1
  42. data/app/views/page/_position.html.erb +2 -2
  43. data/app/views/page/_search_form.html.erb +2 -2
  44. data/app/views/page/_search_form.mobile.erb +2 -2
  45. data/app/views/page/_select_locale.html.erb +2 -2
  46. data/app/views/page/about.en.html.erb +2 -2
  47. data/app/views/page/about.ja.html.erb +2 -2
  48. data/app/views/page/advanced_search.html.erb +8 -8
  49. data/app/views/page/configuration.html.erb +5 -3
  50. data/app/views/page/export.html.erb +7 -17
  51. data/app/views/page/import.html.erb +1 -4
  52. data/app/views/page/index.html.erb +2 -2
  53. data/app/views/page/msie_acceralator.builder +1 -1
  54. data/app/views/page/opensearch.builder +2 -2
  55. data/app/views/profiles/_edit_credential.html.erb +78 -0
  56. data/app/views/profiles/_edit_profile.html.erb +42 -0
  57. data/app/views/{users → profiles}/_form.html.erb +0 -0
  58. data/app/views/{users → profiles}/_show.html.erb +0 -0
  59. data/app/views/profiles/edit.html.erb +36 -0
  60. data/app/views/profiles/index.html.erb +61 -0
  61. data/app/views/{users → profiles}/new.html.erb +34 -36
  62. data/app/views/{users → profiles}/show.html.erb +24 -22
  63. data/app/views/{users → profiles}/show.mobile.erb +0 -0
  64. data/app/views/roles/_form.html.erb +1 -1
  65. data/app/views/roles/edit.html.erb +1 -1
  66. data/app/views/roles/index.html.erb +2 -2
  67. data/app/views/roles/new.html.erb +1 -1
  68. data/app/views/roles/show.html.erb +1 -1
  69. data/app/views/user_export_files/_form.html.erb +22 -0
  70. data/app/views/user_export_files/edit.html.erb +6 -0
  71. data/app/views/user_export_files/index.html.erb +44 -0
  72. data/app/views/user_export_files/new.html.erb +16 -0
  73. data/app/views/user_export_files/show.html.erb +31 -0
  74. data/app/views/user_groups/_form.html.erb +5 -5
  75. data/app/views/user_groups/edit.html.erb +1 -1
  76. data/app/views/user_groups/index.html.erb +14 -8
  77. data/app/views/user_groups/new.html.erb +1 -1
  78. data/app/views/user_groups/show.html.erb +3 -3
  79. data/app/views/user_import_files/index.html.erb +11 -10
  80. data/app/views/user_import_files/new.html.erb +15 -3
  81. data/app/views/user_import_files/show.html.erb +13 -3
  82. data/app/views/user_import_results/index.html.erb +7 -7
  83. data/app/views/user_import_results/{index.tsv.erb → index.txt.erb} +1 -1
  84. data/app/views/user_import_results/show.html.erb +2 -2
  85. data/app/workers/user_export_file_queue.rb +7 -0
  86. data/config/initializers/mime_types.rb +1 -1
  87. data/config/locales/devise.en.yml +19 -18
  88. data/config/locales/devise.ja.yml +45 -42
  89. data/config/locales/en.yml +214 -0
  90. data/config/locales/ja.yml +10 -6
  91. data/config/locales/translation_en.yml +34 -5
  92. data/config/locales/translation_ja.yml +35 -6
  93. data/config/routes.rb +4 -7
  94. data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +0 -9
  95. data/db/migrate/20140122054321_create_profiles.rb +1 -1
  96. data/db/migrate/20140709113413_create_user_export_files.rb +11 -0
  97. data/db/migrate/20140709113905_create_user_export_file_transitions.rb +14 -0
  98. data/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +5 -0
  99. data/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +5 -0
  100. data/db/migrate/20140811031145_add_expired_at_to_profile.rb +5 -0
  101. data/lib/enju_leaf/calculate_stat.rb +9 -0
  102. data/lib/enju_leaf/controller.rb +1 -1
  103. data/lib/enju_leaf/export_file.rb +26 -0
  104. data/lib/enju_leaf/import_file.rb +25 -0
  105. data/lib/enju_leaf/master_model.rb +15 -6
  106. data/lib/enju_leaf/url_validator.rb +4 -2
  107. data/lib/enju_leaf/user.rb +74 -68
  108. data/lib/enju_leaf/version.rb +1 -1
  109. data/lib/enju_leaf.rb +23 -24
  110. data/lib/generators/enju_leaf/quick_install/quick_install_generator.rb +2 -1
  111. data/lib/generators/enju_leaf/setup/setup_generator.rb +6 -0
  112. data/lib/generators/enju_leaf/setup/templates/db/fixtures/user_groups.yml +1 -1
  113. data/lib/generators/enju_leaf/setup/templates/db/seeds.rb +5 -4
  114. data/lib/tasks/enju_leaf_tasks.rake +18 -9
  115. data/lib/tasks/profile.rb +15 -0
  116. data/spec/controllers/my_accounts_controller_spec.rb +61 -43
  117. data/spec/controllers/page_controller_spec.rb +20 -20
  118. data/spec/controllers/profiles_controller_spec.rb +530 -0
  119. data/spec/controllers/roles_controller_spec.rb +19 -19
  120. data/spec/controllers/user_export_files_controller_spec.rb +297 -0
  121. data/spec/controllers/user_groups_controller_spec.rb +48 -48
  122. data/spec/controllers/user_import_files_controller_spec.rb +45 -41
  123. data/spec/controllers/user_import_results_controller_spec.rb +9 -9
  124. data/spec/dummy/app/models/user.rb +3 -0
  125. data/spec/dummy/config/application.rb +3 -1
  126. data/spec/dummy/config/environments/test.rb +2 -0
  127. data/spec/dummy/db/development.sqlite3 +0 -0
  128. data/spec/dummy/db/migrate/{001_create_patrons.rb → 001_create_agents.rb} +1 -2
  129. data/spec/dummy/db/migrate/005_create_manifestations.rb +5 -17
  130. data/spec/dummy/db/migrate/006_create_items.rb +2 -3
  131. data/spec/dummy/db/migrate/032_create_checkins.rb +17 -0
  132. data/spec/dummy/db/migrate/033_create_checkouts.rb +25 -0
  133. data/spec/dummy/db/migrate/035_create_reserves.rb +27 -0
  134. data/spec/dummy/db/migrate/055_create_bookmarks.rb +22 -0
  135. data/spec/dummy/db/migrate/059_create_libraries.rb +5 -1
  136. data/spec/dummy/db/migrate/069_create_shelves.rb +5 -1
  137. data/spec/dummy/db/migrate/080_create_library_groups.rb +0 -2
  138. data/spec/dummy/db/migrate/113_create_events.rb +23 -0
  139. data/spec/dummy/db/migrate/114_create_event_categories.rb +16 -0
  140. data/spec/dummy/db/migrate/121_create_checked_items.rb +17 -0
  141. data/spec/dummy/db/migrate/127_create_use_restrictions.rb +16 -0
  142. data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +16 -0
  143. data/spec/dummy/db/migrate/130_create_request_status_types.rb +5 -1
  144. data/spec/dummy/db/migrate/131_create_request_types.rb +5 -1
  145. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +16 -0
  146. data/spec/dummy/db/migrate/149_create_message_templates.rb +18 -0
  147. data/spec/dummy/db/migrate/154_create_messages.rb +23 -0
  148. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +18 -0
  149. data/spec/dummy/db/migrate/{20080905191442_create_patron_types.rb → 20080905191442_create_agent_types.rb} +1 -1
  150. data/spec/dummy/db/migrate/{20081028083142_create_patron_import_files.rb → 20081028083142_create_agent_import_files.rb} +2 -4
  151. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -3
  152. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +17 -0
  153. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +25 -0
  154. data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +18 -0
  155. data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +17 -0
  156. data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +16 -0
  157. data/spec/dummy/db/migrate/20081212151614_create_bookmark_stats.rb +16 -0
  158. data/spec/dummy/db/migrate/20081212151820_create_bookmark_stat_has_manifestations.rb +13 -0
  159. data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +16 -0
  160. data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +17 -0
  161. data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +17 -0
  162. data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +16 -0
  163. data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +16 -0
  164. data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +17 -0
  165. data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +27 -0
  166. data/spec/dummy/db/migrate/{20090812151902_create_patron_relationship_types.rb → 20090812151902_create_agent_relationship_types.rb} +1 -1
  167. data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +21 -0
  168. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +0 -1
  169. data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
  170. data/spec/dummy/db/migrate/20100525171356_acts_as_taggable_on_migration.rb +30 -0
  171. data/spec/dummy/db/migrate/{20100606073747_create_patron_relationships.rb → 20100606073747_create_agent_relationships.rb} +1 -1
  172. data/spec/dummy/db/migrate/{20100814091104_add_position_to_patron_relationship.rb → 20100814091104_add_position_to_agent_relationship.rb} +1 -1
  173. data/spec/dummy/db/migrate/{20100925074559_create_patron_import_results.rb → 20100925074559_create_agent_import_results.rb} +1 -1
  174. data/spec/dummy/db/migrate/{20110301121550_add_birth_date_and_death_date_to_patron.rb → 20110301121550_add_birth_date_and_death_date_to_agent.rb} +1 -1
  175. data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +9 -0
  176. data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +9 -0
  177. data/spec/dummy/db/migrate/20110618091240_add_periodical_to_series_statement.rb +1 -1
  178. data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +9 -0
  179. data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +11 -0
  180. data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +11 -0
  181. data/spec/dummy/db/migrate/20111217234412_add_save_checkout_history_to_user.rb +5 -0
  182. data/spec/dummy/db/migrate/20111218002349_add_checkout_icalendar_token_to_user.rb +6 -0
  183. data/spec/dummy/db/migrate/20111231145823_add_share_bookmarks_to_user.rb +5 -0
  184. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
  185. data/spec/dummy/db/migrate/{20120413161403_add_fingerprint_to_patron_import_file.rb → 20120413161403_add_fingerprint_to_agent_import_file.rb} +1 -1
  186. data/spec/dummy/db/migrate/{20120413170720_add_error_message_to_patron_import_file.rb → 20120413170720_add_error_message_to_agent_import_file.rb} +1 -1
  187. data/spec/dummy/db/migrate/20120418121539_add_save_search_history_to_user.rb +5 -0
  188. data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +5 -0
  189. data/spec/dummy/db/migrate/{20120511072422_add_patron_identifier_to_patron.rb → 20120511072422_add_agent_identifier_to_agent.rb} +1 -1
  190. data/spec/dummy/db/migrate/{20120602141129_add_edit_mode_to_patron_import_file.rb → 20120602141129_add_edit_mode_to_agent_import_file.rb} +1 -1
  191. data/spec/dummy/db/migrate/20130303104849_add_state_index_to_reserve.rb +5 -0
  192. data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +5 -0
  193. data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +5 -0
  194. data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +8 -0
  195. data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +7 -0
  196. data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +5 -0
  197. data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +5 -0
  198. data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +5 -0
  199. data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +5 -0
  200. data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +14 -0
  201. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +14 -0
  202. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +14 -0
  203. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +14 -0
  204. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +14 -0
  205. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +14 -0
  206. data/spec/dummy/db/migrate/20140524135607_create_bookmark_stat_transitions.rb +14 -0
  207. data/spec/dummy/db/migrate/20140524142813_add_taggings_count_to_tag.rb +5 -0
  208. data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +14 -0
  209. data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +14 -0
  210. data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +14 -0
  211. data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +14 -0
  212. data/spec/dummy/db/migrate/20140529014410_create_item_transitions.rb +14 -0
  213. data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +11 -0
  214. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +14 -0
  215. data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +5 -0
  216. data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +5 -0
  217. data/spec/dummy/db/migrate/20140810061942_add_user_id_to_stat.rb +12 -0
  218. data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +6 -0
  219. data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +5 -0
  220. data/spec/dummy/db/migrate/20140811132912_add_save_search_history_to_profile.rb +5 -0
  221. data/spec/dummy/db/migrate/20140812093836_add_share_bookmarks_to_profile.rb +5 -0
  222. data/spec/dummy/db/schema.rb +632 -57
  223. data/spec/dummy/db/test.sqlite3 +0 -0
  224. data/spec/dummy/private/system/user_import_files/user_imports/980/190/963/original/user_delete_file.tsv +4 -0
  225. data/spec/dummy/private/system/user_import_files/user_imports/980/190/963/original/user_import_file_sample.tsv +7 -7
  226. data/spec/dummy/public/system/user_export_files/user_exports/000/000/003/original/user_export_file_20140815-3963-1s1td26.txt +8 -0
  227. data/spec/dummy/public/system/user_export_files/user_exports/000/000/003/original/user_export_file_20140815-69229-i0rcty.txt +8 -0
  228. data/spec/dummy/public/system/user_export_files/user_exports/000/000/003/original/user_export_file_20140816-21120-1w731r8.txt +8 -0
  229. data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140711-28652-1dj3e98.txt +148 -0
  230. data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140711-29117-13jb6ol.txt +148 -0
  231. data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140721-65743-1tnagd4.txt +8 -0
  232. data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140815-3963-1kk8o87.txt +8 -0
  233. data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140815-69229-188nwub.txt +8 -0
  234. data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140816-21120-twzfb6.txt +8 -0
  235. data/spec/dummy/solr/default/data/index/_4h.fdt +0 -0
  236. data/spec/dummy/solr/default/data/index/{_3h.fdx → _4h.fdx} +0 -0
  237. data/spec/dummy/solr/default/data/index/{_3h.fnm → _4h.fnm} +0 -0
  238. data/spec/dummy/solr/default/data/index/{_3h.nvd → _4h.nvd} +0 -0
  239. data/spec/dummy/solr/default/data/index/{_3h.nvm → _4h.nvm} +0 -0
  240. data/spec/dummy/solr/default/data/index/{_3h.si → _4h.si} +0 -0
  241. data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.doc +0 -0
  242. data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.pos +0 -0
  243. data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.tim +0 -0
  244. data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.tip +0 -0
  245. data/spec/dummy/solr/default/data/index/segments.gen +0 -0
  246. data/spec/dummy/solr/default/data/index/segments_97 +0 -0
  247. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000320 +0 -0
  248. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000321 +0 -0
  249. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000322 +0 -0
  250. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000323 +0 -0
  251. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000324 +0 -0
  252. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000325 +0 -0
  253. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000326 +0 -0
  254. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000327 +0 -0
  255. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000328 +0 -0
  256. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000329 +0 -0
  257. data/spec/dummy/tmp/cache/4F7/F90/default_role +0 -0
  258. data/spec/dummy/tmp/cache/ACB/B20/manifestation_search_total +0 -0
  259. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  260. data/spec/dummy/tmp/cache/assets/test/sprockets/154f7b83f2da0e86effbe25f32135177 +0 -0
  261. data/spec/dummy/tmp/cache/assets/test/sprockets/1b984bdbd3204a51a82d0e01a1569e2d +0 -0
  262. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  263. data/spec/dummy/tmp/cache/assets/test/sprockets/3054c50144654f9c7e57bb0639a276e9 +0 -0
  264. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  265. data/spec/dummy/tmp/cache/assets/test/sprockets/3bd7a263237ba366f64d938fe5303757 +0 -0
  266. data/spec/dummy/tmp/cache/assets/test/sprockets/62899096da1a3e67660f3b88068be8c9 +0 -0
  267. data/spec/dummy/tmp/cache/assets/test/sprockets/65b2e4f67eab21b30217e29075f433b2 +0 -0
  268. data/spec/dummy/tmp/cache/assets/test/sprockets/87d24a3f43f175d4d17babe9203c79a7 +0 -0
  269. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  270. data/spec/dummy/tmp/cache/assets/test/sprockets/d38d8658b30de1d068603968227680d4 +0 -0
  271. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  272. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  273. data/spec/dummy/tmp/cache/stdout +246 -279
  274. data/spec/dummy/tmp/pids/redis-test.pid +1 -1
  275. data/spec/factories/profile.rb +9 -0
  276. data/spec/factories/user.rb +0 -13
  277. data/spec/fixtures/agent_import_files.yml +0 -3
  278. data/spec/fixtures/agents.yml +54 -54
  279. data/spec/fixtures/baskets.yml +4 -4
  280. data/spec/fixtures/carrier_type_has_checkout_types.yml +30 -0
  281. data/spec/fixtures/checked_items.yml +34 -0
  282. data/spec/fixtures/checkins.yml +54 -0
  283. data/spec/fixtures/checkout_stat_has_manifestations.yml +23 -0
  284. data/spec/fixtures/checkout_stat_has_users.yml +23 -0
  285. data/spec/fixtures/checkout_types.yml +33 -0
  286. data/spec/fixtures/checkouts.yml +162 -0
  287. data/spec/fixtures/circulation_statuses.yml +119 -0
  288. data/spec/fixtures/event_categories.yml +55 -0
  289. data/spec/fixtures/events.yml +142 -0
  290. data/spec/fixtures/exemplifies.yml +12 -0
  291. data/spec/fixtures/import_requests.yml +0 -2
  292. data/spec/fixtures/item_has_use_restrictions.yml +60 -0
  293. data/spec/fixtures/items.yml +101 -11
  294. data/spec/fixtures/lending_policies.yml +98 -0
  295. data/spec/fixtures/libraries.yml +26 -25
  296. data/spec/fixtures/library_groups.yml +6 -8
  297. data/spec/fixtures/manifestation_checkout_stats.yml +30 -0
  298. data/spec/fixtures/manifestation_reserve_stats.yml +30 -0
  299. data/spec/fixtures/manifestations.yml +69 -207
  300. data/spec/fixtures/message_requests.yml +27 -0
  301. data/spec/fixtures/message_templates.yml +105 -0
  302. data/spec/fixtures/profiles.yml +98 -0
  303. data/spec/fixtures/request_status_types.yml +63 -0
  304. data/spec/fixtures/request_types.yml +55 -0
  305. data/spec/fixtures/reserve_stat_has_manifestations.yml +23 -0
  306. data/spec/fixtures/reserve_stat_has_users.yml +23 -0
  307. data/spec/fixtures/reserve_transitions.yml +88 -0
  308. data/spec/fixtures/reserves.yml +162 -0
  309. data/spec/fixtures/resource_import_files.yml +0 -3
  310. data/spec/fixtures/roles.yml +0 -4
  311. data/spec/fixtures/shelves.yml +2 -3
  312. data/spec/fixtures/use_restrictions.yml +92 -0
  313. data/spec/fixtures/user_checkout_stats.yml +30 -0
  314. data/spec/fixtures/user_export_files.yml +26 -0
  315. data/spec/fixtures/user_group_has_checkout_types.yml +110 -0
  316. data/spec/fixtures/user_import_files.yml +2 -0
  317. data/spec/fixtures/user_reserve_stats.yml +30 -0
  318. data/spec/fixtures/users.yml +1 -101
  319. data/spec/models/profile_spec.rb +66 -0
  320. data/spec/models/user_export_file_spec.rb +31 -0
  321. data/spec/models/user_import_file_spec.rb +42 -20
  322. data/spec/models/user_spec.rb +1 -18
  323. data/spec/requests/{users_spec.rb → profiles_spec.rb} +3 -3
  324. data/spec/routing/accounts_spec.rb +1 -1
  325. data/spec/routing/profiles_routing_spec.rb +35 -0
  326. data/spec/support/resque.rb +1 -0
  327. data/spec/views/{users → profiles}/edit.html.erb_spec.rb +5 -7
  328. data/spec/views/{users → profiles}/index.html.erb_spec.rb +3 -3
  329. data/spec/views/{users → profiles}/new.html.erb_spec.rb +5 -5
  330. data/spec/views/profiles/show.html.erb_spec.rb +20 -0
  331. data/vendor/assets/javascripts/jquery.colorbox.js +4 -3
  332. data/vendor/assets/stylesheets/colorbox.css +1 -1
  333. metadata +416 -132
  334. data/app/controllers/users_controller.rb +0 -195
  335. data/app/models/user_sweeper.rb +0 -18
  336. data/app/views/users/_edit_credential.html.erb +0 -79
  337. data/app/views/users/edit.html.erb +0 -76
  338. data/app/views/users/index.html.erb +0 -56
  339. data/lib/enju_leaf/expire_editable_fragment.rb +0 -30
  340. data/lib/enju_leaf/expire_fragment_cache.rb +0 -17
  341. data/spec/controllers/users_controller_spec.rb +0 -539
  342. data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +0 -13
  343. data/spec/dummy/db/migrate/20120415060308_rename_resource_import_file_imported_at_to_executed_at.rb +0 -9
  344. data/spec/dummy/db/migrate/20120415060323_rename_patron_import_file_imported_at_to_executed_at.rb +0 -9
  345. data/spec/dummy/db/migrate/20121119153944_add_manifestation_id_to_item.rb +0 -5
  346. data/spec/dummy/solr/default/data/index/_3h.fdt +0 -0
  347. data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.doc +0 -0
  348. data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.pos +0 -0
  349. data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.tim +0 -0
  350. data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.tip +0 -0
  351. data/spec/dummy/solr/default/data/index/segments_71 +0 -0
  352. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000242 +0 -0
  353. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000243 +0 -0
  354. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000244 +0 -0
  355. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000245 +0 -0
  356. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000246 +0 -0
  357. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000247 +0 -0
  358. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000248 +0 -0
  359. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000249 +0 -0
  360. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000250 +0 -0
  361. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000251 +0 -0
  362. data/spec/dummy/tmp/cache/assets/test/sprockets/3f8d795856d1fdf902b0be679120571a +0 -0
  363. data/spec/dummy/tmp/cache/assets/test/sprockets/5998e66e374537d52eed3fe1ca5f2bfc +0 -0
  364. data/spec/dummy/tmp/cache/assets/test/sprockets/5ea4a1824e1d67da6c4fb9aeef9f49f4 +0 -0
  365. data/spec/dummy/tmp/cache/assets/test/sprockets/87f0cb69a0df1355e33cce3949919d5a +0 -0
  366. data/spec/routing/users_routing_spec.rb +0 -35
  367. data/spec/views/users/show.html.erb_spec.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82b107d99c3e78230a6ebcd243c0ace7ecaf5a33
4
- data.tar.gz: 74bd9a227173ae8030cfd5bbff4ba8976d8264fc
3
+ metadata.gz: 30cec87ac36bc5f86229522a16fa000de67d4045
4
+ data.tar.gz: 1e767244cb0a31287ae1bf0f9a7e100c6495e129
5
5
  SHA512:
6
- metadata.gz: 8df4aa6780068226018fa4ada0064842dc0b4c128e7f5f96662f35f48e3897b45d1adb7653705e47b74e3d1d643e0e29bcc8b3d5424592d0e29ad2d26b59a64d
7
- data.tar.gz: c5df9de9697f689a281d765b4148b0fe52773fe90b3b73aa1ecc82a561e938c2acaf295c7093d642083eaff3db68d7b6e9f972f4d30fd577adab606e064b5240
6
+ metadata.gz: 7280e3e949c72894314feb4fbd57679cf6c4b6e49641df908c949f060965e41736bff362e0f3c924010bd4b8a8499a424421a8b37809c07560cfbd64eede0e76
7
+ data.tar.gz: 5d12f151f53a63dc8eb387ebe89b8d403b121e83a247da1dc27f67378dd63a1e9d115658612c91f73201d80bd9dbc8b9ddc3eaf081ab0689b408196c35736c09
@@ -484,7 +484,6 @@ img.icon{
484
484
  position: absolute;
485
485
  background-color: white;
486
486
  padding: 10px;
487
- border: 1px solid #5970B2;
488
487
  max-width: 250px;
489
488
  }
490
489
 
@@ -2,24 +2,24 @@ class MyAccountsController < ApplicationController
2
2
  before_filter :authenticate_user!
3
3
 
4
4
  def show
5
- @user = current_user
5
+ @profile = current_user.profile
6
6
 
7
7
  respond_to do |format|
8
8
  format.html
9
- format.json { render :json => @user }
9
+ format.json { render json: @profile }
10
10
  end
11
11
  end
12
12
 
13
13
  def edit
14
- @user = current_user
14
+ @profile = current_user.profile
15
15
  if defined?(EnjuCirculation)
16
16
  if params[:mode] == 'feed_token'
17
17
  if params[:disable] == 'true'
18
- @user.delete_checkout_icalendar_token
18
+ @profile.delete_checkout_icalendar_token
19
19
  else
20
- @user.reset_checkout_icalendar_token
20
+ @profile.reset_checkout_icalendar_token
21
21
  end
22
- render :partial => 'feed_token'
22
+ render partial: 'feed_token'
23
23
  return
24
24
  end
25
25
  end
@@ -27,34 +27,42 @@ class MyAccountsController < ApplicationController
27
27
  end
28
28
 
29
29
  def update
30
- @user = current_user
30
+ @profile = current_user.profile
31
31
 
32
32
  respond_to do |format|
33
33
  if current_user.has_role?('Librarian')
34
- saved = current_user.update_with_password(params[:user], :as => :admin)
34
+ saved = current_user.update_with_password(params[:profile][:user_attributes], as: :admin)
35
+ @profile.assign_attributes(params[:profile], as: :admin)
35
36
  else
36
- saved = current_user.update_with_password(params[:user])
37
+ saved = current_user.update_with_password(params[:profile][:user_attributes])
38
+ @profile.assign_attributes(params[:profile])
37
39
  end
38
40
 
39
41
  if saved
40
- sign_in(current_user, :bypass => true)
41
- format.html { redirect_to my_account_url, :notice => t('controller.successfully_updated', :model => t('activerecord.models.user')) }
42
- format.json { head :no_content }
42
+ if @profile.save
43
+ sign_in(current_user, :bypass => true)
44
+ format.html { redirect_to my_account_url, notice: t('controller.successfully_updated', model: t('activerecord.models.user')) }
45
+ format.json { head :no_content }
46
+ else
47
+ prepare_options
48
+ format.html { render action: "edit" }
49
+ format.json { render json: current_user.errors, status: :unprocessable_entity }
50
+ end
43
51
  else
44
- @user = current_user
52
+ @profile.errors[:base] << I18n.t('activerecord.attributes.user.current_password')
45
53
  prepare_options
46
- format.html { render :action => "edit" }
47
- format.json { render :json => current_user.errors, :status => :unprocessable_entity }
54
+ format.html { render action: "edit" }
55
+ format.json { render json: current_user.errors, status: :unprocessable_entity }
48
56
  end
49
57
  end
50
58
  end
51
59
 
52
60
  def destroy
53
- @user = current_user
54
- @user.destroy
61
+ @profile = current_user.profile
62
+ @profile.destroy
55
63
 
56
64
  respond_to do |format|
57
- format.html { redirect_to my_account_url, :notice => 'devise.registrations.destroyed' }
65
+ format.html { redirect_to my_account_url, notice: 'devise.registrations.destroyed' }
58
66
  format.json { head :no_content }
59
67
  end
60
68
  end
@@ -1,8 +1,8 @@
1
1
  class PageController < ApplicationController
2
- before_filter :clear_search_sessions, :only => [:index, :advanced_search]
3
- before_filter :store_location, :only => [:advanced_search, :about, :add_on, :msie_acceralator, :statistics]
4
- before_filter :authenticate_user!, :except => [:index, :advanced_search, :about, :add_on, :msie_acceralator, :opensearch, :statistics, :routing_error]
5
- before_filter :check_librarian, :except => [:index, :advanced_search, :about, :add_on, :msie_acceralator, :opensearch, :statistics, :routing_error]
2
+ before_filter :clear_search_sessions, only: [:index, :advanced_search]
3
+ before_filter :store_location, only: [:advanced_search, :about, :add_on, :msie_acceralator, :statistics]
4
+ before_filter :authenticate_user!, except: [:index, :advanced_search, :about, :add_on, :msie_acceralator, :opensearch, :statistics, :routing_error]
5
+ before_filter :check_librarian, except: [:index, :advanced_search, :about, :add_on, :msie_acceralator, :opensearch, :statistics, :routing_error]
6
6
  helper_method :get_libraries
7
7
 
8
8
  def index
@@ -32,11 +32,11 @@ class PageController < ApplicationController
32
32
  end
33
33
 
34
34
  def msie_acceralator
35
- render :layout => false
35
+ render layout: false
36
36
  end
37
37
 
38
38
  def opensearch
39
- render :layout => false
39
+ render layout: false
40
40
  end
41
41
 
42
42
  def advanced_search
@@ -0,0 +1,155 @@
1
+ # -*- encoding: utf-8 -*-
2
+ class ProfilesController < ApplicationController
3
+ load_and_authorize_resource except: [:index, :create]
4
+ authorize_resource only: [:index, :create]
5
+ before_filter :prepare_options, only: [:new, :edit]
6
+
7
+ # GET /profiles
8
+ # GET /profiles.json
9
+ def index
10
+ query = flash[:query] = params[:query].to_s
11
+ @query = query.dup
12
+ @count = {}
13
+
14
+ sort = {sort_by: 'created_at', order: 'desc'}
15
+ case params[:sort_by]
16
+ when 'username'
17
+ sort[:sort_by] = 'username'
18
+ end
19
+ case params[:order]
20
+ when 'asc'
21
+ sort[:order] = 'asc'
22
+ when 'desc'
23
+ sort[:order] = 'desc'
24
+ end
25
+
26
+ query = params[:query]
27
+ page = params[:page] || 1
28
+ role = current_user.try(:role) || Role.default_role
29
+
30
+ search = Profile.search
31
+ search.build do
32
+ fulltext query if query
33
+ order_by sort[:sort_by], sort[:order]
34
+ end
35
+ search.query.paginate(page.to_i, Profile.default_per_page)
36
+ @profiles = search.execute!.results
37
+ @count[:query_result] = @profiles.total_entries
38
+
39
+ respond_to do |format|
40
+ format.html # index.html.erb
41
+ format.json { render json: @profiles }
42
+ end
43
+ end
44
+
45
+ # GET /profiles/1
46
+ # GET /profiles/1.json
47
+ def show
48
+ if @profile.user == current_user
49
+ redirect_to my_account_url
50
+ return
51
+ end
52
+
53
+ respond_to do |format|
54
+ format.html # show.html.erb
55
+ format.json { render json: @profile }
56
+ end
57
+ end
58
+
59
+ # GET /profiles/new
60
+ def new
61
+ @profile = Profile.new
62
+ @profile.user = User.new
63
+ @profile.user_group = current_user.profile.user_group
64
+ @profile.library = current_user.profile.library
65
+ @profile.locale = current_user.profile.locale
66
+
67
+ respond_to do |format|
68
+ format.html # new.html.erb
69
+ format.json { render json: @profile }
70
+ end
71
+ end
72
+
73
+ # GET /profiles/1/edit
74
+ def edit
75
+ if @profile.user == current_user
76
+ redirect_to edit_my_account_url
77
+ return
78
+ end
79
+ end
80
+
81
+ # POST /profiles
82
+ # POST /profiles.json
83
+ def create
84
+ if current_user.has_role?('Librarian')
85
+ @profile = Profile.new(params[:profile], as: :admin)
86
+ if @profile.user
87
+ @profile.user.operator = current_user
88
+ @profile.user.set_auto_generated_password
89
+ end
90
+ else
91
+ @profile = Profile.new(params[:profile])
92
+ end
93
+
94
+ respond_to do |format|
95
+ if @profile.save
96
+ if @profile.user
97
+ @profile.user.role = Role.where(name: 'User').first
98
+ flash[:temporary_password] = @profile.user.password
99
+ end
100
+ format.html { redirect_to @profile, notice: t('controller.successfully_created', model: t('activerecord.models.profile')) }
101
+ format.json { render json: @profile, status: :created, location: @profile }
102
+ else
103
+ prepare_options
104
+ format.html { render action: "new" }
105
+ format.json { render json: @profile.errors, status: :unprocessable_entity }
106
+ end
107
+ end
108
+ end
109
+
110
+ # PUT /profiles/1
111
+ # PUT /profiles/1.json
112
+ def update
113
+ if current_user.has_role?('Librarian')
114
+ @profile.update_attributes(params[:profile], as: :admin)
115
+ else
116
+ @profile.update_attributes(params[:profile])
117
+ end
118
+ if @profile.user
119
+ if @profile.user.auto_generated_password == "1"
120
+ @profile.user.set_auto_generated_password
121
+ flash[:temporary_password] = @profile.user.password
122
+ end
123
+ end
124
+
125
+ respond_to do |format|
126
+ if @profile.save
127
+ format.html { redirect_to @profile, notice: t('controller.successfully_updated', model: t('activerecord.models.profile')) }
128
+ format.json { head :no_content }
129
+ else
130
+ prepare_options
131
+ format.html { render action: "edit" }
132
+ format.json { render json: @profile.errors, status: :unprocessable_entity }
133
+ end
134
+ end
135
+ end
136
+
137
+ # DELETE /profiles/1
138
+ # DELETE /profiles/1.json
139
+ def destroy
140
+ @profile.destroy
141
+
142
+ respond_to do |format|
143
+ format.html { redirect_to profiles_url, notice: t('controller.successfully_deleted', model: t('activerecord.models.profile')) }
144
+ format.json { head :no_content }
145
+ end
146
+ end
147
+
148
+ private
149
+ def prepare_options
150
+ @user_groups = UserGroup.all
151
+ @roles = Role.all
152
+ @libraries = Library.all
153
+ @languages = Language.all
154
+ end
155
+ end
@@ -6,7 +6,7 @@ class RolesController < ApplicationController
6
6
  def index
7
7
  respond_to do |format|
8
8
  format.html # index.html.erb
9
- format.json { render :json => @roles }
9
+ format.json { render json: @roles }
10
10
  end
11
11
  end
12
12
 
@@ -15,7 +15,7 @@ class RolesController < ApplicationController
15
15
  def show
16
16
  respond_to do |format|
17
17
  format.html # show.html.erb
18
- format.json { render :json => @role }
18
+ format.json { render json: @role }
19
19
  end
20
20
  end
21
21
 
@@ -33,11 +33,11 @@ class RolesController < ApplicationController
33
33
 
34
34
  respond_to do |format|
35
35
  if @role.update_attributes(params[:role])
36
- format.html { redirect_to @role, :notice => t('controller.successfully_updated', :model => t('activerecord.models.role')) }
36
+ format.html { redirect_to @role, notice: t('controller.successfully_updated', model: t('activerecord.models.role')) }
37
37
  format.json { head :no_content }
38
38
  else
39
- format.html { render :action => "edit" }
40
- format.json { render :json => @role.errors, :status => :unprocessable_entity }
39
+ format.html { render action: "edit" }
40
+ format.json { render json: @role.errors, status: :unprocessable_entity }
41
41
  end
42
42
  end
43
43
  end
@@ -0,0 +1,100 @@
1
+ class UserExportFilesController < ApplicationController
2
+ load_and_authorize_resource
3
+
4
+ # GET /user_export_files
5
+ # GET /user_export_files.json
6
+ def index
7
+ @user_export_files = UserExportFile.order('id DESC').page(params[:page])
8
+
9
+ respond_to do |format|
10
+ format.html # index.html.erb
11
+ format.json { render json: @user_export_files }
12
+ end
13
+ end
14
+
15
+ # GET /user_export_files/1
16
+ # GET /user_export_files/1.json
17
+ def show
18
+ if @user_export_file.user_export.path
19
+ unless Setting.uploaded_file.storage == :s3
20
+ file = @user_export_file.user_export.path
21
+ end
22
+ end
23
+
24
+ respond_to do |format|
25
+ format.html # show.html.erb
26
+ format.json { render json: @user_export_file }
27
+ format.download {
28
+ if Setting.uploaded_file.storage == :s3
29
+ redirect_to @user_export_file.user_export.expiring_url(10)
30
+ else
31
+ send_file file, filename: @user_export_file.user_export_file_name, type: 'application/octet-stream'
32
+ end
33
+ }
34
+ end
35
+ end
36
+
37
+ # GET /user_export_files/new
38
+ # GET /user_export_files/new.json
39
+ def new
40
+ @user_export_file = UserExportFile.new
41
+ @user_export_file.user = current_user
42
+
43
+ respond_to do |format|
44
+ format.html # new.html.erb
45
+ format.json { render json: @user_export_file }
46
+ end
47
+ end
48
+
49
+ # GET /user_export_files/1/edit
50
+ def edit
51
+ end
52
+
53
+ # POST /user_export_files
54
+ # POST /user_export_files.json
55
+ def create
56
+ @user_export_file = UserExportFile.new(params[:user_export_file])
57
+ @user_export_file.user = current_user
58
+
59
+ respond_to do |format|
60
+ if @user_export_file.save
61
+ if @user_export_file.mode == 'export'
62
+ Resque.enqueue(UserExportFileQueue, @user_export_file.id)
63
+ end
64
+ format.html { redirect_to @user_export_file, notice: t('export.successfully_created', model: t('activerecord.models.user_export_file')) }
65
+ format.json { render json: @user_export_file, status: :created, location: @user_export_file }
66
+ else
67
+ format.html { render action: "new" }
68
+ format.json { render json: @user_export_file.errors, status: :unprocessable_entity }
69
+ end
70
+ end
71
+ end
72
+
73
+ # PUT /user_export_files/1
74
+ # PUT /user_export_files/1.json
75
+ def update
76
+ respond_to do |format|
77
+ if @user_export_file.update_attributes(params[:user_export_file])
78
+ if @user_export_file.mode == 'export'
79
+ UserExportFileQueue.perform(@user_export_file.id)
80
+ end
81
+ format.html { redirect_to @user_export_file, notice: t('controller.successfully_updated', model: t('activerecord.models.user_export_file')) }
82
+ format.json { head :no_content }
83
+ else
84
+ format.html { render action: "edit" }
85
+ format.json { render json: @user_export_file.errors, status: :unprocessable_entity }
86
+ end
87
+ end
88
+ end
89
+
90
+ # DELETE /user_export_files/1
91
+ # DELETE /user_export_files/1.json
92
+ def destroy
93
+ @user_export_file.destroy
94
+
95
+ respond_to do |format|
96
+ format.html { redirect_to user_export_files_url }
97
+ format.json { head :no_content }
98
+ end
99
+ end
100
+ end
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  class UserGroupsController < ApplicationController
3
3
  load_and_authorize_resource
4
- before_filter :prepare_options, :only => [:new, :edit]
4
+ before_filter :prepare_options, only: [:new, :edit]
5
5
 
6
6
  # GET /user_groups
7
7
  # GET /user_groups.json
@@ -10,7 +10,7 @@ class UserGroupsController < ApplicationController
10
10
 
11
11
  respond_to do |format|
12
12
  format.html # index.html.erb
13
- format.json { render :json => @user_groups }
13
+ format.json { render json: @user_groups }
14
14
  end
15
15
  end
16
16
 
@@ -19,7 +19,7 @@ class UserGroupsController < ApplicationController
19
19
  def show
20
20
  respond_to do |format|
21
21
  format.html # show.html.erb
22
- format.json { render :json => @user_group }
22
+ format.json { render json: @user_group }
23
23
  end
24
24
  end
25
25
 
@@ -29,7 +29,7 @@ class UserGroupsController < ApplicationController
29
29
 
30
30
  respond_to do |format|
31
31
  format.html # new.html.erb
32
- format.json { render :json => @user_group }
32
+ format.json { render json: @user_group }
33
33
  end
34
34
  end
35
35
 
@@ -44,12 +44,12 @@ class UserGroupsController < ApplicationController
44
44
 
45
45
  respond_to do |format|
46
46
  if @user_group.save
47
- format.html { redirect_to @user_group, :notice => t('controller.successfully_created', :model => t('activerecord.models.user_group')) }
48
- format.json { render :json => @user_group, :status => :created, :location => @user_group }
47
+ format.html { redirect_to @user_group, notice: t('controller.successfully_created', model: t('activerecord.models.user_group')) }
48
+ format.json { render json: @user_group, status: :created, location: @user_group }
49
49
  else
50
50
  prepare_options
51
- format.html { render :action => "new" }
52
- format.json { render :json => @user_group.errors, :status => :unprocessable_entity }
51
+ format.html { render action: "new" }
52
+ format.json { render json: @user_group.errors, status: :unprocessable_entity }
53
53
  end
54
54
  end
55
55
  end
@@ -64,12 +64,12 @@ class UserGroupsController < ApplicationController
64
64
 
65
65
  respond_to do |format|
66
66
  if @user_group.update_attributes(params[:user_group])
67
- format.html { redirect_to @user_group, :notice => t('controller.successfully_updated', :model => t('activerecord.models.user_group')) }
67
+ format.html { redirect_to @user_group, notice: t('controller.successfully_updated', model: t('activerecord.models.user_group')) }
68
68
  format.json { head :no_content }
69
69
  else
70
70
  prepare_options
71
- format.html { render :action => "edit" }
72
- format.json { render :json => @user_group.errors, :status => :unprocessable_entity }
71
+ format.html { render action: "edit" }
72
+ format.json { render json: @user_group.errors, status: :unprocessable_entity }
73
73
  end
74
74
  end
75
75
  end
@@ -1,5 +1,6 @@
1
1
  class UserImportFilesController < ApplicationController
2
2
  load_and_authorize_resource
3
+ before_filter :prepare_options, only: [:new, :edit]
3
4
 
4
5
  # GET /user_import_files
5
6
  # GET /user_import_files.json
@@ -8,7 +9,7 @@ class UserImportFilesController < ApplicationController
8
9
 
9
10
  respond_to do |format|
10
11
  format.html # index.html.erb
11
- format.json { render :json => @user_import_files }
12
+ format.json { render json: @user_import_files }
12
13
  end
13
14
  end
14
15
 
@@ -23,12 +24,12 @@ class UserImportFilesController < ApplicationController
23
24
 
24
25
  respond_to do |format|
25
26
  format.html # show.html.erb
26
- format.json { render :json => @user_import_file }
27
+ format.json { render json: @user_import_file }
27
28
  format.download {
28
29
  if Setting.uploaded_file.storage == :s3
29
30
  redirect_to @user_import_file.user_import.expiring_url(10)
30
31
  else
31
- send_file file, :filename => @user_import_file.user_import_file_name, :type => 'application/octet-stream'
32
+ send_file file, filename: @user_import_file.user_import_file_name, type: 'application/octet-stream'
32
33
  end
33
34
  }
34
35
  end
@@ -38,10 +39,12 @@ class UserImportFilesController < ApplicationController
38
39
  # GET /user_import_files/new.json
39
40
  def new
40
41
  @user_import_file = UserImportFile.new
42
+ @user_import_file.default_user_group = current_user.profile.user_group
43
+ @user_import_file.default_library = current_user.profile.library
41
44
 
42
45
  respond_to do |format|
43
46
  format.html # new.html.erb
44
- format.json { render :json => @user_import_file }
47
+ format.json { render json: @user_import_file }
45
48
  end
46
49
  end
47
50
 
@@ -60,11 +63,12 @@ class UserImportFilesController < ApplicationController
60
63
  if @user_import_file.mode == 'import'
61
64
  Resque.enqueue(UserImportFileQueue, @user_import_file.id)
62
65
  end
63
- format.html { redirect_to @user_import_file, :notice => t('controller.successfully_created', :model => t('activerecord.models.user_import_file')) }
64
- format.json { render :json => @user_import_file, :status => :created, :location => @user_import_file }
66
+ format.html { redirect_to @user_import_file, notice: t('import.successfully_created', model: t('activerecord.models.user_import_file')) }
67
+ format.json { render json: @user_import_file, status: :created, location: @user_import_file }
65
68
  else
66
- format.html { render :action => "new" }
67
- format.json { render :json => @user_import_file.errors, :status => :unprocessable_entity }
69
+ prepare_options
70
+ format.html { render action: "new" }
71
+ format.json { render json: @user_import_file.errors, status: :unprocessable_entity }
68
72
  end
69
73
  end
70
74
  end
@@ -77,11 +81,12 @@ class UserImportFilesController < ApplicationController
77
81
  if @user_import_file.mode == 'import'
78
82
  Resque.enqueue(UserImportFileQueue, @user_import_file.id)
79
83
  end
80
- format.html { redirect_to @user_import_file, :notice => t('controller.successfully_updated', :model => t('activerecord.models.user_import_file')) }
84
+ format.html { redirect_to @user_import_file, notice: t('controller.successfully_updated', model: t('activerecord.models.user_import_file')) }
81
85
  format.json { head :no_content }
82
86
  else
83
- format.html { render :action => "edit" }
84
- format.json { render :json => @user_import_file.errors, :status => :unprocessable_entity }
87
+ prepare_options
88
+ format.html { render action: "edit" }
89
+ format.json { render json: @user_import_file.errors, status: :unprocessable_entity }
85
90
  end
86
91
  end
87
92
  end
@@ -96,4 +101,10 @@ class UserImportFilesController < ApplicationController
96
101
  format.json { head :no_content }
97
102
  end
98
103
  end
104
+
105
+ private
106
+ def prepare_options
107
+ @user_groups = UserGroup.all
108
+ @libraries = Library.all
109
+ end
99
110
  end
@@ -1,5 +1,5 @@
1
1
  class UserImportResultsController < InheritedResources::Base
2
- respond_to :html, :json, :tsv
2
+ respond_to :html, :json, :txt
3
3
  load_and_authorize_resource
4
4
  has_scope :file_id
5
5
  actions :index, :show, :destroy
@@ -3,28 +3,28 @@ class Notifier < ActionMailer::Base
3
3
 
4
4
  def message_notification(message_id)
5
5
  message = Message.find(message_id)
6
- I18n.locale = message.receiver.locale.try(:to_sym) || I18n.default_locale
7
- from = "#{LibraryGroup.system_name(message.receiver.locale)} <#{LibraryGroup.site_config.email}>"
6
+ I18n.locale = message.receiver.profile.locale.try(:to_sym) || I18n.default_locale
7
+ from = "#{LibraryGroup.system_name(message.receiver.profile.locale)} <#{LibraryGroup.site_config.user.email}>"
8
8
  if message.subject
9
9
  subject = message.subject
10
10
  else
11
- subject = I18n.t('message.new_message_from_library', :library => LibraryGroup.system_name(message.receiver.user.locale))
11
+ subject = I18n.t('message.new_message_from_library', :library => LibraryGroup.system_name(message.receiver.user.profile.locale))
12
12
  end
13
13
  if message.sender
14
14
  @sender_name = message.sender.username
15
15
  else
16
- @sender_name = LibraryGroup.system_name(message.receiver.locale)
16
+ @sender_name = LibraryGroup.system_name(message.receiver.profile.locale)
17
17
  end
18
18
  @message = message
19
- @locale = message.receiver.locale
19
+ @locale = message.receiver.profile.locale
20
20
  mail(:from => from, :to => message.receiver.email, :subject => subject)
21
21
  end
22
22
 
23
23
  def manifestation_info(user_id, manifestation_id)
24
24
  user = User.find(user_id)
25
25
  manifestation = Manifestation.find(manifestation_id)
26
- from = "#{LibraryGroup.system_name(user.locale)} <#{LibraryGroup.site_config.email}>"
27
- subject = "#{manifestation.original_title} : #{LibraryGroup.system_name(user.locale)}"
26
+ from = "#{LibraryGroup.system_name(user.profile.locale)} <#{LibraryGroup.site_config.user.email}>"
27
+ subject = "#{manifestation.original_title} : #{LibraryGroup.system_name(user.profile.locale)}"
28
28
  @user = user
29
29
  @manifestation = manifestation
30
30
  mail(:from => from, :to => user.email, :subject => subject)