enju_biblio 0.1.0.pre52 → 0.1.0.pre53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (334) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/agent_import_files_controller.rb +6 -0
  3. data/app/controllers/agent_import_results_controller.rb +1 -1
  4. data/app/controllers/manifestations_controller.rb +8 -0
  5. data/app/controllers/resource_export_files_controller.rb +100 -0
  6. data/app/controllers/resource_import_files_controller.rb +6 -0
  7. data/app/controllers/resource_import_results_controller.rb +2 -2
  8. data/app/models/agent.rb +0 -2
  9. data/app/models/agent_import_file.rb +38 -52
  10. data/app/models/agent_import_file_state_machine.rb +19 -0
  11. data/app/models/agent_import_file_transition.rb +20 -0
  12. data/app/models/enju_biblio/ability.rb +14 -12
  13. data/app/models/import_request.rb +21 -17
  14. data/app/models/import_request_state_machine.rb +9 -0
  15. data/app/models/import_request_transition.rb +20 -0
  16. data/app/models/item.rb +0 -2
  17. data/app/models/manifestation.rb +63 -2
  18. data/app/models/resource_export_file.rb +59 -0
  19. data/app/models/resource_export_file_state_machine.rb +15 -0
  20. data/app/models/resource_export_file_transition.rb +20 -0
  21. data/app/models/resource_import_file.rb +42 -57
  22. data/app/models/resource_import_file_state_machine.rb +19 -0
  23. data/app/models/resource_import_file_transition.rb +20 -0
  24. data/app/views/agent_import_files/edit.html.erb +2 -2
  25. data/app/views/agent_import_files/index.html.erb +4 -4
  26. data/app/views/agent_import_files/new.html.erb +16 -3
  27. data/app/views/agent_import_files/show.html.erb +13 -3
  28. data/app/views/agent_import_results/index.html.erb +6 -6
  29. data/app/views/agent_import_results/{index.csv.erb → index.tsv.erb} +0 -0
  30. data/app/views/agent_import_results/show.html.erb +2 -2
  31. data/app/views/agent_relationship_types/edit.html.erb +2 -2
  32. data/app/views/agent_relationship_types/index.html.erb +2 -2
  33. data/app/views/agent_relationship_types/new.html.erb +2 -2
  34. data/app/views/agent_relationship_types/show.html.erb +2 -2
  35. data/app/views/agent_relationships/edit.html.erb +2 -2
  36. data/app/views/agent_relationships/index.html.erb +2 -2
  37. data/app/views/agent_relationships/new.html.erb +2 -2
  38. data/app/views/agent_relationships/show.html.erb +2 -2
  39. data/app/views/agent_types/edit.html.erb +2 -2
  40. data/app/views/agent_types/index.html.erb +2 -2
  41. data/app/views/agent_types/new.html.erb +2 -2
  42. data/app/views/agent_types/show.html.erb +2 -2
  43. data/app/views/agents/_index.html.erb +2 -2
  44. data/app/views/agents/_index_agent.html.erb +2 -2
  45. data/app/views/agents/_index_expression.html.erb +2 -2
  46. data/app/views/agents/_index_manifestation.html.erb +2 -2
  47. data/app/views/agents/_index_work.html.erb +2 -2
  48. data/app/views/agents/edit.html.erb +2 -2
  49. data/app/views/agents/new.html.erb +2 -2
  50. data/app/views/agents/show.html.erb +2 -2
  51. data/app/views/carrier_types/edit.html.erb +2 -2
  52. data/app/views/carrier_types/index.html.erb +2 -2
  53. data/app/views/carrier_types/new.html.erb +2 -2
  54. data/app/views/carrier_types/show.html.erb +2 -2
  55. data/app/views/content_types/edit.html.erb +2 -2
  56. data/app/views/content_types/index.html.erb +2 -2
  57. data/app/views/content_types/new.html.erb +2 -2
  58. data/app/views/content_types/show.html.erb +2 -2
  59. data/app/views/countries/edit.html.erb +2 -2
  60. data/app/views/countries/index.html.erb +2 -2
  61. data/app/views/countries/new.html.erb +2 -2
  62. data/app/views/countries/show.html.erb +2 -2
  63. data/app/views/create_types/edit.html.erb +2 -2
  64. data/app/views/create_types/index.html.erb +2 -2
  65. data/app/views/create_types/new.html.erb +2 -2
  66. data/app/views/create_types/show.html.erb +2 -2
  67. data/app/views/creates/_index.html.erb +2 -2
  68. data/app/views/creates/_index_agent.html.erb +2 -2
  69. data/app/views/creates/_index_work.html.erb +2 -2
  70. data/app/views/creates/edit.html.erb +2 -2
  71. data/app/views/creates/new.html.erb +2 -2
  72. data/app/views/creates/show.html.erb +2 -2
  73. data/app/views/donates/edit.html.erb +2 -2
  74. data/app/views/donates/index.html.erb +2 -2
  75. data/app/views/donates/new.html.erb +2 -2
  76. data/app/views/donates/show.html.erb +2 -2
  77. data/app/views/exemplifies/edit.html.erb +2 -2
  78. data/app/views/exemplifies/index.html.erb +2 -2
  79. data/app/views/exemplifies/new.html.erb +2 -2
  80. data/app/views/exemplifies/show.html.erb +2 -2
  81. data/app/views/extents/edit.html.erb +2 -2
  82. data/app/views/extents/index.html.erb +2 -2
  83. data/app/views/extents/new.html.erb +2 -2
  84. data/app/views/extents/show.html.erb +2 -2
  85. data/app/views/form_of_works/edit.html.erb +2 -2
  86. data/app/views/form_of_works/index.html.erb +2 -2
  87. data/app/views/form_of_works/new.html.erb +2 -2
  88. data/app/views/form_of_works/show.html.erb +2 -2
  89. data/app/views/frequencies/edit.html.erb +2 -2
  90. data/app/views/frequencies/index.html.erb +2 -2
  91. data/app/views/frequencies/new.html.erb +2 -2
  92. data/app/views/frequencies/show.html.erb +2 -2
  93. data/app/views/identifier_types/edit.html.erb +2 -2
  94. data/app/views/identifier_types/index.html.erb +2 -2
  95. data/app/views/identifier_types/new.html.erb +2 -2
  96. data/app/views/identifier_types/show.html.erb +2 -2
  97. data/app/views/import_requests/edit.html.erb +2 -2
  98. data/app/views/import_requests/index.html.erb +9 -7
  99. data/app/views/import_requests/new.html.erb +2 -2
  100. data/app/views/import_requests/show.html.erb +3 -3
  101. data/app/views/items/_form.html.erb +1 -1
  102. data/app/views/items/edit.html.erb +2 -2
  103. data/app/views/items/index.html.erb +2 -2
  104. data/app/views/items/new.html.erb +2 -2
  105. data/app/views/items/show.html.erb +2 -2
  106. data/app/views/languages/edit.html.erb +2 -2
  107. data/app/views/languages/index.html.erb +2 -2
  108. data/app/views/languages/new.html.erb +2 -2
  109. data/app/views/languages/show.html.erb +2 -2
  110. data/app/views/licenses/edit.html.erb +2 -2
  111. data/app/views/licenses/index.html.erb +2 -2
  112. data/app/views/licenses/new.html.erb +2 -2
  113. data/app/views/licenses/show.html.erb +2 -2
  114. data/app/views/manifestation_relationship_types/edit.html.erb +2 -2
  115. data/app/views/manifestation_relationship_types/index.html.erb +2 -2
  116. data/app/views/manifestation_relationship_types/new.html.erb +2 -2
  117. data/app/views/manifestation_relationship_types/show.html.erb +2 -2
  118. data/app/views/manifestation_relationships/edit.html.erb +2 -2
  119. data/app/views/manifestation_relationships/index.html.erb +2 -2
  120. data/app/views/manifestation_relationships/new.html.erb +2 -2
  121. data/app/views/manifestation_relationships/show.html.erb +2 -2
  122. data/app/views/manifestations/_pickup.html.erb +1 -1
  123. data/app/views/manifestations/_show_detail_librarian.html.erb +1 -1
  124. data/app/views/manifestations/_show_detail_user.html.erb +2 -2
  125. data/app/views/manifestations/_show_holding.html.erb +6 -1
  126. data/app/views/manifestations/_title.html.erb +1 -1
  127. data/app/views/manifestations/_title.mobile.erb +1 -1
  128. data/app/views/manifestations/edit.html.erb +2 -2
  129. data/app/views/manifestations/index.html.erb +2 -2
  130. data/app/views/manifestations/index.sru.builder +1 -1
  131. data/app/views/manifestations/new.html.erb +2 -2
  132. data/app/views/manifestations/show.html.erb +3 -3
  133. data/app/views/manifestations/show.mobile.erb +1 -1
  134. data/app/views/medium_of_performances/edit.html.erb +2 -2
  135. data/app/views/medium_of_performances/index.html.erb +2 -2
  136. data/app/views/medium_of_performances/new.html.erb +2 -2
  137. data/app/views/medium_of_performances/show.html.erb +2 -2
  138. data/app/views/notifier/manifestation_info.en.text.erb +1 -1
  139. data/app/views/notifier/manifestation_info.ja.text.erb +1 -1
  140. data/app/views/owns/edit.html.erb +2 -2
  141. data/app/views/owns/index.html.erb +2 -2
  142. data/app/views/owns/new.html.erb +2 -2
  143. data/app/views/owns/show.html.erb +2 -2
  144. data/app/views/picture_files/_index.html.erb +2 -2
  145. data/app/views/picture_files/_index_agent.html.erb +2 -2
  146. data/app/views/picture_files/_index_event.html.erb +2 -2
  147. data/app/views/picture_files/_index_manifestation.html.erb +2 -2
  148. data/app/views/picture_files/_index_shelf.html.erb +2 -2
  149. data/app/views/picture_files/edit.html.erb +2 -2
  150. data/app/views/picture_files/new.html.erb +2 -2
  151. data/app/views/picture_files/show.html.erb +2 -2
  152. data/app/views/produce_types/edit.html.erb +2 -2
  153. data/app/views/produce_types/index.html.erb +2 -2
  154. data/app/views/produce_types/new.html.erb +2 -2
  155. data/app/views/produce_types/show.html.erb +2 -2
  156. data/app/views/produces/_index.html.erb +2 -2
  157. data/app/views/produces/_index_agent.html.erb +2 -2
  158. data/app/views/produces/_index_manifestation.html.erb +2 -2
  159. data/app/views/produces/edit.html.erb +2 -2
  160. data/app/views/produces/new.html.erb +2 -2
  161. data/app/views/produces/show.html.erb +2 -2
  162. data/app/views/realize_types/edit.html.erb +2 -2
  163. data/app/views/realize_types/index.html.erb +2 -2
  164. data/app/views/realize_types/new.html.erb +2 -2
  165. data/app/views/realize_types/show.html.erb +2 -2
  166. data/app/views/realizes/_index.html.erb +2 -2
  167. data/app/views/realizes/_index_agent.html.erb +2 -2
  168. data/app/views/realizes/_index_expression.html.erb +2 -2
  169. data/app/views/realizes/edit.html.erb +2 -2
  170. data/app/views/realizes/new.html.erb +2 -2
  171. data/app/views/realizes/show.html.erb +2 -2
  172. data/app/views/resource_export_files/_form.html.erb +22 -0
  173. data/app/views/resource_export_files/edit.html.erb +6 -0
  174. data/app/views/resource_export_files/index.html.erb +44 -0
  175. data/app/views/resource_export_files/new.html.erb +16 -0
  176. data/app/views/resource_export_files/show.html.erb +31 -0
  177. data/app/views/resource_import_files/edit.html.erb +2 -2
  178. data/app/views/resource_import_files/index.html.erb +4 -4
  179. data/app/views/resource_import_files/new.html.erb +16 -3
  180. data/app/views/resource_import_files/show.html.erb +13 -3
  181. data/app/views/resource_import_results/index.html.erb +6 -6
  182. data/app/views/resource_import_results/{index.csv.erb → index.tsv.erb} +0 -0
  183. data/app/views/resource_import_results/show.html.erb +2 -2
  184. data/app/views/series_statements/_index.html.erb +2 -2
  185. data/app/views/series_statements/_index_manifestation.html.erb +2 -2
  186. data/app/views/series_statements/_index_series_statement_merge_list.html.erb +2 -2
  187. data/app/views/series_statements/edit.html.erb +2 -2
  188. data/app/views/series_statements/new.html.erb +2 -2
  189. data/app/views/series_statements/show.html.erb +2 -2
  190. data/app/workers/agent_import_file_queue.rb +7 -0
  191. data/app/workers/resource_export_file_queue.rb +7 -0
  192. data/app/workers/resource_import_file_queue.rb +7 -0
  193. data/config/locales/translation_en.yml +12 -1
  194. data/config/locales/translation_ja.yml +12 -0
  195. data/config/routes.rb +3 -1
  196. data/db/migrate/001_create_agents.rb +0 -1
  197. data/db/migrate/005_create_manifestations.rb +0 -1
  198. data/db/migrate/006_create_items.rb +0 -1
  199. data/db/migrate/20081028083142_create_agent_import_files.rb +0 -2
  200. data/db/migrate/20081028083208_create_resource_import_files.rb +0 -2
  201. data/db/migrate/20100129142347_create_import_requests.rb +0 -1
  202. data/db/migrate/20140519170214_create_resource_import_file_transitions.rb +14 -0
  203. data/db/migrate/20140519171220_create_import_request_transitions.rb +14 -0
  204. data/db/migrate/20140524020735_create_agent_import_file_transitions.rb +14 -0
  205. data/db/migrate/20140614065404_create_resource_export_files.rb +11 -0
  206. data/db/migrate/20140614141500_create_resource_export_file_transitions.rb +14 -0
  207. data/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +5 -0
  208. data/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +5 -0
  209. data/lib/enju_biblio/engine.rb +1 -0
  210. data/lib/enju_biblio/version.rb +1 -1
  211. data/lib/generators/enju_biblio/setup/templates/config/schedule.rb +1 -1
  212. data/spec/controllers/manifestations_controller_spec.rb +4 -4
  213. data/spec/controllers/resource_export_files_controller_spec.rb +292 -0
  214. data/spec/dummy/app/models/ability.rb +1 -0
  215. data/spec/dummy/config/initializers/statesman.rb +3 -0
  216. data/spec/dummy/db/migrate/154_create_messages.rb +0 -1
  217. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +0 -2
  218. data/spec/dummy/db/migrate/20081028093607_create_event_import_files.rb +0 -2
  219. data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +0 -1
  220. data/spec/dummy/db/migrate/20081212151614_create_bookmark_stats.rb +0 -3
  221. data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +0 -1
  222. data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +0 -1
  223. data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +0 -1
  224. data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +0 -4
  225. data/spec/dummy/db/schema.rb +63 -31
  226. data/spec/dummy/db/test.sqlite3 +0 -0
  227. data/spec/dummy/private/system/resource_import_files/resource_imports/000/000/004/original/resource_import_file_sample1.tsv +19 -19
  228. data/spec/dummy/public/system/resource_export_files/resource_exports/000/000/004/original/resource_export_file_20140705-26819-14hii8j.txt +147 -0
  229. data/spec/dummy/solr/default/data/index/segments.gen +0 -0
  230. data/spec/dummy/solr/default/data/index/segments_1 +0 -0
  231. data/spec/dummy/solr/test/data/index/segments.gen +0 -0
  232. data/spec/dummy/solr/test/data/index/segments_6y +0 -0
  233. data/spec/dummy/solr/test/data/tlog/{tlog.0000000000000016453 → tlog.0000000000000000243} +0 -0
  234. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000244 +0 -0
  235. data/spec/dummy/solr/test/data/tlog/{tlog.0000000000000016455 → tlog.0000000000000000245} +0 -0
  236. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000246 +0 -0
  237. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000247 +0 -0
  238. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000248 +0 -0
  239. data/spec/dummy/tmp/cache/4F7/F90/default_role +0 -0
  240. data/spec/dummy/tmp/cache/6E4/420/search_engine_all +0 -0
  241. data/spec/factories/create_types.rb +13 -0
  242. data/spec/factories/produce_types.rb +13 -0
  243. data/spec/factories/realize_types.rb +13 -0
  244. data/spec/fixtures/agent_import_files.yml +1 -5
  245. data/spec/fixtures/agents.yml +0 -2
  246. data/spec/fixtures/import_requests.yml +0 -4
  247. data/spec/fixtures/items.yml +0 -2
  248. data/spec/fixtures/manifestation_checkout_stats.yml +0 -2
  249. data/spec/fixtures/manifestation_reserve_stats.yml +0 -2
  250. data/spec/fixtures/manifestations.yml +0 -2
  251. data/spec/fixtures/message_requests.yml +0 -2
  252. data/spec/fixtures/messages.yml +0 -4
  253. data/spec/fixtures/resource_export_files.yml +26 -0
  254. data/spec/fixtures/resource_import_files.yml +1 -4
  255. data/spec/fixtures/user_checkout_stats.yml +0 -2
  256. data/spec/fixtures/user_reserve_stats.yml +0 -2
  257. data/spec/models/agent_import_file_spec.rb +14 -8
  258. data/spec/models/agent_spec.rb +4 -6
  259. data/spec/models/import_request_spec.rb +0 -2
  260. data/spec/models/item_spec.rb +7 -8
  261. data/spec/models/manifestation_spec.rb +8 -10
  262. data/spec/models/resource_export_file_spec.rb +28 -0
  263. data/spec/models/resource_import_file_spec.rb +15 -5
  264. data/spec/routing/manifestations_routing_spec.rb +1 -1
  265. data/spec/routing/resource_export_files_routing_spec.rb +35 -0
  266. data/spec/spec_helper.rb +3 -0
  267. data/spec/support/resque.rb +32 -0
  268. data/spec/views/import_requests/edit.html.erb_spec.rb +19 -0
  269. data/spec/views/import_requests/index.html.erb_spec.rb +33 -0
  270. data/spec/views/import_requests/new.html.erb_spec.rb +21 -0
  271. data/spec/views/import_requests/show.html.erb_spec.rb +22 -0
  272. data/spec/views/resource_export_files/edit.html.erb_spec.rb +16 -0
  273. data/spec/views/resource_export_files/index.html.erb_spec.rb +17 -0
  274. data/spec/views/resource_export_files/new.html.erb_spec.rb +16 -0
  275. data/spec/views/resource_export_files/show.html.erb_spec.rb +13 -0
  276. metadata +139 -157
  277. data/app/views/manifestations/_series_form.html.erb +0 -127
  278. data/spec/dummy/db/development.sqlite3 +0 -0
  279. data/spec/dummy/solr/default/data/index/_da.fdt +0 -0
  280. data/spec/dummy/solr/default/data/index/_da.fdx +0 -0
  281. data/spec/dummy/solr/default/data/index/_da.fnm +0 -0
  282. data/spec/dummy/solr/default/data/index/_da.nvd +0 -0
  283. data/spec/dummy/solr/default/data/index/_da.nvm +0 -0
  284. data/spec/dummy/solr/default/data/index/_da.si +0 -0
  285. data/spec/dummy/solr/default/data/index/_da_Lucene41_0.doc +0 -0
  286. data/spec/dummy/solr/default/data/index/_da_Lucene41_0.pos +0 -0
  287. data/spec/dummy/solr/default/data/index/_da_Lucene41_0.tim +0 -0
  288. data/spec/dummy/solr/default/data/index/_da_Lucene41_0.tip +0 -0
  289. data/spec/dummy/solr/default/data/index/segments_ip +0 -0
  290. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000668 +0 -0
  291. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000669 +0 -0
  292. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000670 +0 -0
  293. data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000671 +0 -0
  294. data/spec/dummy/solr/test/data/index/segments_cp8 +0 -0
  295. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000016454 +0 -0
  296. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000016456 +0 -0
  297. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000016457 +0 -0
  298. data/spec/dummy/solr/test/data/tlog/tlog.0000000000000016458 +0 -0
  299. data/spec/dummy/tmp/cache/assets/test/sprockets/01c388ec88c5fa6d00409d725549a506 +0 -0
  300. data/spec/dummy/tmp/cache/assets/test/sprockets/0440b81b0aae840cf287a686585a8cec +0 -0
  301. data/spec/dummy/tmp/cache/assets/test/sprockets/0c8f59d97121b79a2e2a0d009d6da9c3 +0 -0
  302. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  303. data/spec/dummy/tmp/cache/assets/test/sprockets/1572dfd6f1e555f4be1aa60ddc3cb0c0 +0 -0
  304. data/spec/dummy/tmp/cache/assets/test/sprockets/19a44bc29c5173edea456f9416243854 +0 -0
  305. data/spec/dummy/tmp/cache/assets/test/sprockets/2d65b40e585725207fd52ce4cf5134f4 +0 -0
  306. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  307. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  308. data/spec/dummy/tmp/cache/assets/test/sprockets/3fc2b4de95dbb94dfe82ccfc97265cc4 +0 -0
  309. data/spec/dummy/tmp/cache/assets/test/sprockets/4aa18096a209e515f5f1df487622cdf4 +0 -0
  310. data/spec/dummy/tmp/cache/assets/test/sprockets/4db7c7b5ea13aacccd89ea32460e2de0 +0 -0
  311. data/spec/dummy/tmp/cache/assets/test/sprockets/55de678ed3c84c51b3a4b4cf473da823 +0 -0
  312. data/spec/dummy/tmp/cache/assets/test/sprockets/64ee480e95febf6b404c1264755ea42e +0 -0
  313. data/spec/dummy/tmp/cache/assets/test/sprockets/7de140ed6f303b9d00d8d703cced3349 +0 -0
  314. data/spec/dummy/tmp/cache/assets/test/sprockets/80348afae86df384b25e1e3bff21b13e +0 -0
  315. data/spec/dummy/tmp/cache/assets/test/sprockets/814bc1bed3effa0bb4588eb8b75ab92a +0 -0
  316. data/spec/dummy/tmp/cache/assets/test/sprockets/8488002e0e6035b7d00c3800c2c0e27e +0 -0
  317. data/spec/dummy/tmp/cache/assets/test/sprockets/86dfe8a3e156aeb6ebcd456b2251fab7 +0 -0
  318. data/spec/dummy/tmp/cache/assets/test/sprockets/89c9228bae34e0ff18fd8fe7f6eb5847 +0 -0
  319. data/spec/dummy/tmp/cache/assets/test/sprockets/a2474b74df12470fb37c668b85b562c6 +0 -0
  320. data/spec/dummy/tmp/cache/assets/test/sprockets/a2ee8688f63b884277632a234086f7df +0 -0
  321. data/spec/dummy/tmp/cache/assets/test/sprockets/a3cea75f1356ef55329e78f86b4c72b1 +0 -0
  322. data/spec/dummy/tmp/cache/assets/test/sprockets/aa2e1ada35daa496bb08e85fcb817536 +0 -0
  323. data/spec/dummy/tmp/cache/assets/test/sprockets/b0e11c6d89683eaa7256a44a164a2a12 +0 -0
  324. data/spec/dummy/tmp/cache/assets/test/sprockets/bf17ca8affe2a1febca7f2a4e37cd77b +0 -0
  325. data/spec/dummy/tmp/cache/assets/test/sprockets/c36b7431da1ae91722b1c4091e4ba084 +0 -0
  326. data/spec/dummy/tmp/cache/assets/test/sprockets/c40786442706ae0cc6c793c6ee2500d3 +0 -0
  327. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  328. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  329. data/spec/dummy/tmp/cache/assets/test/sprockets/e58908ad0ccad6546faf9bcab669b0cd +0 -0
  330. data/spec/dummy/tmp/cache/assets/test/sprockets/e8f801eeda49cba4a03cfd9e2a4562ae +0 -0
  331. data/spec/dummy/tmp/cache/assets/test/sprockets/eef93e7d091d8118419fb96adf80387b +0 -0
  332. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  333. data/spec/dummy/tmp/cache/assets/test/sprockets/fb91323d4585f2e27d281cdb4193beb1 +0 -0
  334. data/spec/dummy/tmp/cache/assets/test/sprockets/ff64e9ded481959dfa8c78718e59e607 +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ac5fd7859acc6d4189d01e5c4aae69ff34bb0aa7
