enju_circulation 0.1.0.pre36 → 0.1.0.pre37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/carrier_type_has_checkout_types_controller.rb +11 -11
  3. data/app/controllers/checked_items_controller.rb +13 -13
  4. data/app/controllers/checkins_controller.rb +14 -15
  5. data/app/controllers/checkout_types_controller.rb +10 -10
  6. data/app/controllers/checkouts_controller.rb +18 -19
  7. data/app/controllers/item_has_use_restrictions_controller.rb +10 -10
  8. data/app/controllers/lending_policies_controller.rb +1 -1
  9. data/app/controllers/manifestation_checkout_stats_controller.rb +15 -13
  10. data/app/controllers/manifestation_reserve_stats_controller.rb +15 -13
  11. data/app/controllers/reserves_controller.rb +27 -28
  12. data/app/controllers/user_checkout_stats_controller.rb +15 -13
  13. data/app/controllers/user_group_has_checkout_types_controller.rb +11 -11
  14. data/app/controllers/user_reserve_stats_controller.rb +15 -13
  15. data/app/models/carrier_type_has_checkout_type.rb +6 -6
  16. data/app/models/checked_item.rb +20 -18
  17. data/app/models/checkin.rb +13 -14
  18. data/app/models/checkout.rb +20 -21
  19. data/app/models/checkout_stat_has_manifestation.rb +2 -2
  20. data/app/models/checkout_stat_has_user.rb +2 -2
  21. data/app/models/checkout_type.rb +9 -9
  22. data/app/models/circulation_status.rb +13 -3
  23. data/app/models/enju_circulation/ability.rb +1 -1
  24. data/app/models/item_has_use_restriction.rb +3 -3
  25. data/app/models/lending_policy.rb +4 -4
  26. data/app/models/manifestation_checkout_stat.rb +4 -3
  27. data/app/models/manifestation_checkout_stat_transition.rb +13 -0
  28. data/app/models/manifestation_reserve_stat.rb +4 -3
  29. data/app/models/manifestation_reserve_stat_transition.rb +13 -0
  30. data/app/models/reserve.rb +123 -157
  31. data/app/models/reserve_stat_has_manifestation.rb +2 -2
  32. data/app/models/reserve_stat_has_user.rb +2 -2
  33. data/app/models/reserve_state_machine.rb +93 -0
  34. data/app/models/reserve_transition.rb +20 -0
  35. data/app/models/use_restriction.rb +5 -5
  36. data/app/models/user_checkout_stat.rb +4 -3
  37. data/app/models/user_checkout_stat_transition.rb +13 -0
  38. data/app/models/user_group_has_checkout_type.rb +8 -8
  39. data/app/models/user_reserve_stat.rb +4 -3
  40. data/app/models/user_reserve_stat_transition.rb +13 -0
  41. data/app/views/carrier_type_has_checkout_types/_form.html.erb +3 -3
  42. data/app/views/carrier_type_has_checkout_types/edit.html.erb +1 -1
  43. data/app/views/carrier_type_has_checkout_types/index.html.erb +3 -3
  44. data/app/views/carrier_type_has_checkout_types/new.html.erb +1 -1
  45. data/app/views/carrier_type_has_checkout_types/show.html.erb +1 -1
  46. data/app/views/carrier_types/_checkout_form.html.erb +1 -1
  47. data/app/views/checked_items/_checked_item.html.erb +3 -3
  48. data/app/views/checked_items/_checkout.html.erb +3 -3
  49. data/app/views/checked_items/_list.html.erb +3 -3
  50. data/app/views/checked_items/edit.html.erb +1 -1
  51. data/app/views/checked_items/index.html.erb +1 -1
  52. data/app/views/checked_items/new.html.erb +3 -3
  53. data/app/views/checked_items/show.html.erb +1 -1
  54. data/app/views/checkins/_checkin.html.erb +3 -3
  55. data/app/views/checkins/_form.html.erb +1 -1
  56. data/app/views/checkins/_list.html.erb +2 -2
  57. data/app/views/checkins/edit.html.erb +1 -1
  58. data/app/views/checkins/index.html.erb +2 -2
  59. data/app/views/checkins/new.html.erb +3 -3
  60. data/app/views/checkins/show.html.erb +1 -1
  61. data/app/views/checkout_types/_form.html.erb +2 -2
  62. data/app/views/checkout_types/edit.html.erb +1 -1
  63. data/app/views/checkout_types/index.html.erb +4 -4
  64. data/app/views/checkout_types/new.html.erb +1 -1
  65. data/app/views/checkout_types/show.html.erb +2 -2
  66. data/app/views/checkouts/_index.html.erb +7 -7
  67. data/app/views/checkouts/_index_item.html.erb +5 -5
  68. data/app/views/checkouts/_index_overdue.html.erb +7 -7
  69. data/app/views/checkouts/_index_user.html.erb +13 -13
  70. data/app/views/checkouts/_list.html.erb +5 -5
  71. data/app/views/checkouts/_reserved_facet.html.erb +2 -2
  72. data/app/views/checkouts/edit.html.erb +8 -8
  73. data/app/views/checkouts/index.atom.builder +3 -3
  74. data/app/views/checkouts/index.html.erb +3 -3
  75. data/app/views/checkouts/index.rss.builder +9 -9
  76. data/app/views/checkouts/index.txt.erb +4 -0
  77. data/app/views/checkouts/new.html.erb +2 -2
  78. data/app/views/checkouts/show.html.erb +7 -7
  79. data/app/views/circulation_statuses/_form.html.erb +2 -2
  80. data/app/views/circulation_statuses/edit.html.erb +1 -1
  81. data/app/views/circulation_statuses/index.html.erb +3 -3
  82. data/app/views/circulation_statuses/new.html.erb +1 -1
  83. data/app/views/circulation_statuses/show.html.erb +1 -1
  84. data/app/views/item_has_use_restrictions/edit.html.erb +1 -1
  85. data/app/views/item_has_use_restrictions/index.html.erb +4 -4
  86. data/app/views/item_has_use_restrictions/new.html.erb +2 -2
  87. data/app/views/item_has_use_restrictions/show.html.erb +1 -1
  88. data/app/views/lending_policies/_form.html.erb +1 -1
  89. data/app/views/lending_policies/edit.html.erb +1 -1
  90. data/app/views/lending_policies/index.html.erb +2 -2
  91. data/app/views/lending_policies/new.html.erb +1 -1
  92. data/app/views/lending_policies/show.html.erb +2 -2
  93. data/app/views/manifestation_checkout_stats/_form.html.erb +1 -1
  94. data/app/views/manifestation_checkout_stats/edit.html.erb +1 -1
  95. data/app/views/manifestation_checkout_stats/index.html.erb +3 -4
  96. data/app/views/manifestation_checkout_stats/new.html.erb +1 -1
  97. data/app/views/manifestation_checkout_stats/show.html.erb +3 -4
  98. data/app/views/manifestation_checkout_stats/show.txt.erb +4 -0
  99. data/app/views/manifestation_reserve_stats/_form.html.erb +1 -1
  100. data/app/views/manifestation_reserve_stats/edit.html.erb +1 -1
  101. data/app/views/manifestation_reserve_stats/index.html.erb +3 -4
  102. data/app/views/manifestation_reserve_stats/new.html.erb +1 -1
  103. data/app/views/manifestation_reserve_stats/show.html.erb +3 -4
  104. data/app/views/manifestation_reserve_stats/show.txt.erb +4 -0
  105. data/app/views/my_accounts/_feed_token.html.erb +3 -3
  106. data/app/views/reserves/_form.html.erb +1 -1
  107. data/app/views/reserves/_new.html.erb +9 -9
  108. data/app/views/reserves/_new_user.html.erb +13 -13
  109. data/app/views/reserves/_state_facet.html.erb +2 -2
  110. data/app/views/reserves/_title.html.erb +1 -1
  111. data/app/views/reserves/edit.html.erb +7 -7
  112. data/app/views/reserves/index.atom.builder +3 -3
  113. data/app/views/reserves/index.html.erb +26 -26
  114. data/app/views/reserves/index.rss.builder +10 -10
  115. data/app/views/reserves/index.txt.erb +4 -0
  116. data/app/views/reserves/show.html.erb +9 -9
  117. data/app/views/use_restrictions/_form.html.erb +2 -2
  118. data/app/views/use_restrictions/edit.html.erb +1 -1
  119. data/app/views/use_restrictions/index.html.erb +3 -3
  120. data/app/views/use_restrictions/new.html.erb +1 -1
  121. data/app/views/use_restrictions/show.html.erb +1 -1
  122. data/app/views/user_checkout_stats/_form.html.erb +1 -1
  123. data/app/views/user_checkout_stats/edit.html.erb +1 -1
  124. data/app/views/user_checkout_stats/index.html.erb +3 -4
  125. data/app/views/user_checkout_stats/new.html.erb +1 -1
  126. data/app/views/user_checkout_stats/show.html.erb +3 -4
  127. data/app/views/user_checkout_stats/show.txt.erb +4 -0
  128. data/app/views/user_group_has_checkout_types/edit.html.erb +7 -7
  129. data/app/views/user_group_has_checkout_types/index.html.erb +3 -3
  130. data/app/views/user_group_has_checkout_types/new.html.erb +9 -9
  131. data/app/views/user_group_has_checkout_types/show.html.erb +1 -1
  132. data/app/views/user_groups/_checkout_form.html.erb +6 -6
  133. data/app/views/user_reserve_stats/_form.html.erb +1 -1
  134. data/app/views/user_reserve_stats/edit.html.erb +1 -1
  135. data/app/views/user_reserve_stats/index.html.erb +3 -4
  136. data/app/views/user_reserve_stats/new.html.erb +1 -1
  137. data/app/views/user_reserve_stats/show.html.erb +3 -4
  138. data/app/views/user_reserve_stats/show.txt.erb +4 -0
  139. data/app/views/users/_feed_token.html.erb +3 -3
  140. data/config/initializers/inflections.rb +3 -0
  141. data/config/locales/translation_en.yml +6 -0
  142. data/config/locales/translation_ja.yml +6 -0
  143. data/config/routes.rb +8 -10
  144. data/db/migrate/035_create_reserves.rb +0 -1
  145. data/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +0 -1
  146. data/db/migrate/20081215094302_create_user_checkout_stats.rb +0 -1
  147. data/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +0 -1
  148. data/db/migrate/20081220023628_create_user_reserve_stats.rb +0 -1
  149. data/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +0 -4
  150. data/db/migrate/20140518050147_create_reserve_transitions.rb +14 -0
  151. data/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +12 -0
  152. data/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +6 -0
  153. data/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +5 -0
  154. data/lib/enju_circulation/engine.rb +0 -4
  155. data/lib/enju_circulation/item.rb +4 -4
  156. data/lib/enju_circulation/manifestation.rb +2 -2
  157. data/lib/enju_circulation/profile.rb +26 -0
  158. data/lib/enju_circulation/user.rb +1 -1
  159. data/lib/enju_circulation/version.rb +1 -1
  160. data/lib/enju_circulation.rb +2 -0
  161. data/lib/generators/enju_circulation/setup/setup_generator.rb +2 -0
  162. data/lib/generators/enju_circulation/setup/templates/db/fixtures/circulation_statuses.yml +48 -25
  163. data/lib/generators/enju_circulation/setup/templates/db/fixtures/use_restrictions.yml +39 -13
  164. data/lib/tasks/circulation_status.rb +6 -0
  165. data/lib/tasks/enju_circulation_tasks.rake +14 -0
  166. data/lib/tasks/reserve.rb +5 -0
  167. data/lib/tasks/use_restriction.rb +6 -0
  168. data/spec/controllers/carrier_type_has_checkout_types_controller_spec.rb +21 -21
  169. data/spec/controllers/checkins_controller_spec.rb +22 -22
  170. data/spec/controllers/checkout_types_controller_spec.rb +21 -21
  171. data/spec/controllers/checkouts_controller_spec.rb +14 -14
  172. data/spec/controllers/circulation_statuses_controller_spec.rb +21 -21
  173. data/spec/controllers/item_has_use_restrictions_controller_spec.rb +21 -21
  174. data/spec/controllers/lending_policies_controller_spec.rb +21 -21
  175. data/spec/controllers/manifestation_checkout_stats_controller_spec.rb +21 -21
  176. data/spec/controllers/manifestation_reserve_stats_controller_spec.rb +21 -21
  177. data/spec/controllers/reserves_controller_spec.rb +32 -32
  178. data/spec/controllers/use_restrictions_controller_spec.rb +21 -21
  179. data/spec/controllers/user_checkout_stats_controller_spec.rb +21 -21
  180. data/spec/controllers/user_group_has_checkout_types_controller_spec.rb +21 -21
  181. data/spec/controllers/user_reserve_stats_controller_spec.rb +21 -21
  182. data/spec/dummy/app/models/user.rb +2 -46
  183. data/spec/dummy/config/environments/test.rb +2 -0
  184. data/spec/dummy/db/development.sqlite3 +0 -0
  185. data/spec/dummy/db/migrate/001_create_agents.rb +0 -8
  186. data/spec/dummy/db/migrate/005_create_manifestations.rb +7 -12
  187. data/spec/dummy/db/migrate/006_create_items.rb +0 -6
  188. data/spec/dummy/db/migrate/112_create_frequencies.rb +12 -0
  189. data/spec/dummy/db/migrate/117_create_form_of_works.rb +12 -0
  190. data/spec/dummy/db/migrate/154_create_messages.rb +0 -1
  191. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +0 -2
  192. data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +20 -0
  193. data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +20 -0
  194. data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +15 -0
  195. data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +15 -0
  196. data/spec/dummy/db/migrate/20090719201843_create_extents.rb +12 -0
  197. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +12 -0
  198. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +12 -0
  199. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +12 -0
  200. data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +14 -0
  201. data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +15 -0
  202. data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +12 -0
  203. data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +9 -0
  204. data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +11 -0
  205. data/spec/dummy/db/migrate/20111201155456_devise_create_users.rb +42 -0
  206. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
  207. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +6 -0
  208. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +6 -0
  209. data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +5 -0
  210. data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +5 -0
  211. data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +5 -0
  212. data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +5 -0
  213. data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +5 -0
  214. data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +5 -0
  215. data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +5 -0
  216. data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +5 -0
  217. data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +5 -0
  218. data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +6 -0
  219. data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +5 -0
  220. data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +5 -0
  221. data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +16 -0
  222. data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +7 -0
  223. data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +5 -0
  224. data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +6 -0
  225. data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +20 -0
  226. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +14 -0
  227. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +14 -0
  228. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +14 -0
  229. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +14 -0
  230. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +14 -0
  231. data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +11 -0
  232. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +14 -0
  233. data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +5 -0
  234. data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +5 -0
  235. data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +8 -0
  236. data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +5 -0
  237. data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +6 -0
  238. data/spec/dummy/db/migrate/20140811031145_add_expired_at_to_profile.rb +5 -0
  239. data/spec/dummy/db/schema.rb +315 -56
  240. data/spec/dummy/db/test.sqlite3 +0 -0
  241. data/spec/dummy/solr/conf/admin-extra.html +31 -0
  242. data/spec/dummy/solr/conf/elevate.xml +36 -0
  243. data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  244. data/spec/dummy/solr/conf/protwords.txt +21 -0
  245. data/spec/dummy/solr/conf/schema.xml +255 -0
  246. data/spec/dummy/solr/conf/scripts.conf +24 -0
  247. data/spec/dummy/solr/conf/solrconfig.xml +667 -0
  248. data/spec/dummy/solr/conf/spellings.txt +2 -0
  249. data/spec/dummy/solr/conf/stopwords.txt +58 -0
  250. data/spec/dummy/solr/conf/synonyms.txt +31 -0
  251. data/spec/dummy/solr/default/data/index/_7f0.fdt +0 -0
  252. data/spec/dummy/solr/default/data/index/_7f0.fdx +0 -0
  253. data/spec/dummy/solr/default/data/index/_7f0.fnm +0 -0
  254. data/spec/dummy/solr/default/data/index/_7f0.nvd +0 -0
  255. data/spec/dummy/solr/default/data/index/_7f0.nvm +0 -0
  256. data/spec/dummy/solr/default/data/index/_7f0.si +0 -0
  257. data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.doc +0 -0
  258. data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.pos +0 -0
  259. data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.tim +0 -0
  260. data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.tip +0 -0
  261. data/spec/dummy/solr/default/data/index/segments.gen +0 -0
  262. data/spec/dummy/solr/default/data/index/segments_bvw +0 -0
  263. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015394 +0 -0
  264. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015395 +0 -0
  265. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015396 +0 -0
  266. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015397 +0 -0
  267. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015398 +0 -0
  268. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015399 +0 -0
  269. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015400 +0 -0
  270. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015401 +0 -0
  271. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015402 +0 -0
  272. data/spec/dummy/solr/development/data/index/segments.gen +0 -0
  273. data/spec/dummy/solr/development/data/index/segments_1 +0 -0
  274. data/spec/dummy/solr/solr.xml +8 -0
  275. data/spec/dummy/solr/test/data/index/segments.gen +0 -0
  276. data/spec/dummy/solr/test/data/index/segments_1 +0 -0
  277. data/spec/dummy/tmp/cache/assets/test/sprockets/0007f9aec08cc2727b3d00cd62cf1d0f +0 -0
  278. data/spec/dummy/tmp/cache/assets/test/sprockets/0440b81b0aae840cf287a686585a8cec +0 -0
  279. data/spec/dummy/tmp/cache/assets/test/sprockets/0e3e358e4fe4601ba5e435f6d0c86f12 +0 -0
  280. data/spec/dummy/tmp/cache/assets/test/sprockets/129cec5384c0f26fcfb0ce65048298c5 +0 -0
  281. data/spec/dummy/tmp/cache/assets/test/sprockets/1572dfd6f1e555f4be1aa60ddc3cb0c0 +0 -0
  282. data/spec/dummy/tmp/cache/assets/test/sprockets/181c975b1296d7ebe81714d5e64bc098 +0 -0
  283. data/spec/dummy/tmp/cache/assets/test/sprockets/1c1fbab93e4552626da626e0dbe70c74 +0 -0
  284. data/spec/dummy/tmp/cache/assets/test/sprockets/1e58a07a3701da9fb9c176d67162af2b +0 -0
  285. data/spec/dummy/tmp/cache/assets/test/sprockets/2b35ad8fee7e1228e205669278e2adda +0 -0
  286. data/spec/dummy/tmp/cache/assets/test/sprockets/2f09f58943a88f21e3a0318621391785 +0 -0
  287. data/spec/dummy/tmp/cache/assets/test/sprockets/2ffe508d0533d0afd2a37bb574eda40d +0 -0
  288. data/spec/dummy/tmp/cache/assets/test/sprockets/3753d928863ee65118b9f2da1c6e504d +0 -0
  289. data/spec/dummy/tmp/cache/assets/test/sprockets/40e90f0c329b14292a9ff1a2fe907b39 +0 -0
  290. data/spec/dummy/tmp/cache/assets/test/sprockets/45f3c74e1e31b58d9bda6908d5623290 +0 -0
  291. data/spec/dummy/tmp/cache/assets/test/sprockets/49a3464eb6bcffb3d9f5b47b133edabb +0 -0
  292. data/spec/dummy/tmp/cache/assets/test/sprockets/49d32c13d390c1b80d8b2705aac86579 +0 -0
  293. data/spec/dummy/tmp/cache/assets/test/sprockets/4aa18096a209e515f5f1df487622cdf4 +0 -0
  294. data/spec/dummy/tmp/cache/assets/test/sprockets/50e64f45f0cb4cee52fd3f3908f89a82 +0 -0
  295. data/spec/dummy/tmp/cache/assets/test/sprockets/51f7d34a9e9bebb47b7201cfebfec34d +0 -0
  296. data/spec/dummy/tmp/cache/assets/test/sprockets/5995180d1cfd7cad71ec6d9e1a538f0e +0 -0
  297. data/spec/dummy/tmp/cache/assets/test/sprockets/604e0e4b3c01d488d6fb087e9fdaeb94 +0 -0
  298. data/spec/dummy/tmp/cache/assets/test/sprockets/6401fc09d2b894df2ad251b007df145a +0 -0
  299. data/spec/dummy/tmp/cache/assets/test/sprockets/65a8d4d288e5f082f0166aa7be7a2464 +0 -0
  300. data/spec/dummy/tmp/cache/assets/test/sprockets/6f5d66df18892df6af39c9cfd784f0f5 +0 -0
  301. data/spec/dummy/tmp/cache/assets/test/sprockets/6fcdd2234a7c25f9d4179ca12fd9f7b4 +0 -0
  302. data/spec/dummy/tmp/cache/assets/test/sprockets/6fdb4513af157010ef79b56df44d665e +0 -0
  303. data/spec/dummy/tmp/cache/assets/test/sprockets/750439d8043ed022910956fbb55faa65 +0 -0
  304. data/spec/dummy/tmp/cache/assets/test/sprockets/811e5198d0dc4efe02d28c0c2215e207 +0 -0
  305. data/spec/dummy/tmp/cache/assets/test/sprockets/83ea20e0b25e77f5dce5bf733b088292 +0 -0
  306. data/spec/dummy/tmp/cache/assets/test/sprockets/9604073a83f822f13caaabd7e157bbbb +0 -0
  307. data/spec/dummy/tmp/cache/assets/test/sprockets/98d02556564ee10aef4c3397bb94d5b9 +0 -0
  308. data/spec/dummy/tmp/cache/assets/test/sprockets/9cfe4d48f5258863dbfb3623c797fb15 +0 -0
  309. data/spec/dummy/tmp/cache/assets/test/sprockets/a296264dcc89e1f8ab6382e678ffbe38 +0 -0
  310. data/spec/dummy/tmp/cache/assets/test/sprockets/aa2e1ada35daa496bb08e85fcb817536 +0 -0
  311. data/spec/dummy/tmp/cache/assets/test/sprockets/abee2d4cb18d15789dcdc9c680f3e6de +0 -0
  312. data/spec/dummy/tmp/cache/assets/test/sprockets/c1ab0ecf3cf57db41d9e4cd9306d8829 +0 -0
  313. data/spec/dummy/tmp/cache/assets/test/sprockets/c4a984c6feb506f3e1f9120a8d029bda +0 -0
  314. data/spec/dummy/tmp/cache/assets/test/sprockets/ccdcb26ebc6ef3b684368b368edf4f99 +0 -0
  315. data/spec/dummy/tmp/cache/assets/test/sprockets/d34b5413caa9407126db68d5d590804a +0 -0
  316. data/spec/dummy/tmp/cache/assets/test/sprockets/d4ac74c17332ad931b72f42d7997fcc0 +0 -0
  317. data/spec/dummy/tmp/cache/assets/test/sprockets/dd672deb061233e0db1d2f413d27213f +0 -0
  318. data/spec/dummy/tmp/cache/assets/test/sprockets/e1fcfb0faa3c12467a1c35251e04c8b1 +0 -0
  319. data/spec/dummy/tmp/cache/assets/test/sprockets/e2d21478696ac96ad895f7c3b8d31594 +0 -0
  320. data/spec/dummy/tmp/cache/assets/test/sprockets/e577e9ce00153ad2e59111f761d0fb15 +0 -0
  321. data/spec/dummy/tmp/cache/assets/test/sprockets/e9738177de2083b68d42e053a1529244 +0 -0
  322. data/spec/dummy/tmp/cache/assets/test/sprockets/e9ce2df3f0160329df69b22a911dbd04 +0 -0
  323. data/spec/dummy/tmp/cache/assets/test/sprockets/f2e83d3b5fe984832bfeff09b0e3b8d2 +0 -0
  324. data/spec/dummy/tmp/cache/assets/test/sprockets/f90eee17e0e5eaea50e6064ded54617c +0 -0
  325. data/spec/dummy/tmp/cache/assets/test/sprockets/fa8e81ce1d45228121b9df5618542190 +0 -0
  326. data/spec/dummy/tmp/cache/assets/test/sprockets/fbdc1d9347cb228f06807b76c6c2974e +0 -0
  327. data/spec/dummy/tmp/cache/stdout +1262 -0
  328. data/spec/dummy/tmp/pids/redis-test.pid +1 -0
  329. data/spec/factories/profile.rb +9 -0
  330. data/spec/factories/reserve.rb +7 -1
  331. data/spec/factories/user.rb +3 -9
  332. data/spec/fixtures/agents.yml +0 -12
  333. data/spec/fixtures/checkouts.yml +12 -1
  334. data/spec/fixtures/items.yml +48 -25
  335. data/spec/fixtures/manifestation_checkout_stats.yml +3 -4
  336. data/spec/fixtures/manifestation_reserve_stats.yml +3 -4
  337. data/spec/fixtures/message_requests.yml +0 -3
  338. data/spec/fixtures/message_templates.yml +41 -20
  339. data/spec/fixtures/profiles.yml +83 -0
  340. data/spec/fixtures/reserve_transitions.yml +88 -0
  341. data/spec/fixtures/reserves.yml +1 -18
  342. data/spec/fixtures/user_checkout_stats.yml +3 -4
  343. data/spec/fixtures/user_groups.yml +3 -3
  344. data/spec/fixtures/user_reserve_stats.yml +3 -4
  345. data/spec/fixtures/users.yml +0 -55
  346. data/spec/models/checked_item_spec.rb +2 -1
  347. data/spec/models/checkout_spec.rb +0 -1
  348. data/spec/models/manifestation_checkout_stat_spec.rb +4 -2
  349. data/spec/models/manifestation_reserve_stat_spec.rb +4 -2
  350. data/spec/models/reserve_spec.rb +9 -11
  351. data/spec/models/user_checkout_stat_spec.rb +4 -2
  352. data/spec/models/user_reserve_stat_spec.rb +4 -2
  353. data/spec/support/resque.rb +25 -22
  354. metadata +325 -92
  355. data/app/controllers/checkout_stat_has_manifestations_controller.rb +0 -81
  356. data/app/controllers/checkout_stat_has_users_controller.rb +0 -81
  357. data/app/controllers/reserve_stat_has_manifestations_controller.rb +0 -81
  358. data/app/controllers/reserve_stat_has_users_controller.rb +0 -81
  359. data/app/models/circulation_sweeper.rb +0 -24
  360. data/app/views/checkout_stat_has_manifestations/_form.html.erb +0 -15
  361. data/app/views/checkout_stat_has_manifestations/edit.html.erb +0 -13
  362. data/app/views/checkout_stat_has_manifestations/index.html.erb +0 -33
  363. data/app/views/checkout_stat_has_manifestations/new.html.erb +0 -12
  364. data/app/views/checkout_stat_has_manifestations/show.html.erb +0 -28
  365. data/app/views/checkout_stat_has_users/_form.html.erb +0 -15
  366. data/app/views/checkout_stat_has_users/edit.html.erb +0 -13
  367. data/app/views/checkout_stat_has_users/index.html.erb +0 -33
  368. data/app/views/checkout_stat_has_users/new.html.erb +0 -12
  369. data/app/views/checkout_stat_has_users/show.html.erb +0 -28
  370. data/app/views/checkouts/index.csv.erb +0 -4
  371. data/app/views/manifestation_checkout_stats/show.csv.erb +0 -4
  372. data/app/views/manifestation_reserve_stats/show.csv.erb +0 -4
  373. data/app/views/reserve_stat_has_manifestations/_form.html.erb +0 -15
  374. data/app/views/reserve_stat_has_manifestations/edit.html.erb +0 -13
  375. data/app/views/reserve_stat_has_manifestations/index.html.erb +0 -33
  376. data/app/views/reserve_stat_has_manifestations/new.html.erb +0 -12
  377. data/app/views/reserve_stat_has_manifestations/show.html.erb +0 -28
  378. data/app/views/reserve_stat_has_users/_form.html.erb +0 -15
  379. data/app/views/reserve_stat_has_users/edit.html.erb +0 -13
  380. data/app/views/reserve_stat_has_users/index.html.erb +0 -33
  381. data/app/views/reserve_stat_has_users/new.html.erb +0 -12
  382. data/app/views/reserve_stat_has_users/show.html.erb +0 -28
  383. data/app/views/reserves/index.csv.erb +0 -4
  384. data/app/views/user_checkout_stats/show.csv.erb +0 -4
  385. data/app/views/user_reserve_stats/show.csv.erb +0 -4
  386. data/db/fixtures/carrier_type_has_checkout_types.yml +0 -8
  387. data/db/fixtures/checkout_types.yml +0 -22
  388. data/db/fixtures/circulation_statuses.yml +0 -92
  389. data/db/fixtures/use_restrictions.yml +0 -79
  390. data/db/migrate/20130303104849_add_state_index_to_reserve.rb +0 -5
  391. data/spec/controllers/checkout_stat_has_manifestations_controller_spec.rb +0 -441
  392. data/spec/controllers/checkout_stat_has_users_controller_spec.rb +0 -441
  393. data/spec/controllers/reserve_stat_has_manifestations_controller_spec.rb +0 -441
  394. data/spec/controllers/reserve_stat_has_users_controller_spec.rb +0 -441
  395. data/spec/dummy/app/mailers/notifier.rb +0 -29
  396. data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +0 -13
  397. data/spec/dummy/db/migrate/20111201155456_create_users.rb +0 -16
  398. data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +0 -44