4
- data.tar.gz: db016f3244cbc2702285df0efee525b248069ed8
3
+ metadata.gz: fe609d882b6ac9b45013f9093f98515fc656675f
4
+ data.tar.gz: fa0c10fc22ef968d9b8477cd325710365708c28f
5
5
  SHA512:
6
- metadata.gz: 19b3f7ee6baa681fef3227f9da8a4a70d8b5e783e89696e37b33378a47648efa04c1d4b26e74b0f3399b22c34280d224cb3b9cfc8224986913a83f80dcf34915
7
- data.tar.gz: 4dd636602cd8bf8fb449fe9e249f51eac85acc68ef0c083adce2ed14a0caab562f0c2572956b8f0d1af5a092432b65ffa03c3ab212b24172fb53b56d60bd00a2
6
+ metadata.gz: b24b4f20952199d0d36277e2fc889916cbb0c6ef2441756a484175980a51a9748c7490181007f3db4b288e096471512e90f97f3413cd99b0e8b4b1054b41e150
7
+ data.tar.gz: b7fe8414bbce9e0f0663ffd8935f614974e636b74163bae915230e4ad9596addba96a39ebdb592c0140dd9051863323d06812542fd13d26090ce1a2d5f7c0800
@@ -57,6 +57,9 @@ class AgentImportFilesController < ApplicationController
57
57
 