@@ -1,14 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  class ReservesController < ApplicationController
3
- before_filter :store_location, :only => [:index, :new]
4
- load_and_authorize_resource :except => :index
5
- authorize_resource :only => :index
6
- before_filter :get_user, :only => [:index, :new]
3
+ before_filter :store_location, only: [:index, :new]
4
+ load_and_authorize_resource except: :index
5
+ authorize_resource only: :index
6
+ before_filter :get_user, only: [:index, :new]
7
7
  before_filter :store_page
8
8
  helper_method :get_manifestation
9
9
  helper_method :get_item
10
- after_filter :convert_charset, :only => :index
11
- cache_sweeper :circulation_sweeper, :only => [:create, :update, :destroy]
10
+ after_filter :convert_charset, only: :index
12
11
 
13
12
  # GET /reserves
14
13
  # GET /reserves.json
@@ -16,7 +15,7 @@ class ReservesController < ApplicationController
16
15
  unless current_user.has_role?('Librarian')
17
16
  if @user
18
17
  if current_user == @user
19
- redirect_to reserves_url(:format => params[:format])
18
+ redirect_to reserves_url(format: params[:format])
20
19
  return
21
20
  else
22
21
  access_denied; return
@@ -36,7 +35,7 @@ class ReservesController < ApplicationController
36
35
  sort_column = :created_at