58
58
  respond_to do |format|
59
59
  if @agent_import_file.save
60
+ if @agent_import_file.mode == 'import'
61
+ Resque.enqueue(AgentImportFileQueue, @agent_import_file.id)
62
+ end
60
63
  format.html { redirect_to @agent_import_file, :notice => t('controller.successfully_created', :model => t('activerecord.models.agent_import_file')) }
61
64
  format.json { render :json => @agent_import_file, :status => :created, :location => @agent_import_file }
62
65
  else
@@ -71,6 +74,9 @@ class AgentImportFilesController < ApplicationController
71
74
  def update
72
75
  respond_to do |format|
73
76
  if @agent_import_file.update_attributes(params[:agent_import_file])
77
+ if @agent_import_file.mode == 'import'
78
+ Resque.enqueue(AgentImportFileQueue, @agent_import_file.id)
79
+ end
74
80
  format.html { redirect_to @agent_import_file, :notice => t('controller.successfully_updated', :model => t('activerecord.models.agent_import_file')) }
75
81
  format.json { head :no_content }
76
82
  else
@@ -1,5 +1,5 @@
1
1
  class AgentImportResultsController < InheritedResources::Base
2
- respond_to :html, :json, :csv
2
+ respond_to :html, :json, :tsv
3
3
  load_and_authorize_resource