37
36
  order = :desc
38
37
  end
39
- if params[:format].to_s.downcase == 'csv'
38
+ if params[:format].to_s.downcase == 'txt'
40
39
  page = 1
41
40
  per_page = 65534
42
41
  else
@@ -104,10 +103,10 @@ class ReservesController < ApplicationController
104
103
 
105
104
  respond_to do |format|
106
105
  format.html # index.html.erb
107
- format.json { render :json => @reserves }
108
- format.rss { render :layout => false }
106
+ format.json { render json: @reserves }
107
+ format.rss { render layout: false }
109
108
  format.atom
110
- format.csv
109
+ format.txt
111
110
  end
112
111
  end
113
112
 
@@ -116,7 +115,7 @@ class ReservesController < ApplicationController
116
115
  def show
117
116
  respond_to do |format|
118
117
  format.html # show.html.erb
119
- format.json { render :json => @reserve }
118
+ format.json { render json: @reserve }
120
119
  end
121
120
  end
122
121
 
@@ -133,7 +132,7 @@ class ReservesController < ApplicationController
133
132
  access_denied; return
134
133
  end
135
134
  end
136
- @reserve.user_number = current_user.user_number
135
+ @reserve.user_number = current_user.profile.user_number
137
136
  end
138
137
 
139
138
  get_manifestation
@@ -175,13 +174,13 @@ class ReservesController < ApplicationController
175
174
 
176
175
  respond_to do |format|
177
176
  if @reserve.save
178
- @reserve.sm_request!
177
+ @reserve.transition_to!(:requested)
179
178
 
180
- format.html { redirect_to @reserve, :notice => t('controller.successfully_created', :model => t('activerecord.models.reserve')) }
181
- format.json { render :json => @reserve, :status => :created, :location => reserve_url(@reserve) }
179
+ format.html { redirect_to @reserve, notice: t('controller.successfully_created', model: t('activerecord.models.reserve')) }
180
+ format.json { render json: @reserve, status: :created, location: reserve_url(@reserve) }
182
181
  else
183
- format.html { render :action => "new" }
184
- format.json { render :json => @reserve.errors, :status => :unprocessable_entity }
182
+ format.html { render action: "new" }
183
+ format.json { render json: @reserve.errors, status: :unprocessable_entity }
185
184
  end
186
185
  end
187
186
  end
@@ -190,40 +189,40 @@ class ReservesController < ApplicationController
190
189
  # PUT /reserves/1.json
191
190
  def update
192
191
  if current_user.has_role?('Librarian')
193
- @reserve.assign_attributes(params[:reserve], :as => :admin)
192
+ @reserve.assign_attributes(params[:reserve], as: :admin)
194
193
  else