4
4
  has_scope :file_id
5
5
  actions :index, :show, :destroy
@@ -552,6 +552,10 @@ class ManifestationsController < ApplicationController
552
552
  # query = "#{query} subject_sm:#{options[:subject]}"
553
553
  #end
554
554
 
555
+ if options[:title].present?
556
+ query = "#{query} title_text:#{options[:title]}"
557
+ end
558
+
555
559
  if options[:tag].present?
556
560
  query = "#{query} tag_sm:#{options[:tag]}"
557
561
  end
@@ -568,6 +572,10 @@ class ManifestationsController < ApplicationController
568
572
  query = "#{query} isbn_sm:#{options[:isbn].gsub('-', '')}"
569
573
  end
570
574
 
575
+ if options[:isbn_id].present?
576
+ query = "#{query} isbn_sm:#{options[:isbn_id].gsub('-', '')}"
577
+ end
578
+
571
579
  if options[:issn].present?
572
580
  query = "#{query} issn_sm:#{options[:issn].gsub('-', '')}"
573
581
  end
@@ -0,0 +1,100 @@
1
+ class ResourceExportFilesController < ApplicationController
2
+ load_and_authorize_resource
3
+
4
+ # GET /resource_export_files
5
+ # GET /resource_export_files.json
6
+ def index
7
+ @resource_export_files = ResourceExportFile.order('id DESC').page(params[:page])
8
+
9
+ respond_to do |format|
10
+ format.html # index.html.erb
11
+ format.json { render :json => @resource_export_files }
12
+ end
13
+ end
14
+
15
+ # GET /resource_export_files/1
16
+ # GET /resource_export_files/1.json
17
+ def show
18
+ if @resource_export_file.resource_export.path
19
+ unless Setting.uploaded_file.storage == :s3
20
+ file = @resource_export_file.resource_export.path
21
+ end
22
+ end
23
+
24
+ respond_to do |format|
25
+ format.html # show.html.erb
26
+ format.json { render :json => @resource_export_file }
27
+ format.download {
28
+ if Setting.uploaded_file.storage == :s3
29
+ redirect_to @resource_export_file.resource_export.expiring_url(10)
30
+ else
31
+ send_file file, :filename => @resource_export_file.resource_export_file_name, :type => 'application/octet-stream'
32
+ end
33
+ }
34
+ end
35
+ end
36
+
37
+ # GET /resource_export_files/new
38
+ # GET /resource_export_files/new.json
39
+ def new
40
+ @resource_export_file = ResourceExportFile.new
41
+ @resource_export_file.user = current_user
42
+
43
+ respond_to do |format|
44
+ format.html # new.html.erb
45
+ format.json { render :json => @resource_export_file }
46
+ end
47
+ end
48
+
49
+ # GET /resource_export_files/1/edit
50
+ def edit
51
+ end
52
+
53
+ # POST /resource_export_files
54
+ # POST /resource_export_files.json
55
+ def create
56
+ @resource_export_file = ResourceExportFile.new(params[:resource_export_file])
57
+ @resource_export_file.user = current_user
58
+
59
+ respond_to do |format|
60
+ if @resource_export_file.save
61
+ if @resource_export_file.mode == 'export'
62
+ Resque.enqueue(ResourceExportFileQueue, @resource_export_file.id)
63
+ end
64
+ format.html { redirect_to @resource_export_file, :notice => t('controller.successfully_created', :model => t('activerecord.models.resource_export_file')) }
65
+ format.json { render :json => @resource_export_file, :status => :created, :location => @resource_export_file }
66
+ else
67
+ format.html { render :action => "new" }
68
+ format.json { render :json => @resource_export_file.errors, :status => :unprocessable_entity }
69
+ end
70
+ end
71
+ end
72
+
73
+ # PUT /resource_export_files/1
74
+ # PUT /resource_export_files/1.json
75
+ def update
76
+ respond_to do |format|
77
+ if @resource_export_file.update_attributes(params[:resource_export_file])
78
+ if @resource_export_file.mode == 'export'
79
+ ResourceExportFileQueue.perform(@resource_export_file.id)
80
+ end
81
+ format.html { redirect_to @resource_export_file, :notice => t('controller.successfully_updated', :model => t('activerecord.models.resource_export_file')) }
82
+ format.json { head :no_content }
83
+ else
84
+ format.html { render :action => "edit" }
85
+ format.json { render :json => @resource_export_file.errors, :status => :unprocessable_entity }
86
+ end
87
+ end
88
+ end
89
+
90
+ # DELETE /resource_export_files/1
91
+ # DELETE /resource_export_files/1.json
92
+ def destroy
93
+ @resource_export_file.destroy
94
+
95
+ respond_to do |format|
96
+ format.html { redirect_to resource_export_files_url }
97
+ format.json { head :no_content }
98
+ end
99
+ end
100
+ end
@@ -57,6 +57,9 @@ class ResourceImportFilesController < ApplicationController
57
57
 