195
194
  if @reserve.user != current_user
196
195
  access_denied; return
197
196
  end
198
- @reserve.assign_attributes(params[:reserve], :as => :user_update)
197
+ @reserve.assign_attributes(params[:reserve], as: :user_update)
199
198
  end
200
199
 
201
200
  if @reserve.valid?
202
201
  if params[:mode] == 'cancel'
203
- @reserve.sm_cancel!
202
+ @reserve.transition_to!(:canceled)
204
203
  else
205
204
  if @reserve.retained?
206
205
  if @reserve.item_identifier and @reserve.force_retaining == '1'
207
- @reserve.sm_retain!
206
+ @reserve.transition_to!(:retained)
208
207
  end
209
208
  else
210
- @reserve.sm_retain! if @reserve.item_identifier
209
+ @reserve.transition_to!(:retained) if @reserve.item_identifier
211
210
  end
212
211
  end
213
212
  end
214
213
 
215
214
  respond_to do |format|
216
215
  if @reserve.save
217
- if @reserve.state == 'canceled'
216
+ if @reserve.current_state == 'canceled'
218
217
  flash[:notice] = t('reserve.reservation_was_canceled')
219
218
  else
220
- flash[:notice] = t('controller.successfully_updated', :model => t('activerecord.models.reserve'))
219
+ flash[:notice] = t('controller.successfully_updated', model: t('activerecord.models.reserve'))
221
220
  end
222
221
  format.html { redirect_to @reserve }
223
222
  format.json { head :no_content }
224
223
  else
225
- format.html { render :action => "edit" }
226
- format.json { render :json => @reserve.errors, :status => :unprocessable_entity }
224
+ format.html { render action: "edit" }
225
+ format.json { render json: @reserve.errors, status: :unprocessable_entity }
227
226
  end
228
227
  end
229
228
  end
@@ -244,7 +243,7 @@ class ReservesController < ApplicationController
244
243
  end
245
244
 
246
245
  respond_to do |format|
247
- format.html { redirect_to reserves_url, :notice => t('controller.successfully_deleted', :model => t('activerecord.models.reserve')) }
246
+ format.html { redirect_to reserves_url, notice: t('controller.successfully_deleted', model: t('activerecord.models.reserve')) }
248
247
  format.json { head :no_content }
249
248
  end
250
249
  end
@@ -1,6 +1,6 @@
1
1
  class UserCheckoutStatsController < ApplicationController
2
2
  load_and_authorize_resource
3
- after_filter :convert_charset, :only => :show
3
+ after_filter :convert_charset, only: :show
4
4
 
5
5
  # GET /user_checkout_stats
6
6
  # GET /user_checkout_stats.json
@@ -9,14 +9,14 @@ class UserCheckoutStatsController < ApplicationController
9
9
 
10
10
  respond_to do |format|
11
11
  format.html # index.html.erb
12
- format.json { render :json => @user_checkout_stats }
12
+ format.json { render json: @user_checkout_stats }
13
13
  end
14
14
  end
15
15
 
16
16
  # GET /user_checkout_stats/1
17
17
  # GET /user_checkout_stats/1.json
18
18
  def show
19
- if params[:format] == 'csv'
19
+ if params[:format] == 'txt'
20
20
  per_page = 65534
21
21
  else
22
22
  per_page = CheckoutStatHasUser.default_per_page
@@ -25,8 +25,8 @@ class UserCheckoutStatsController < ApplicationController
25
25
 
26
26
  respond_to do |format|
27
27
  format.html # show.html.erb
28
- format.json { render :json => @user_checkout_stat }
29
- format.csv
28
+ format.json { render json: @user_checkout_stat }
29
+ format.txt
30
30
  end
31
31
  end
32
32
 
@@ -37,7 +37,7 @@ class UserCheckoutStatsController < ApplicationController
37
37
 
38
38
  respond_to do |format|
39
39
  format.html # new.html.erb
40
- format.json { render :json => @user_checkout_stat }
40
+ format.json { render json: @user_checkout_stat }
41
41
  end
42
42
  end
43
43
 
@@ -49,14 +49,16 @@ class UserCheckoutStatsController < ApplicationController
49
49
  # POST /user_checkout_stats.json
50
50
  def create
51
51
  @user_checkout_stat = UserCheckoutStat.new(params[:user_checkout_stat])
52
+ @user_checkout_stat.user = current_user
52
53
 
53
54
  respond_to do |format|
54
55
  if @user_checkout_stat.save
55
- format.html { redirect_to @user_checkout_stat, :notice => t('controller.successfully_created', :model => t('activerecord.models.user_checkout_stat')) }
56
- format.json { render :json => @user_checkout_stat, :status => :created, :location => @user_checkout_stat }
56
+ Resque.enqueue(UserCheckoutStatQueue, @user_checkout_stat.id)
57
+ format.html { redirect_to @user_checkout_stat, notice: t('statistic.successfully_created', model: t('activerecord.models.user_checkout_stat')) }
58
+ format.json { render json: @user_checkout_stat, status: :created, location: @user_checkout_stat }
57
59
  else
58
- format.html { render :action => "new" }
59
- format.json { render :json => @user_checkout_stat.errors, :status => :unprocessable_entity }
60
+ format.html { render action: "new" }
61
+ format.json { render json: @user_checkout_stat.errors, status: :unprocessable_entity }
60
62
  end
61
63
  end
62
64
  end
@@ -69,11 +71,11 @@ class UserCheckoutStatsController < ApplicationController
69
71
  if @user_checkout_stat.mode == 'import'
70
72
  Resque.enqueue(UserCheckoutStatQueue, @user_checkout_stat.id)
71
73
  end