58
58
  respond_to do |format|
59
59
  if @resource_import_file.save
60
+ if @resource_import_file.mode == 'import'
61
+ Resque.enqueue(ResourceImportFileQueue, @resource_import_file.id)
62
+ end
60
63
  format.html { redirect_to @resource_import_file, :notice => t('controller.successfully_created', :model => t('activerecord.models.resource_import_file')) }
61
64
  format.json { render :json => @resource_import_file, :status => :created, :location => @resource_import_file }
62
65
  else
@@ -71,6 +74,9 @@ class ResourceImportFilesController < ApplicationController
71
74
  def update
72
75
  respond_to do |format|
73
76
  if @resource_import_file.update_attributes(params[:resource_import_file])
77
+ if @resource_import_file.mode == 'import'
78
+ Resque.enqueue(ResourceImportFileQueue, @resource_import_file.id)
79
+ end
74
80
  format.html { redirect_to @resource_import_file, :notice => t('controller.successfully_updated', :model => t('activerecord.models.resource_import_file')) }
75
81
  format.json { head :no_content }
76
82
  else
@@ -1,5 +1,5 @@
1
1
  class ResourceImportResultsController < InheritedResources::Base
2
- respond_to :html, :json, :csv
2
+ respond_to :html, :json, :tsv
3
3
  load_and_authorize_resource