72
- format.html { redirect_to @user_checkout_stat, :notice => t('controller.successfully_updated', :model => t('activerecord.models.user_checkout_stat')) }
74
+ format.html { redirect_to @user_checkout_stat, notice: t('controller.successfully_updated', model: t('activerecord.models.user_checkout_stat')) }
73
75
  format.json { head :no_content }
74
76
  else
75
- format.html { render :action => "edit" }
76
- format.json { render :json => @user_checkout_stat.errors, :status => :unprocessable_entity }
77
+ format.html { render action: "edit" }
78
+ format.json { render json: @user_checkout_stat.errors, status: :unprocessable_entity }
77
79
  end
78
80
  end
79
81
  end
@@ -1,7 +1,7 @@
1
1
  class UserGroupHasCheckoutTypesController < ApplicationController
2
2
  load_and_authorize_resource
3
3
  helper_method :get_user_group, :get_checkout_type
4
- before_filter :prepare_options, :only => [:new, :edit]
4
+ before_filter :prepare_options, only: [:new, :edit]
5
5
 
6
6
  # GET /user_group_has_checkout_types
7
7
  # GET /user_group_has_checkout_types.json
@@ -10,7 +10,7 @@ class UserGroupHasCheckoutTypesController < ApplicationController
10
10
 
11
11
  respond_to do |format|
12
12
  format.html # index.html.erb
13
- format.json { render :json => @user_group_has_checkout_types }
13
+ format.json { render json: @user_group_has_checkout_types }
14
14
  end
15
15
  end
16
16
 
@@ -19,7 +19,7 @@ class UserGroupHasCheckoutTypesController < 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_has_checkout_type }
22
+ format.json { render json: @user_group_has_checkout_type }
23
23
  end
24
24
  end
25
25
 
@@ -33,7 +33,7 @@ class UserGroupHasCheckoutTypesController < ApplicationController
33
33
 
34
34
  respond_to do |format|
35
35
  format.html # new.html.erb
36
- format.json { render :json => @user_group_has_checkout_type }
36
+ format.json { render json: @user_group_has_checkout_type }
37
37
  end
38
38
  end
39
39
 
@@ -48,12 +48,12 @@ class UserGroupHasCheckoutTypesController < ApplicationController
48
48
 
49
49
  respond_to do |format|
50
50
  if @user_group_has_checkout_type.save
51
- format.html { redirect_to(@user_group_has_checkout_type, :notice => t('controller.successfully_created', :model => t('activerecord.models.user_group_has_checkout_type'))) }
52
- format.json { render :json => @user_group_has_checkout_type, :status => :created, :location => @user_group_has_checkout_type }
51
+ format.html { redirect_to(@user_group_has_checkout_type, notice: t('controller.successfully_created', model: t('activerecord.models.user_group_has_checkout_type'))) }
52
+ format.json { render json: @user_group_has_checkout_type, status: :created, location: @user_group_has_checkout_type }
53
53
  else
54
54
  prepare_options
55
- format.html { render :action => "new" }
56
- format.json { render :json => @user_group_has_checkout_type.errors, :status => :unprocessable_entity }
55
+ format.html { render action: "new" }
56
+ format.json { render json: @user_group_has_checkout_type.errors, status: :unprocessable_entity }
57
57
  end
58
58
  end
59
59
  end
@@ -63,12 +63,12 @@ class UserGroupHasCheckoutTypesController < ApplicationController
63
63
  def update
64
64
  respond_to do |format|
65
65
  if @user_group_has_checkout_type.update_attributes(params[:user_group_has_checkout_type])
66
- format.html { redirect_to @user_group_has_checkout_type, :notice => t('controller.successfully_updated', :model => t('activerecord.models.user_group_has_checkout_type')) }
66
+ format.html { redirect_to @user_group_has_checkout_type, notice: t('controller.successfully_updated', model: t('activerecord.models.user_group_has_checkout_type')) }
67
67
  format.json { head :no_content }
68
68
  else
69
69
  prepare_options
70
- format.html { render :action => "edit" }
71
- format.json { render :json => @user_group_has_checkout_type.errors, :status => :unprocessable_entity }
70
+ format.html { render action: "edit" }
71
+ format.json { render json: @user_group_has_checkout_type.errors, status: :unprocessable_entity }
72
72
  end
73
73
  end
74
74
  end
@@ -1,6 +1,6 @@
1
1
  class UserReserveStatsController < ApplicationController
2
2
  load_and_authorize_resource
3
- after_filter :convert_charset, :only => :show
3
+ after_filter :convert_charset, only: :show
4
4
 
5
5
  # GET /user_reserve_stats
6
6
  # GET /user_reserve_stats.json
@@ -9,14 +9,14 @@ class UserReserveStatsController < ApplicationController
9
9
 
10
10
  respond_to do |format|
11
11
  format.html # index.html.erb
12
- format.json { render :json => @user_reserve_stats }
12
+ format.json { render json: @user_reserve_stats }
13
13
  end
14
14
  end
15
15
 
16
16
  # GET /user_reserve_stats/1
17
17
  # GET /user_reserve_stats/1.json
18
18
  def show
19
- if params[:format] == 'csv'
19
+ if params[:format] == 'txt'
20
20
  per_page = 65534
21
21
  else
22
22
  per_page = ReserveStatHasUser.default_per_page
@@ -25,8 +25,8 @@ class UserReserveStatsController < ApplicationController
25
25
 
26
26
  respond_to do |format|
27
27
  format.html # show.html.erb
28
- format.json { render :json => @user_reserve_stat }
29
- format.csv
28
+ format.json { render json: @user_reserve_stat }
29
+ format.txt
30
30
  end
31
31
  end
32
32
 
@@ -37,7 +37,7 @@ class UserReserveStatsController < ApplicationController
37
37
 
38
38
  respond_to do |format|
39
39
  format.html # new.html.erb
40
- format.json { render :json => @user_reserve_stat }
40
+ format.json { render json: @user_reserve_stat }
41
41
  end
42
42
  end
43
43
 
@@ -49,14 +49,16 @@ class UserReserveStatsController < ApplicationController
49
49
  # POST /user_reserve_stats.json
50
50
  def create
51
51
  @user_reserve_stat = UserReserveStat.new(params[:user_reserve_stat])
52
+ @user_reserve_stat.user = current_user
52
53
 
53
54
  respond_to do |format|
54
55
  if @user_reserve_stat.save
55
- format.html { redirect_to @user_reserve_stat, :notice => t('controller.successfully_created', :model => t('activerecord.models.user_reserve_stat')) }
56
- format.json { render :json => @user_reserve_stat, :status => :created, :location => @user_reserve_stat }
56
+ Resque.enqueue(UserReserveStatQueue, @user_reserve_stat.id)
57
+ format.html { redirect_to @user_reserve_stat, notice: t('statistic.successfully_created', model: t('activerecord.models.user_reserve_stat')) }
58
+ format.json { render json: @user_reserve_stat, status: :created, location: @user_reserve_stat }
57
59
  else
58
- format.html { render :action => "new" }
59
- format.json { render :json => @user_reserve_stat.errors, :status => :unprocessable_entity }
60
+ format.html { render action: "new" }
61
+ format.json { render json: @user_reserve_stat.errors, status: :unprocessable_entity }
60
62
  end
61
63
  end
62
64
  end
@@ -69,11 +71,11 @@ class UserReserveStatsController < ApplicationController
69
71
  if @user_reserve_stat.mode == 'import'
70
72
  Resque.enqueue(UserReserveStatQueue, @user_reserve_stat.id)
71
73
  end
72
- format.html { redirect_to @user_reserve_stat, :notice => t('controller.successfully_updated', :model => t('activerecord.models.user_reserve_stat')) }
74
+ format.html { redirect_to @user_reserve_stat, notice: t('controller.successfully_updated', model: t('activerecord.models.user_reserve_stat')) }
73
75
  format.json { head :no_content }