4
4
  has_scope :file_id
5
5
  actions :index, :show, :destroy
@@ -7,7 +7,7 @@ class ResourceImportResultsController < InheritedResources::Base
7
7
  def index
8
8
  @resource_import_file = ResourceImportFile.where(:id => params[:resource_import_file_id]).first
9
9
  if @resource_import_file
10
- if params[:format] == 'csv'
10
+ if params[:format] == 'tsv'
11
11
  @resource_import_results = @resource_import_file.resource_import_results
12
12
  else
13
13
  @resource_import_results = @resource_import_file.resource_import_results.page(params[:page])
data/app/models/agent.rb CHANGED
@@ -292,7 +292,6 @@ end
292
292
  # note :text
293
293
  # required_role_id :integer default(1), not null
294
294
  # required_score :integer default(0), not null
295
- # state :string(255)
296
295
  # email :text
297
296
  # url :text
298
297
  # full_name_alternative_transcription :text
@@ -300,4 +299,3 @@ end
300
299
  # death_date :string(255)
301
300
  # agent_identifier :string(255)
302
301
  #
303
-
@@ -1,12 +1,13 @@
1
1
  class AgentImportFile < ActiveRecord::Base
2
- attr_accessible :agent_import, :edit_mode
2
+ include Statesman::Adapters::ActiveRecordModel
3
3
  include ImportFile