74
76
  else
75
- format.html { render :action => "edit" }
76
- format.json { render :json => @user_reserve_stat.errors, :status => :unprocessable_entity }
77
+ format.html { render action: "edit" }
78
+ format.json { render json: @user_reserve_stat.errors, status: :unprocessable_entity }
77
79
  end
78
80
  end
79
81
  end
@@ -1,16 +1,16 @@
1
1
  class CarrierTypeHasCheckoutType < ActiveRecord::Base
2
2
  attr_accessible :carrier_type_id, :checkout_type_id, :note
3
- scope :available_for_carrier_type, lambda {|carrier_type| {:include => :carrier_type, :conditions => ['carrier_types.name = ?', carrier_type.name]}}
4
- scope :available_for_user_group, lambda {|user_group| {:include => {:checkout_type => :user_groups}, :conditions => ['user_groups.name = ?', user_group.name]}}
3
+ scope :available_for_carrier_type, lambda {|carrier_type| {:include => :carrier_type, conditions: ['carrier_types.name = ?', carrier_type.name]}}
4
+ scope :available_for_user_group, lambda {|user_group| {:include => {:checkout_type => :user_groups}, conditions: ['user_groups.name = ?', user_group.name]}}
5
5
 
6
- belongs_to :carrier_type, :validate => true
7
- belongs_to :checkout_type, :validate => true
6
+ belongs_to :carrier_type, validate: true
7
+ belongs_to :checkout_type, validate: true
8
8
 
9
9
  validates_presence_of :carrier_type, :checkout_type
10
10
  validates_associated :carrier_type, :checkout_type
11
- validates_uniqueness_of :checkout_type_id, :scope => :carrier_type_id
11
+ validates_uniqueness_of :checkout_type_id, scope: :carrier_type_id
12
12
 
13
- acts_as_list :scope => :carrier_type_id
13
+ acts_as_list scope: :carrier_type_id
14
14
  end
15
15
 
16
16
  # == Schema Information
@@ -1,36 +1,38 @@
1
1
  class CheckedItem < ActiveRecord::Base
2
2
  attr_accessible :item_identifier, :ignore_restriction, :due_date_string
3
- belongs_to :item #, :validate => true
4
- belongs_to :basket #, :validate => true
5
- belongs_to :librarian, :class_name => 'User' #, :validate => true
6
-
7
- validates_associated :item, :basket, :on => :update
8
- validates_presence_of :item, :basket, :due_date, :on => :update
9
- validates_uniqueness_of :item_id, :scope => :basket_id
10
- validate :available_for_checkout?, :on => :create
11
- validates :due_date_string, :format => {:with => /\A\[{0,1}\d+([\/-]\d{0,2}){0,2}\]{0,1}\z/}, :allow_blank => true
3
+ belongs_to :item #, validate: true
4
+ belongs_to :basket #, validate: true
5
+ belongs_to :librarian, class_name: 'User' #, validate: true
6
+
7
+ validates_associated :item, :basket, on: :update
8
+ validates_presence_of :item, :basket, :due_date, on: :update
9
+ validates_uniqueness_of :item_id, scope: :basket_id
10
+ validate :available_for_checkout?, on: :create
11
+ validates :due_date_string, format: {with: /\A\[{0,1}\d+([\/-]\d{0,2}){0,2}\]{0,1}\z/}, allow_blank: true
12
12
  validate :check_due_date
13
13
 
14
14
  before_validation :set_item
15
- before_validation :set_due_date, :on => :create
15
+ before_validation :set_due_date, on: :create
16
16
  normalize_attributes :item_identifier
17
17
 
18
18
  attr_protected :user_id
19
19
  attr_accessor :item_identifier, :ignore_restriction, :due_date_string
20
20
 
21
21
  def available_for_checkout?
22
- if self.item.blank?
22
+ if item.blank?
23
23
  errors[:base] << I18n.t('activerecord.errors.messages.checked_item.item_not_found')
24
24
  return false
25
25
  end
26
26
 
27
27
  if item.rent?
28
- errors[:base] << I18n.t('activerecord.errors.messages.checked_item.already_checked_out')
28
+ unless item.circulation_status.name == 'Missing'
29
+ errors[:base] << I18n.t('activerecord.errors.messages.checked_item.already_checked_out')
30
+ end
29
31
  end
30
32
 
31
33
  unless item.available_for_checkout?
32
34
  if item.circulation_status.name == 'Missing'
33
- item.circulation_status = CirculationStatus.where(:name => 'Available On Shelf').first
35
+ item.circulation_status = CirculationStatus.where(name: 'Available On Shelf').first
34
36
  item.save
35
37
  set_due_date
36
38
  else
@@ -45,15 +47,15 @@ class CheckedItem < ActiveRecord::Base
45
47
  end
46
48
  # ここまでは絶対に貸出ができない場合
47
49
 
48
- return true if self.ignore_restriction == "1"
50
+ return true if ignore_restriction == "1"
49
51
 
50
52
  if item.not_for_loan?
51
53
  errors[:base] << I18n.t('activerecord.errors.messages.checked_item.not_available_for_checkout')
52
54
  end
53
55
 
54
56
  if item.reserved?
55
- if self.item.manifestation.next_reservation.user == self.basket.user
56
- self.item.manifestation.next_reservation.sm_complete
57
+ if item.manifestation.next_reservation.user == basket.user
58
+ item.manifestation.next_reservation.transition_to!(:completed)
57
59
  else
58
60
  errors[:base] << I18n.t('activerecord.errors.messages.checked_item.reserved_item_included')
59
61
  end
@@ -74,7 +76,7 @@ class CheckedItem < ActiveRecord::Base
74
76
 
75
77
  def item_checkout_type
76
78
  if item and basket
77
- basket.user.user_group.user_group_has_checkout_types.available_for_item(item).first
79
+ basket.user.profile.user_group.user_group_has_checkout_types.available_for_item(item).first
78
80
  end
79
81
  end
80
82
 
@@ -108,7 +110,7 @@ class CheckedItem < ActiveRecord::Base
108
110
  def set_item
109
111
  identifier = item_identifier.to_s.strip
110
112
  if identifier.present?
111
- item = Item.where(:item_identifier => identifier).first
113
+ item = Item.where(item_identifier: identifier).first
112
114
  self.item = item
113
115
  end
114
116
  end
@@ -1,15 +1,15 @@
1
1
  class Checkin < ActiveRecord::Base
2
2
  attr_accessible :item_identifier
3
- default_scope :order => 'checkins.id DESC'
4
- scope :on, lambda {|date| {:conditions => ['created_at >= ? AND created_at < ?', date.beginning_of_day, date.tomorrow.beginning_of_day]}}
3
+ default_scope order: 'checkins.id DESC'
4
+ scope :on, lambda {|date| {conditions: ['created_at >= ? AND created_at < ?', date.beginning_of_day, date.tomorrow.beginning_of_day]}}
5
5
  has_one :checkout
6
6
  belongs_to :item
7
- belongs_to :librarian, :class_name => 'User'
7
+ belongs_to :librarian, class_name: 'User'
8
8
  belongs_to :basket
9
9
 
10
- validates_uniqueness_of :item_id, :scope => :basket_id
10
+ validates_uniqueness_of :item_id, scope: :basket_id
11
11
  validates_presence_of :item_id, :basket_id
12
- validate :available_for_checkin?, :on => :create
12
+ validate :available_for_checkin?, on: :create
13
13
  before_validation :set_item
14
14
 
15
15
  attr_accessor :item_identifier
@@ -34,19 +34,18 @@ class Checkin < ActiveRecord::Base
34
34
  def item_checkin(current_user)
35
35
  message = ''
36
36
  Checkin.transaction do
37
- checkouts = Checkout.not_returned.where(:item_id => item_id).select(
38
- [:id, :item_id, :user_id, :basket_id, :due_date, :lock_version, :created_at, :checkout_renewal_count]
39
- )
40
37
  item.checkin!