4
- default_scope :order => 'agent_import_files.id DESC'
5
- scope :not_imported, where(:state => 'pending')
6
- scope :stucked, where('created_at < ? AND state = ?', 1.hour.ago, 'pending')
4
+ attr_accessible :agent_import, :edit_mode, :user_encoding, :mode
5
+ default_scope {order('agent_import_files.id DESC')}
6
+ scope :not_imported, -> {in_state(:pending)}
7
+ scope :stucked, -> {in_state(:pending).where('created_at < ?', 1.hour.ago)}
7
8
 
8
9
  if Setting.uploaded_file.storage == :s3
9
- has_attached_file :agent_import, :storage => :s3, :s3_credentials => "#{Rails.root.to_s}/config/s3.yml",
10
+ has_attached_file :agent_import, :storage => :s3, :s3_credentials => "#{Setting.amazon}",
10
11
  :s3_permissions => :private
11
12
  else
12
13
  has_attached_file :agent_import,
@@ -23,30 +24,19 @@ class AgentImportFile < ActiveRecord::Base
23
24
  belongs_to :user, :validate => true
24
25
  has_many :agent_import_results
25
26
 
26
- state_machine :initial => :pending do
27
- event :sm_start do
28
- transition [:pending, :started] => :started
29
- end
27
+ has_many :agent_import_file_transitions
30
28
 
31
- event :sm_complete do
32
- transition :started => :completed
33
- end
29
+ enju_import_file_model
30
+ attr_accessor :mode
34
31
 
35
- event :sm_fail do
36
- transition :started => :failed
37
- end
38
-
39
- before_transition any => :started do |agent_import_file|
40
- agent_import_file.executed_at = Time.zone.now
41
- end
42
-
43
- before_transition any => :completed do |agent_import_file|
44
- agent_import_file.error_message = nil
45
- end
32
+ def state_machine
33
+ AgentImportFileStateMachine.new(self, transition_class: AgentImportFileTransition)
46
34
  end
47
35
 
36
+ delegate :can_transition_to?, :transition_to!, :transition_to, :current_state,
37
+ to: :state_machine
38
+
48
39
  def import_start
49
- sm_start!
50
40
  case edit_mode
51
41
  when 'create'
52
42
  import
@@ -60,9 +50,9 @@ class AgentImportFile < ActiveRecord::Base
60
50
  end
61
51
 
62
52
  def import
63
- self.reload
53
+ transition_to!(:started)
64
54
  num = {:agent_imported => 0, :user_imported => 0, :failed => 0}
65
- row_num = 2
55
+ row_num = 1
66
56
  rows = open_import_file
67
57
  field = rows.first
68
58
  if [field['first_name'], field['last_name'], field['full_name']].reject{|field| field.to_s.strip == ""}.empty?
@@ -71,6 +61,7 @@ class AgentImportFile < ActiveRecord::Base
71
61
  #rows.shift
72
62
 
73
63
  rows.each do |row|
64
+ row_num += 1
74
65
  next if row['dummy'].to_s.strip.present?
75
66
  import_result = AgentImportResult.create!(:agent_import_file_id => self.id, :body => row.fields.join("\t"))
76
67
 
@@ -100,15 +91,14 @@ class AgentImportFile < ActiveRecord::Base
100
91
  #end
101
92
 
102
93
  import_result.save!
103
- row_num += 1
104
94
  end
105
95
  Sunspot.commit
106
96
  rows.close
107
- sm_complete!
97
+ transition_to!(:completed)
108
98
  return num
109
99
  rescue => e
110
100
  self.error_message = "line #{row_num}: #{e.message}"
111
- sm_fail!
101
+ transition_to!(:failed)
112
102
  raise e
113
103
  end
114
104
 
@@ -121,11 +111,12 @@ class AgentImportFile < ActiveRecord::Base
121
111
  end
122
112
 
123
113
  def modify
124
- sm_start!
114
+ transition_to!(:started)
125
115
  rows = open_import_file
126
- row_num = 2
116
+ row_num = 1
127
117
 
128
118
  rows.each do |row|
119
+ row_num += 1
129
120
  next if row['dummy'].to_s.strip.present?
130
121
  #user = User.where(:user_number => row['user_number'].to_s.strip).first
131
122
  #if user.try(:agent)
@@ -148,38 +139,43 @@ class AgentImportFile < ActiveRecord::Base
148
139
  agent.address_2 = row['address_2'] if row['address_2'].to_s.strip.present?
149
140
  agent.save!
150
141
  end
151
- row_num += 1
152
142
  end
153
- sm_complete!
143
+ transition_to!(:completed)
154
144
  rescue => e
155
145
  self.error_message = "line #{row_num}: #{e.message}"
156
- sm_fail!
146
+ transition_to!(:failed)
157
147
  raise e
158
148
  end
159
149
 
160
150
  def remove
161
- sm_start!
151
+ transition_to!(:started)
162
152
  rows = open_import_file
163
- row_num = 2
153
+ row_num = 1
164
154
 
165
155
  rows.each do |row|
156
+ row_num += 1
166
157
  next if row['dummy'].to_s.strip.present?
167
158
  agent = Agent.where(:id => row['id'].to_s.strip).first
168
159
  if agent
160
+ agent.picture_files.destroy_all
161
+ agent.reload
169
162
  agent.destroy
170
163
  end
171
- row_num += 1
172
164
  end
173
- sm_complete!
165
+ transition_to!(:completed)
174
166
  rescue => e
175
167
  self.error_message = "line #{row_num}: #{e.message}"
176
- sm_fail!
168
+ transition_to!(:failed)
177
169
  raise e
178
170
  end
179
171
 
180
172
  private
173
+ def self.transition_class
174
+ AgentImportFileTransition
175
+ end
176
+
181
177
  def open_import_file
182
- tempfile = Tempfile.new('agent_import_file')
178
+ tempfile = Tempfile.new(self.class.name.underscore)
183
179
  if Setting.uploaded_file.storage == :s3
184
180
  uploaded_file_path = agent_import.expiring_url(10)
185
181
  else
@@ -187,16 +183,7 @@ class AgentImportFile < ActiveRecord::Base
187
183
  end
188
184
  open(uploaded_file_path){|f|
189
185
  f.each{|line|
190
- if defined?(CharlockHolmes::EncodingDetector)
191
- begin
192
- string = line.encode('UTF-8', CharlockHolmes::EncodingDetector.detect(line)[:encoding], universal_newline: true)
193
- rescue StandardError
194
- string = NKF.nkf('-w -Lu', line)
195
- end
196
- else
197
- string = NKF.nkf('-w -Lu', line)
198
- end
199
- tempfile.puts(string)
186
+ tempfile.puts(convert_encoding(line))
200
187
  }
201
188
  }
202
189
  tempfile.close
@@ -286,7 +273,6 @@ end
286
273
  # user_id :integer
287
274
  # note :text
288
275
  # executed_at :datetime
289
- # state :string(255)
290
276
  # agent_import_file_name :string(255)
291
277
  # agent_import_content_type :string(255)
292
278
  # agent_import_file_size :integer
@@ -296,5 +282,5 @@ end
296
282
  # agent_import_fingerprint :string(255)
297
283
  # error_message :text
298
284
  # edit_mode :string(255)
285
+ # user_encoding :string(255)
299
286
  #
300
-
@@ -0,0 +1,19 @@
1
+ class AgentImportFileStateMachine
2
+ include Statesman::Machine
3
+
4
+ state :pending, initial: true
5
+ state :started
6
+ state :completed
7
+ state :failed
8
+
9
+ transition from: :pending, to: [:started, :failed]
10
+ transition from: :started, to: [:completed, :failed]
11
+
12
+ after_transition(from: :pending, to: :started) do |agent_import_file|
13
+ agent_import_file.update_column(:executed_at, Time.zone.now)
14
+ end
15
+
16
+ before_transition(from: :started, to: :completed) do |agent_import_file|
17
+ agent_import_file.error_message = nil
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ class AgentImportFileTransition < ActiveRecord::Base
2
+ include Statesman::Adapters::ActiveRecordTransition
3
+
4
+
5
+ belongs_to :agent_import_file, inverse_of: :agent_import_file_transitions
6
+ attr_accessible :to_state, :sort_key, :metadata
7
+ end
8
+
9
+ # == Schema Information
10
+ #
11
+ # Table name: agent_import_file_transitions
12
+ #
13
+ # id :integer not null, primary key
14
+ # to_state :string(255)
15
+ # metadata :text default("{}")
16
+ # sort_key :integer
17
+ # agent_import_file_id :integer
18
+ # created_at :datetime not null
19
+ # updated_at :datetime not null
20
+ #