41
- checkouts.each do |checkout|
38
+ Checkout.not_returned.where(item_id: item_id).select(
39
+ [:id, :item_id, :user_id, :basket_id, :due_date, :lock_version, :created_at, :checkout_renewal_count]
40
+ ).each do |checkout|
42
41
  # TODO: ILL時の処理
43
42
  checkout.checkin = self
44
43
  checkout.operator = current_user
45
- unless checkout.user.try(:save_checkout_history)
44
+ unless checkout.user.profile.try(:save_checkout_history)
46
45
  checkout.user = nil
47
46
  end
48
- checkout.save(:validate => false)
49
- unless checkout.item.shelf.library == current_user.library
47
+ checkout.save(validate: false)
48
+ unless checkout.item.shelf.library == current_user.profile.library
50
49
  message << I18n.t('checkin.other_library_item')
51
50
  end
52
51
  end
@@ -67,7 +66,7 @@ class Checkin < ActiveRecord::Base
67
66
 
68
67
  # メールとメッセージの送信
69
68
  #ReservationNotifier.deliver_reserved(item.manifestation.reserves.first.user, item.manifestation)
70
- #Message.create(:sender => current_user, :receiver => item.manifestation.next_reservation.user, :subject => message_template.title, :body => message_template.body, :recipient => item.manifestation.next_reservation.user)
69
+ #Message.create(sender: current_user, receiver: item.manifestation.next_reservation.user, subject: message_template.title, body: message_template.body, recipient: item.manifestation.next_reservation.user)
71
70
  end
72
71
  if message.present?
73
72
  message
@@ -79,7 +78,7 @@ class Checkin < ActiveRecord::Base
79
78
  def set_item
80
79
  identifier = item_identifier.to_s.strip
81
80
  if identifier.present?
82
- item = Item.where(:item_identifier => identifier).first
81
+ item = Item.where(item_identifier: identifier).first
83
82
  self.item = item
84
83
  end
85
84
  end
@@ -1,27 +1,27 @@
1
1
  class Checkout < ActiveRecord::Base
2
2
  attr_accessible :due_date
3
- default_scope :order => 'checkouts.id DESC'
3
+ default_scope order: 'checkouts.id DESC'
4
4
  scope :not_returned, where(:checkin_id => nil)
5
5
  scope :returned, where('checkin_id IS NOT NULL')
6
- scope :overdue, lambda {|date| {:conditions => ['checkin_id IS NULL AND due_date < ?', date]}}
6
+ scope :overdue, lambda {|date| {conditions: ['checkin_id IS NULL AND due_date < ?', date]}}
7
7
  scope :due_date_on, lambda {|date| where(:checkin_id => nil, :due_date => date.beginning_of_day .. date.end_of_day)}
8
- scope :completed, lambda {|start_date, end_date| {:conditions => ['created_at >= ? AND created_at < ?', start_date, end_date]}}
9
- scope :on, lambda {|date| {:conditions => ['created_at >= ? AND created_at < ?', date.beginning_of_day, date.tomorrow.beginning_of_day]}}
8
+ scope :completed, lambda {|start_date, end_date| {conditions: ['created_at >= ? AND created_at < ?', start_date, end_date]}}
9
+ scope :on, lambda {|date| {conditions: ['created_at >= ? AND created_at < ?', date.beginning_of_day, date.tomorrow.beginning_of_day]}}
10
10
 
11
- belongs_to :user #, :counter_cache => true #, :validate => true
11
+ belongs_to :user
12
12
  delegate :username, :user_number, :to => :user, :prefix => true
13
- belongs_to :item #, :counter_cache => true #, :validate => true
14
- belongs_to :checkin #, :validate => true
15
- belongs_to :librarian, :class_name => 'User' #, :validate => true
16
- belongs_to :basket #, :validate => true
13
+ belongs_to :item
14
+ belongs_to :checkin
15
+ belongs_to :librarian, class_name: 'User'
16
+ belongs_to :basket
17
17
 
18
18
  validates_associated :user, :item, :librarian, :checkin #, :basket
19
19
  # TODO: 貸出履歴を保存しない場合は、ユーザ名を削除する
20
20
  #validates_presence_of :user, :item, :basket
21
21
  validates_presence_of :item_id, :basket_id, :due_date
22
- validates_uniqueness_of :item_id, :scope => [:basket_id, :user_id]
23
- validate :is_not_checked?, :on => :create
24
- validate :renewable?, :on => :update
22
+ validates_uniqueness_of :item_id, scope: [:basket_id, :user_id]
23
+ validate :is_not_checked?, on: :create
24
+ validate :renewable?, on: :update
25
25
  validates_date :due_date
26
26
 
27
27
  searchable do
@@ -29,7 +29,7 @@ class Checkout < ActiveRecord::Base
29
29
  user.try(:username)
30
30
  end
31
31
  string :user_number do
32
- user.try(:user_number)
32
+ user.try(:profile).try(:user_number)
33
33
  end
34
34
  string :item_identifier do
35
35
  item.try(:item_identifier)
@@ -49,7 +49,7 @@ class Checkout < ActiveRecord::Base
49
49
  paginates_per 10
50
50
 
51
51
  def is_not_checked?
52
- checkout = Checkout.not_returned.where(:item_id => item_id)
52
+ checkout = Checkout.not_returned.where(item_id: item_id)
53
53
  unless checkout.empty?
54
54
  errors[:base] << I18n.t('activerecord.errors.messages.checkin.already_checked_out')
55
55
  end
@@ -115,7 +115,7 @@ class Checkout < ActiveRecord::Base
115
115
  end
116
116
 
117
117
  def self.manifestations_count(start_date, end_date, manifestation)
118
- completed(start_date, end_date).where(:item_id => manifestation.items.pluck('items.id')).count
118
+ completed(start_date, end_date).where(item_id: manifestation.items.pluck('items.id')).count
119
119
  end
120
120
 
121
121
  def self.send_due_date_notification
@@ -123,9 +123,9 @@ class Checkout < ActiveRecord::Base
123
123
  queues = []
124
124
  User.find_each do |user|
125
125
  # 未来の日時を指定する
126
- checkouts = user.checkouts.due_date_on(user.user_group.number_of_day_to_notify_due_date.days.from_now.beginning_of_day)
126
+ checkouts = user.checkouts.due_date_on(user.profile.user_group.number_of_day_to_notify_due_date.days.from_now.beginning_of_day)
127
127
  unless checkouts.empty?
128
- queues << user.send_message(template, :manifestations => checkouts.collect(&:item).collect(&:manifestation))
128
+ queues << user.send_message(template, manifestations: checkouts.collect(&:item).collect(&:manifestation))
129
129
  end
130
130
  end
131
131
  queues.size
@@ -135,10 +135,10 @@ class Checkout < ActiveRecord::Base
135
135
  template = 'recall_overdue_item'
136
136
  queues = []
137
137
  User.find_each do |user|
138
- user.user_group.number_of_time_to_notify_overdue.times do |i|
139
- checkouts = user.checkouts.due_date_on((user.user_group.number_of_day_to_notify_overdue * (i + 1)).days.ago.beginning_of_day)
138
+ user.profile.user_group.number_of_time_to_notify_overdue.times do |i|
139
+ checkouts = user.checkouts.due_date_on((user.profile.user_group.number_of_day_to_notify_overdue * (i + 1)).days.ago.beginning_of_day)
140
140
  unless checkouts.empty?
141
- queues << user.send_message(template, :manifestations => checkouts.collect(&:item).collect(&:manifestation))
141
+ queues << user.profile.user.send_message(template, manifestations: checkouts.collect(&:item).collect(&:manifestation))
142
142
  end
143
143
  end
144
144
  end
@@ -166,4 +166,3 @@ end
166
166
  # created_at :datetime not null
167
167
  # updated_at :datetime not null
168
168
  #
169
-