enju_biblio 0.2.5 → 0.3.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (513) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +3 -3
  3. data/Rakefile +1 -1
  4. data/app/assets/config/enju_biblio_manifest.js +0 -0
  5. data/app/controllers/agent_import_files_controller.rb +1 -1
  6. data/app/controllers/agent_merge_lists_controller.rb +1 -1
  7. data/app/controllers/agent_merges_controller.rb +1 -1
  8. data/app/controllers/agent_relationship_types_controller.rb +1 -1
  9. data/app/controllers/agent_relationships_controller.rb +1 -1
  10. data/app/controllers/agent_types_controller.rb +1 -1
  11. data/app/controllers/agents_controller.rb +2 -2
  12. data/app/controllers/carrier_types_controller.rb +2 -2
  13. data/app/controllers/concerns/enju_biblio/controller.rb +4 -4
  14. data/app/controllers/content_types_controller.rb +1 -1
  15. data/app/controllers/countries_controller.rb +1 -1
  16. data/app/controllers/create_types_controller.rb +1 -1
  17. data/app/controllers/creates_controller.rb +1 -1
  18. data/app/controllers/donates_controller.rb +1 -1
  19. data/app/controllers/form_of_works_controller.rb +1 -1
  20. data/app/controllers/frequencies_controller.rb +1 -1
  21. data/app/controllers/identifier_types_controller.rb +1 -1
  22. data/app/controllers/import_requests_controller.rb +1 -1
  23. data/app/controllers/items_controller.rb +3 -3
  24. data/app/controllers/languages_controller.rb +1 -1
  25. data/app/controllers/licenses_controller.rb +1 -1
  26. data/app/controllers/manifestation_relationship_types_controller.rb +1 -1
  27. data/app/controllers/manifestation_relationships_controller.rb +1 -1
  28. data/app/controllers/manifestations_controller.rb +13 -13
  29. data/app/controllers/medium_of_performances_controller.rb +1 -1
  30. data/app/controllers/owns_controller.rb +1 -1
  31. data/app/controllers/picture_files_controller.rb +1 -1
  32. data/app/controllers/produce_types_controller.rb +1 -1
  33. data/app/controllers/produces_controller.rb +1 -1
  34. data/app/controllers/realize_types_controller.rb +1 -1
  35. data/app/controllers/realizes_controller.rb +1 -1
  36. data/app/controllers/resource_export_files_controller.rb +1 -1
  37. data/app/controllers/resource_import_files_controller.rb +1 -1
  38. data/app/controllers/series_statement_merge_lists_controller.rb +1 -1
  39. data/app/controllers/series_statement_merges_controller.rb +1 -1
  40. data/app/controllers/series_statements_controller.rb +2 -2
  41. data/{lib/enju_biblio/biblio_helper.rb → app/helpers/enju_biblio/application_helper.rb} +1 -1
  42. data/app/models/agent.rb +2 -2
  43. data/app/models/agent_import_file.rb +3 -3
  44. data/app/models/agent_import_result.rb +1 -1
  45. data/app/models/agent_merge.rb +2 -2
  46. data/app/models/agent_relationship.rb +1 -1
  47. data/app/models/create.rb +1 -1
  48. data/app/models/identifier.rb +1 -2
  49. data/app/models/import_request.rb +1 -1
  50. data/app/models/item.rb +3 -3
  51. data/app/models/manifestation.rb +24 -20
  52. data/app/models/manifestation_relationship.rb +1 -1
  53. data/app/models/picture_file.rb +1 -1
  54. data/app/models/produce.rb +1 -1
  55. data/app/models/realize.rb +1 -1
  56. data/app/models/resource_export_file.rb +1 -1
  57. data/app/models/resource_import_file.rb +104 -94
  58. data/app/models/resource_import_result.rb +2 -2
  59. data/app/models/series_statement.rb +2 -2
  60. data/app/models/series_statement_merge.rb +2 -2
  61. data/app/views/agents/index.rss.builder +3 -3
  62. data/app/views/items/show.html.erb +1 -1
  63. data/app/views/manifestations/index.mods.builder +1 -1
  64. data/app/views/manifestations/index.rss.builder +1 -1
  65. data/app/views/manifestations/index.sru.builder +5 -5
  66. data/config/routes.rb +2 -2
  67. data/db/migrate/001_create_agents.rb +7 -7
  68. data/db/migrate/005_create_manifestations.rb +10 -10
  69. data/db/migrate/006_create_items.rb +6 -6
  70. data/db/migrate/012_create_owns.rb +3 -3
  71. data/db/migrate/015_create_creates.rb +3 -3
  72. data/db/migrate/047_create_produces.rb +3 -3
  73. data/db/migrate/073_create_carrier_types.rb +2 -2
  74. data/db/migrate/112_create_frequencies.rb +2 -2
  75. data/db/migrate/117_create_form_of_works.rb +2 -2
  76. data/db/migrate/125_create_donates.rb +3 -3
  77. data/db/migrate/133_create_agent_merges.rb +2 -2
  78. data/db/migrate/134_create_agent_merge_lists.rb +1 -1
  79. data/db/migrate/20080830154109_create_realizes.rb +3 -3
  80. data/db/migrate/20080905191442_create_agent_types.rb +2 -2
  81. data/db/migrate/20081025083323_create_countries.rb +5 -5
  82. data/db/migrate/20081025083905_create_languages.rb +6 -6
  83. data/db/migrate/20081027150907_create_picture_files.rb +2 -2
  84. data/db/migrate/20081028083142_create_agent_import_files.rb +1 -1
  85. data/db/migrate/20081028083208_create_resource_import_files.rb +1 -1
  86. data/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +1 -1
  87. data/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +1 -1
  88. data/db/migrate/20090720091106_create_medium_of_performances.rb +2 -2
  89. data/db/migrate/20090720091429_create_content_types.rb +2 -2
  90. data/db/migrate/20090812151902_create_agent_relationship_types.rb +2 -2
  91. data/db/migrate/20091012101112_add_dcndl_schema.rb +1 -1
  92. data/db/migrate/20091025080447_create_licenses.rb +2 -2
  93. data/db/migrate/20091214131723_create_series_statements.rb +1 -1
  94. data/db/migrate/20100129142347_create_import_requests.rb +1 -1
  95. data/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +1 -1
  96. data/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +1 -1
  97. data/db/migrate/20100525124311_create_manifestation_relationships.rb +1 -1
  98. data/db/migrate/20100606073747_create_agent_relationships.rb +1 -1
  99. data/db/migrate/20100607044753_create_manifestation_relationship_types.rb +2 -2
  100. data/db/migrate/20100814091104_add_position_to_agent_relationship.rb +1 -1
  101. data/db/migrate/20100925043847_create_resource_import_results.rb +1 -1
  102. data/db/migrate/20100925074559_create_agent_import_results.rb +1 -1
  103. data/db/migrate/20101212070145_add_acquired_at_to_item.rb +1 -1
  104. data/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +1 -1
  105. data/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +1 -1
  106. data/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +1 -1
  107. data/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +1 -1
  108. data/db/migrate/20110620173525_add_bookstore_id_to_item.rb +1 -1
  109. data/db/migrate/20110627034940_create_series_statement_merge_lists.rb +1 -1
  110. data/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
  111. data/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +1 -1
  112. data/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +1 -1
  113. data/db/migrate/20110918162329_add_note_to_series_statement.rb +1 -1
  114. data/db/migrate/20111124110059_create_create_types.rb +1 -1
  115. data/db/migrate/20111124110319_create_realize_types.rb +1 -1
  116. data/db/migrate/20111124110355_create_produce_types.rb +1 -1
  117. data/db/migrate/20111124112131_add_create_type_to_create.rb +1 -1
  118. data/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +1 -1
  119. data/db/migrate/20120129020544_add_budget_type_id_to_item.rb +1 -1
  120. data/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +2 -2
  121. data/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +1 -1
  122. data/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +1 -1
  123. data/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +1 -1
  124. data/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +1 -1
  125. data/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +1 -1
  126. data/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +1 -1
  127. data/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +1 -1
  128. data/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +1 -1
  129. data/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +1 -1
  130. data/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +1 -1
  131. data/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +1 -1
  132. data/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +1 -1
  133. data/db/migrate/20130421093852_add_periodical_to_manifestation.rb +1 -1
  134. data/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +1 -1
  135. data/db/migrate/20130421164124_add_series_master_to_series_statement.rb +1 -1
  136. data/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +1 -1
  137. data/db/migrate/20130506175303_create_identifier_types.rb +1 -1
  138. data/db/migrate/20130506175834_create_identifiers.rb +3 -3
  139. data/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
  140. data/db/migrate/20140519170214_create_resource_import_file_transitions.rb +1 -1
  141. data/db/migrate/20140519171220_create_import_request_transitions.rb +1 -1
  142. data/db/migrate/20140524020735_create_agent_import_file_transitions.rb +1 -1
  143. data/db/migrate/20140614065404_create_resource_export_files.rb +1 -1
  144. data/db/migrate/20140614141500_create_resource_export_file_transitions.rb +1 -1
  145. data/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +1 -1
  146. data/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +1 -1
  147. data/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +1 -1
  148. data/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +1 -1
  149. data/db/migrate/20140802082007_add_manifestation_id_to_item.rb +1 -1
  150. data/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
  151. data/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +1 -1
  152. data/db/migrate/20140823083524_add_extent_to_manifestation.rb +1 -1
  153. data/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +1 -1
  154. data/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +1 -1
  155. data/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +1 -1
  156. data/db/migrate/20151125004028_add_profile_id_to_agent.rb +1 -1
  157. data/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +1 -1
  158. data/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +1 -1
  159. data/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +1 -1
  160. data/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +1 -1
  161. data/db/migrate/20160811102604_add_picture_width_to_picture_file.rb +1 -1
  162. data/db/migrate/20160820004638_add_attachment_attachment_to_carrier_types.rb +1 -1
  163. data/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +1 -1
  164. data/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +1 -1
  165. data/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +1 -1
  166. data/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +1 -1
  167. data/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +1 -1
  168. data/lib/enju_biblio.rb +0 -1
  169. data/lib/enju_biblio/openurl.rb +16 -17
  170. data/lib/enju_biblio/porta_cql.rb +7 -8
  171. data/lib/enju_biblio/sru.rb +11 -12
  172. data/lib/enju_biblio/version.rb +1 -1
  173. data/lib/generators/enju_biblio/setup/templates/config/schedule.rb +2 -2
  174. data/lib/tasks/agent_type.rb +2 -2
  175. data/lib/tasks/content_type.rb +2 -2
  176. data/lib/tasks/enju_biblio_tasks.rake +4 -4
  177. data/lib/tasks/identifier_type.rb +2 -2
  178. data/spec/cassette_library/ResourceImportFile/when_its_mode_is_create_/NDLBibID/should_import_NDLBibID.yml +65 -0
  179. data/spec/controllers/agent_import_files_controller_spec.rb +23 -24
  180. data/spec/controllers/agent_import_results_controller_spec.rb +4 -5
  181. data/spec/controllers/agent_merge_lists_controller_spec.rb +48 -48
  182. data/spec/controllers/agent_merges_controller_spec.rb +44 -44
  183. data/spec/controllers/agent_relationship_types_controller_spec.rb +45 -45
  184. data/spec/controllers/agent_relationships_controller_spec.rb +45 -45
  185. data/spec/controllers/agent_types_controller_spec.rb +18 -18
  186. data/spec/controllers/agents_controller_spec.rb +59 -59
  187. data/spec/controllers/carrier_types_controller_spec.rb +20 -20
  188. data/spec/controllers/content_types_controller_spec.rb +18 -18
  189. data/spec/controllers/countries_controller_spec.rb +47 -47
  190. data/spec/controllers/create_types_controller_spec.rb +17 -17
  191. data/spec/controllers/creates_controller_spec.rb +46 -46
  192. data/spec/controllers/donates_controller_spec.rb +45 -45
  193. data/spec/controllers/form_of_works_controller_spec.rb +17 -17
  194. data/spec/controllers/frequencies_controller_spec.rb +18 -18
  195. data/spec/controllers/identifier_types_controller_spec.rb +17 -17
  196. data/spec/controllers/import_requests_controller_spec.rb +48 -48
  197. data/spec/controllers/items_controller_spec.rb +69 -88
  198. data/spec/controllers/languages_controller_spec.rb +31 -31
  199. data/spec/controllers/licenses_controller_spec.rb +17 -17
  200. data/spec/controllers/manifestation_relationship_types_controller_spec.rb +45 -45
  201. data/spec/controllers/manifestation_relationships_controller_spec.rb +45 -45
  202. data/spec/controllers/manifestations_controller_spec.rb +95 -117
  203. data/spec/controllers/medium_of_performances_controller_spec.rb +17 -17
  204. data/spec/controllers/owns_controller_spec.rb +45 -45
  205. data/spec/controllers/picture_files_controller_spec.rb +46 -46
  206. data/spec/controllers/produce_types_controller_spec.rb +17 -17
  207. data/spec/controllers/produces_controller_spec.rb +46 -46
  208. data/spec/controllers/realize_types_controller_spec.rb +17 -17
  209. data/spec/controllers/realizes_controller_spec.rb +47 -47
  210. data/spec/controllers/resource_export_files_controller_spec.rb +23 -23
  211. data/spec/controllers/resource_import_files_controller_spec.rb +24 -24
  212. data/spec/controllers/resource_import_results_controller_spec.rb +12 -13
  213. data/spec/controllers/series_statement_merge_lists_controller_spec.rb +46 -46
  214. data/spec/controllers/series_statement_merges_controller_spec.rb +44 -44
  215. data/spec/controllers/series_statements_controller_spec.rb +46 -46
  216. data/spec/dummy/app/controllers/application_controller.rb +1 -1
  217. data/spec/dummy/app/helpers/application_helper.rb +2 -2
  218. data/spec/dummy/app/models/local_agent.rb +1 -1
  219. data/spec/dummy/app/models/user.rb +0 -2
  220. data/spec/dummy/bin/rails +1 -1
  221. data/spec/dummy/bin/setup +21 -12
  222. data/spec/dummy/bin/update +29 -0
  223. data/spec/dummy/bin/yarn +11 -0
  224. data/spec/dummy/config/application.rb +8 -22
  225. data/spec/dummy/config/boot.rb +2 -2
  226. data/spec/dummy/config/cable.yml +10 -0
  227. data/spec/dummy/config/database.yml +17 -22
  228. data/spec/dummy/config/environment.rb +1 -1
  229. data/spec/dummy/config/environments/development.rb +24 -11
  230. data/spec/dummy/config/environments/production.rb +28 -16
  231. data/spec/dummy/config/environments/test.rb +8 -7
  232. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  233. data/spec/dummy/config/initializers/assets.rb +6 -3
  234. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  235. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  236. data/spec/dummy/config/initializers/inflections.rb +7 -7
  237. data/spec/dummy/config/initializers/mime_types.rb +0 -1
  238. data/spec/dummy/config/initializers/wrap_parameters.rb +5 -5
  239. data/spec/dummy/config/locales/en.yml +32 -207
  240. data/spec/dummy/config/puma.rb +56 -0
  241. data/spec/dummy/config/secrets.yml +32 -0
  242. data/spec/dummy/config/spring.rb +6 -0
  243. data/spec/dummy/config/sunspot.yml +23 -0
  244. data/spec/dummy/db/migrate/002_devise_create_users.rb +6 -6
  245. data/spec/dummy/db/migrate/029_create_subjects.rb +4 -4
  246. data/spec/dummy/db/migrate/032_create_checkins.rb +2 -2
  247. data/spec/dummy/db/migrate/033_create_checkouts.rb +5 -5
  248. data/spec/dummy/db/migrate/035_create_reserves.rb +6 -6
  249. data/spec/dummy/db/migrate/041_create_roles.rb +3 -3
  250. data/spec/dummy/db/migrate/055_create_bookmarks.rb +3 -3
  251. data/spec/dummy/db/migrate/059_create_libraries.rb +1 -1
  252. data/spec/dummy/db/migrate/069_create_shelves.rb +1 -1
  253. data/spec/dummy/db/migrate/077_create_user_groups.rb +2 -2
  254. data/spec/dummy/db/migrate/080_create_library_groups.rb +1 -1
  255. data/spec/dummy/db/migrate/113_create_events.rb +4 -4
  256. data/spec/dummy/db/migrate/114_create_event_categories.rb +2 -2
  257. data/spec/dummy/db/migrate/120_create_baskets.rb +1 -1
  258. data/spec/dummy/db/migrate/121_create_checked_items.rb +4 -4
  259. data/spec/dummy/db/migrate/124_create_bookstores.rb +2 -2
  260. data/spec/dummy/db/migrate/127_create_use_restrictions.rb +2 -2
  261. data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +3 -3
  262. data/spec/dummy/db/migrate/130_create_request_status_types.rb +2 -2
  263. data/spec/dummy/db/migrate/131_create_request_types.rb +2 -2
  264. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +2 -2
  265. data/spec/dummy/db/migrate/142_create_classifications.rb +3 -3
  266. data/spec/dummy/db/migrate/144_create_classification_types.rb +2 -2
  267. data/spec/dummy/db/migrate/145_create_subject_heading_types.rb +2 -2
  268. data/spec/dummy/db/migrate/146_create_subject_types.rb +2 -2
  269. data/spec/dummy/db/migrate/149_create_message_templates.rb +6 -6
  270. data/spec/dummy/db/migrate/154_create_messages.rb +3 -3
  271. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +1 -1
  272. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +1 -1
  273. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +1 -1
  274. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +6 -6
  275. data/spec/dummy/db/migrate/20081028093607_create_event_import_files.rb +1 -1
  276. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +2 -2
  277. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +9 -9
  278. data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +4 -4
  279. data/spec/dummy/db/migrate/20081117143156_create_inventory_files.rb +1 -1
  280. data/spec/dummy/db/migrate/20081117143455_create_inventories.rb +1 -1
  281. data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +5 -5
  282. data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +1 -1
  283. data/spec/dummy/db/migrate/20081212151614_create_bookmark_stats.rb +1 -1
  284. data/spec/dummy/db/migrate/20081212151820_create_bookmark_stat_has_manifestations.rb +3 -3
  285. data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +1 -1
  286. data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +4 -4
  287. data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +4 -4
  288. data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +1 -1
  289. data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +1 -1
  290. data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +3 -3
  291. data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +1 -1
  292. data/spec/dummy/db/migrate/20090519203307_create_participates.rb +3 -3
  293. data/spec/dummy/db/migrate/20090706125521_add_attachments_inventory_to_inventory_file.rb +1 -1
  294. data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +7 -7
  295. data/spec/dummy/db/migrate/20091202124834_create_versions.rb +4 -4
  296. data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +1 -1
  297. data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +2 -2
  298. data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +1 -1
  299. data/spec/dummy/db/migrate/20100525171356_acts_as_taggable_on_migration.rb +3 -3
  300. data/spec/dummy/db/migrate/20100606065209_create_user_has_roles.rb +1 -1
  301. data/spec/dummy/db/migrate/20100925074639_create_event_import_results.rb +1 -1
  302. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +2 -2
  303. data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +1 -1
  304. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +2 -2
  305. data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +1 -1
  306. data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +1 -1
  307. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +4 -4
  308. data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +1 -1
  309. data/spec/dummy/db/migrate/20110913120629_add_lft_and_rgt_to_classification.rb +1 -1
  310. data/spec/dummy/db/migrate/20111217234412_add_save_checkout_history_to_user.rb +2 -2
  311. data/spec/dummy/db/migrate/20111218002349_add_checkout_icalendar_token_to_user.rb +2 -2
  312. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +1 -1
  313. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +1 -1
  314. data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +1 -1
  315. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +1 -1
  316. data/spec/dummy/db/migrate/20120406020752_add_url_to_subject.rb +1 -1
  317. data/spec/dummy/db/migrate/20120413051535_add_event_import_fingerprint_to_event_import_file.rb +1 -1
  318. data/spec/dummy/db/migrate/20120413100431_add_fingerprint_to_inventory_file.rb +1 -1
  319. data/spec/dummy/db/migrate/20120413170734_add_error_message_to_event_import_file.rb +1 -1
  320. data/spec/dummy/db/migrate/20120415060342_rename_event_import_file_imported_at_to_executed_at.rb +1 -1
  321. data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +1 -1
  322. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +2 -2
  323. data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +4 -4
  324. data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +1 -1
  325. data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +1 -1
  326. data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
  327. data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +3 -3
  328. data/spec/dummy/db/migrate/20130504133816_add_manifestation_id_to_subject.rb +1 -1
  329. data/spec/dummy/db/migrate/20130504143515_add_manifestation_id_to_classification.rb +1 -1
  330. data/spec/dummy/db/migrate/20130504195916_add_subject_heading_type_id_to_subject.rb +1 -1
  331. data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +2 -2
  332. data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +2 -2
  333. data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +1 -1
  334. data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +1 -1
  335. data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +2 -2
  336. data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +1 -1
  337. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +1 -1
  338. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +1 -1
  339. data/spec/dummy/db/migrate/20140523171309_create_event_import_file_transitions.rb +1 -1
  340. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +1 -1
  341. data/spec/dummy/db/migrate/20140524135607_create_bookmark_stat_transitions.rb +1 -1
  342. data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +1 -1
  343. data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +1 -1
  344. data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +1 -1
  345. data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +1 -1
  346. data/spec/dummy/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +1 -1
  347. data/spec/dummy/db/migrate/20140628071719_add_user_encoding_to_event_import_file.rb +1 -1
  348. data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +1 -1
  349. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +1 -1
  350. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +1 -1
  351. data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +1 -1
  352. data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +1 -1
  353. data/spec/dummy/db/migrate/20140720192418_add_default_library_id_to_event_import_file.rb +1 -1
  354. data/spec/dummy/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +1 -1
  355. data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +2 -2
  356. data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +2 -2
  357. data/spec/dummy/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
  358. data/spec/dummy/db/migrate/20140812093836_add_share_bookmarks_to_profile.rb +1 -1
  359. data/spec/dummy/db/migrate/20140812152348_create_event_export_files.rb +1 -1
  360. data/spec/dummy/db/migrate/20140812153137_create_event_export_file_transitions.rb +1 -1
  361. data/spec/dummy/db/migrate/20140814070854_add_default_event_category_id_to_event_import_file.rb +1 -1
  362. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +1 -1
  363. data/spec/dummy/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +1 -1
  364. data/spec/dummy/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +1 -1
  365. data/spec/dummy/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +1 -1
  366. data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +1 -1
  367. data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +1 -1
  368. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +1 -1
  369. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +1 -1
  370. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +1 -1
  371. data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +1 -1
  372. data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +1 -1
  373. data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +1 -1
  374. data/spec/dummy/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +1 -1
  375. data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +1 -1
  376. data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +1 -1
  377. data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +1 -1
  378. data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +1 -1
  379. data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +1 -1
  380. data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +1 -1
  381. data/spec/dummy/db/migrate/20160813191533_add_book_jacket_source_to_library_group.rb +1 -1
  382. data/spec/dummy/db/migrate/20160813191647_add_max_number_of_results_to_library_group.rb +1 -1
  383. data/spec/dummy/db/migrate/20160813191733_add_family_name_first_to_library_group.rb +1 -1
  384. data/spec/dummy/db/migrate/20160813191820_add_screenshot_generator_to_library_group.rb +1 -1
  385. data/spec/dummy/db/migrate/20160813192542_add_pub_year_facet_range_interval_to_library_group.rb +1 -1
  386. data/spec/dummy/db/migrate/20160813203039_add_user_id_to_library_group.rb +1 -1
  387. data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +1 -1
  388. data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +1 -1
  389. data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +1 -1
  390. data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +1 -1
  391. data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +1 -1
  392. data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +1 -1
  393. data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +1 -1
  394. data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +1 -1
  395. data/spec/dummy/db/schema.rb +930 -1014
  396. data/spec/factories/agent.rb +1 -1
  397. data/spec/factories/{patron_relationship.rb → agent_relationship.rb} +1 -0
  398. data/spec/factories/{patron_relationship_type.rb → agent_relationship_type.rb} +0 -0
  399. data/spec/factories/{patron_type.rb → agent_type.rb} +0 -0
  400. data/spec/factories/bookstores.rb +5 -0
  401. data/spec/factories/budget_types.rb +5 -0
  402. data/spec/factories/checkout.rb +1 -1
  403. data/spec/factories/create.rb +4 -3
  404. data/spec/factories/identifier.rb +3 -3
  405. data/spec/factories/import_request.rb +3 -2
  406. data/spec/factories/item.rb +6 -4
  407. data/spec/factories/library.rb +1 -1
  408. data/spec/factories/manifestation_relationship.rb +4 -3
  409. data/spec/factories/manifestation_relationship_type.rb +2 -2
  410. data/spec/factories/profile.rb +1 -1
  411. data/spec/models/agent_import_file_spec.rb +18 -10
  412. data/spec/models/agent_import_result_spec.rb +1 -2
  413. data/spec/models/agent_merge_list_spec.rb +1 -2
  414. data/spec/models/agent_merge_spec.rb +1 -2
  415. data/spec/models/agent_relationship_spec.rb +1 -2
  416. data/spec/models/agent_relationship_type_spec.rb +1 -2
  417. data/spec/models/agent_spec.rb +4 -5
  418. data/spec/models/agent_type_spec.rb +1 -2
  419. data/spec/models/carrier_type_spec.rb +0 -1
  420. data/spec/models/content_type_spec.rb +1 -2
  421. data/spec/models/country_spec.rb +1 -2
  422. data/spec/models/create_spec.rb +1 -2
  423. data/spec/models/donate_spec.rb +1 -2
  424. data/spec/models/form_of_work_spec.rb +1 -2
  425. data/spec/models/frequency_spec.rb +0 -1
  426. data/spec/models/identifier_spec.rb +1 -2
  427. data/spec/models/identifier_type_spec.rb +1 -2
  428. data/spec/models/import_request_spec.rb +2 -3
  429. data/spec/models/item_spec.rb +2 -3
  430. data/spec/models/language_spec.rb +1 -2
  431. data/spec/models/license_spec.rb +1 -2
  432. data/spec/models/manifestation_relationship_spec.rb +1 -2
  433. data/spec/models/manifestation_relationship_type_spec.rb +1 -2
  434. data/spec/models/manifestation_spec.rb +57 -48
  435. data/spec/models/medium_of_performance_spec.rb +1 -2
  436. data/spec/models/own_spec.rb +1 -2
  437. data/spec/models/picture_file_spec.rb +1 -2
  438. data/spec/models/produce_spec.rb +1 -2
  439. data/spec/models/realize_spec.rb +1 -2
  440. data/spec/models/resource_export_file_spec.rb +0 -1
  441. data/spec/models/resource_import_file_spec.rb +99 -55
  442. data/spec/models/resource_import_result_spec.rb +1 -2
  443. data/spec/models/series_statement_merge_spec.rb +1 -1
  444. data/spec/rails_helper.rb +0 -14
  445. data/spec/requests/agents_spec.rb +1 -1
  446. data/spec/requests/items_spec.rb +3 -2
  447. data/spec/requests/manifestations_spec.rb +1 -1
  448. data/spec/routing/agent_relationship_types_routing_spec.rb +7 -7
  449. data/spec/routing/agent_relationships_routing_spec.rb +7 -7
  450. data/spec/routing/agents_routing_spec.rb +7 -7
  451. data/spec/routing/content_types_routing_spec.rb +7 -7
  452. data/spec/routing/create_types_routing_spec.rb +4 -4
  453. data/spec/routing/creates_routing_spec.rb +7 -7
  454. data/spec/routing/items_routing_spec.rb +7 -7
  455. data/spec/routing/licenses_routing_spec.rb +7 -7
  456. data/spec/routing/manifestation_relationship_types_routing_spec.rb +7 -7
  457. data/spec/routing/manifestation_relationships_routing_spec.rb +7 -7
  458. data/spec/routing/manifestations_routing_spec.rb +8 -8
  459. data/spec/routing/produce_types_routing_spec.rb +4 -4
  460. data/spec/routing/realize_types_routing_spec.rb +4 -4
  461. data/spec/routing/realizes_routing_spec.rb +7 -7
  462. data/spec/routing/resource_export_files_routing_spec.rb +4 -4
  463. data/spec/routing/series_statement_merge_lists_routing_spec.rb +4 -4
  464. data/spec/routing/series_statement_merges_routing_spec.rb +4 -4
  465. data/spec/support/resque.rb +2 -2
  466. data/spec/views/agent_types/edit.html.erb_spec.rb +8 -8
  467. data/spec/views/agent_types/index.html.erb_spec.rb +8 -9
  468. data/spec/views/agent_types/new.html.erb_spec.rb +8 -8
  469. data/spec/views/agent_types/show.html.erb_spec.rb +4 -4
  470. data/spec/views/create_types/edit.html.erb_spec.rb +8 -8
  471. data/spec/views/create_types/index.html.erb_spec.rb +8 -9
  472. data/spec/views/create_types/new.html.erb_spec.rb +8 -8
  473. data/spec/views/create_types/show.html.erb_spec.rb +4 -4
  474. data/spec/views/creates/edit.html.erb_spec.rb +4 -4
  475. data/spec/views/creates/index.html.erb_spec.rb +5 -5
  476. data/spec/views/creates/new.html.erb_spec.rb +4 -4
  477. data/spec/views/creates/show.html.erb_spec.rb +2 -2
  478. data/spec/views/import_requests/edit.html.erb_spec.rb +4 -4
  479. data/spec/views/import_requests/index.html.erb_spec.rb +9 -10
  480. data/spec/views/import_requests/new.html.erb_spec.rb +6 -6
  481. data/spec/views/import_requests/show.html.erb_spec.rb +2 -2
  482. data/spec/views/items/index.html.erb_spec.rb +2 -2
  483. data/spec/views/manifestations/index.rdf.builder_spec.rb +2 -2
  484. data/spec/views/manifestations/index.txt.erb_spec.rb +1 -1
  485. data/spec/views/owns/edit.html.erb_spec.rb +4 -4
  486. data/spec/views/owns/index.html.erb_spec.rb +5 -5
  487. data/spec/views/owns/new.html.erb_spec.rb +4 -4
  488. data/spec/views/owns/show.html.erb_spec.rb +2 -2
  489. data/spec/views/produce_types/edit.html.erb_spec.rb +8 -8
  490. data/spec/views/produce_types/index.html.erb_spec.rb +8 -9
  491. data/spec/views/produce_types/new.html.erb_spec.rb +8 -8
  492. data/spec/views/produce_types/show.html.erb_spec.rb +4 -4
  493. data/spec/views/produces/edit.html.erb_spec.rb +5 -5
  494. data/spec/views/produces/index.html.erb_spec.rb +5 -5
  495. data/spec/views/produces/new.html.erb_spec.rb +5 -5
  496. data/spec/views/produces/show.html.erb_spec.rb +2 -2
  497. data/spec/views/realize_types/edit.html.erb_spec.rb +8 -8
  498. data/spec/views/realize_types/index.html.erb_spec.rb +8 -9
  499. data/spec/views/realize_types/new.html.erb_spec.rb +8 -8
  500. data/spec/views/realize_types/show.html.erb_spec.rb +4 -4
  501. data/spec/views/realizes/edit.html.erb_spec.rb +5 -5
  502. data/spec/views/realizes/index.html.erb_spec.rb +5 -5
  503. data/spec/views/realizes/new.html.erb_spec.rb +5 -5
  504. data/spec/views/realizes/show.html.erb_spec.rb +2 -2
  505. data/spec/views/resource_export_files/index.html.erb_spec.rb +1 -1
  506. data/spec/views/series_statement_merge_lists/edit.html.erb_spec.rb +3 -3
  507. data/spec/views/series_statement_merge_lists/index.html.erb_spec.rb +5 -5
  508. data/spec/views/series_statement_merge_lists/new.html.erb_spec.rb +3 -3
  509. data/spec/views/series_statement_merge_lists/show.html.erb_spec.rb +1 -1
  510. data/spec/views/series_statement_merges/edit.html.erb_spec.rb +5 -5
  511. data/spec/views/series_statement_merges/index.html.erb_spec.rb +5 -5
  512. data/spec/views/series_statement_merges/new.html.erb_spec.rb +5 -5
  513. metadata +67 -68
@@ -82,7 +82,7 @@ class ProducesController < ApplicationController
82
82
  end
83
83
 
84
84
  respond_to do |format|
85
- if @produce.update_attributes(produce_params)
85
+ if @produce.update(produce_params)
86
86
  format.html { redirect_to @produce, notice: t('controller.successfully_updated', model: t('activerecord.models.produce')) }
87
87
  format.json { head :no_content }
88
88
  else
@@ -62,7 +62,7 @@ class RealizeTypesController < ApplicationController
62
62
  end
63
63
 
64
64
  respond_to do |format|
65
- if @realize_type.update_attributes(realize_type_params)
65
+ if @realize_type.update(realize_type_params)
66
66
  format.html { redirect_to @realize_type, notice: t('controller.successfully_updated', model: t('activerecord.models.realize_type')) }
67
67
  format.json { head :no_content }
68
68
  else
@@ -78,7 +78,7 @@ class RealizesController < ApplicationController
78
78
  end
79
79
 
80
80
  respond_to do |format|
81
- if @realize.update_attributes(realize_params)
81
+ if @realize.update(realize_params)
82
82
  format.html { redirect_to @realize, notice: t('controller.successfully_updated', model: t('activerecord.models.realize')) }
83
83
  format.json { head :no_content }
84
84
  else
@@ -76,7 +76,7 @@ class ResourceExportFilesController < ApplicationController
76
76
  # PUT /resource_export_files/1.json
77
77
  def update
78
78
  respond_to do |format|
79
- if @resource_export_file.update_attributes(resource_export_file_params)
79
+ if @resource_export_file.update(resource_export_file_params)
80
80
  if @resource_export_file.mode == 'export'
81
81
  ResourceExportFileJob.perform_later(@resource_export_file)
82
82
  end
@@ -78,7 +78,7 @@ class ResourceImportFilesController < ApplicationController
78
78
  # PUT /resource_import_files/1.json
79
79
  def update
80
80
  respond_to do |format|
81
- if @resource_import_file.update_attributes(resource_import_file_params)
81
+ if @resource_import_file.update(resource_import_file_params)
82
82
  if @resource_import_file.mode == 'import'
83
83
  ResourceImportFileJob.perform_later(@resource_import_file)
84
84
  end
@@ -58,7 +58,7 @@ class SeriesStatementMergeListsController < ApplicationController
58
58
  # PUT /series_statement_merge_lists/1.json
59
59
  def update
60
60
  respond_to do |format|
61
- if @series_statement_merge_list.update_attributes(series_statement_merge_list_params)
61
+ if @series_statement_merge_list.update(series_statement_merge_list_params)
62
62
  if params[:mode] == 'merge'
63
63
  selected_series_statement = SeriesStatement.find(params[:selected_series_statement_id]) rescue nil
64
64
  if selected_series_statement
@@ -67,7 +67,7 @@ class SeriesStatementMergesController < ApplicationController
67
67
  # PUT /series_statement_merges/1.json
68
68
  def update
69
69
  respond_to do |format|
70
- if @series_statement_merge.update_attributes(series_statement_merge_params)
70
+ if @series_statement_merge.update(series_statement_merge_params)
71
71
  flash[:notice] = t('controller.successfully_updated', model: t('activerecord.models.series_statement_merge'))
72
72
  format.html { redirect_to(@series_statement_merge) }
73
73
  format.json { head :no_content }
@@ -11,7 +11,7 @@ class SeriesStatementsController < ApplicationController
11
11
  query = params[:query].to_s.strip
12
12
  page = params[:page] || 1
13
13
 
14
- unless query.blank?
14
+ if query.present?
15
15
  @query = query.dup
16
16
  query = query.gsub(' ', ' ')
17
17
  end
@@ -92,7 +92,7 @@ class SeriesStatementsController < ApplicationController
92
92
  end
93
93
 
94
94
  respond_to do |format|
95
- if @series_statement.update_attributes(series_statement_params)
95
+ if @series_statement.update(series_statement_params)
96
96
  format.html { redirect_to @series_statement, notice: t('controller.successfully_updated', model: t('activerecord.models.series_statement')) }
97
97
  format.json { head :no_content }
98
98
  else
@@ -1,5 +1,5 @@
1
1
  module EnjuBiblio
2
- module BiblioHelper
2
+ module ApplicationHelper
3
3
  def form_icon(carrier_type)
4
4
  image_tag(carrier_type_path(carrier_type, format: :download), size: '16x16', class: 'enju_icon', alt: carrier_type.display_name.localize)
5
5
  rescue NoMethodError
@@ -24,11 +24,11 @@ class Agent < ActiveRecord::Base
24
24
  has_many :agent_merges, dependent: :destroy
25
25
  has_many :agent_merge_lists, through: :agent_merges
26
26
  belongs_to :agent_type
27
- belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id', validate: true
27
+ belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id'
28
28
  belongs_to :language
29
29
  belongs_to :country
30
30
  has_one :agent_import_result
31
- belongs_to :profile
31
+ belongs_to :profile, optional: true
32
32
 
33
33
  validates_presence_of :language, :agent_type, :country
34
34
  validates_associated :language, :agent_type, :country
@@ -27,10 +27,10 @@ class AgentImportFile < ActiveRecord::Base
27
27
  'application/vnd.ms-excel'
28
28
  ]
29
29
  validates_attachment_presence :agent_import
30
- belongs_to :user, validate: true
31
- has_many :agent_import_results
30
+ belongs_to :user
31
+ has_many :agent_import_results, dependent: :destroy
32
32
 
33
- has_many :agent_import_file_transitions, autosave: false
33
+ has_many :agent_import_file_transitions, autosave: false, dependent: :destroy
34
34
 
35
35
  attr_accessor :mode
36
36
 
@@ -4,7 +4,7 @@ class AgentImportResult < ActiveRecord::Base
4
4
  scope :failed, -> { where(agent_id: nil) }
5
5
 
6
6
  belongs_to :agent_import_file
7
- belongs_to :agent
7
+ belongs_to :agent, optional: true
8
8
 
9
9
  validates_presence_of :agent_import_file_id
10
10
  end
@@ -1,6 +1,6 @@
1
1
  class AgentMerge < ActiveRecord::Base
2
- belongs_to :agent, validate: true
3
- belongs_to :agent_merge_list, validate: true
2
+ belongs_to :agent
3
+ belongs_to :agent_merge_list
4
4
  validates_presence_of :agent, :agent_merge_list
5
5
  validates_associated :agent, :agent_merge_list
6
6
 
@@ -1,7 +1,7 @@
1
1
  class AgentRelationship < ActiveRecord::Base
2
2
  belongs_to :parent, foreign_key: 'parent_id', class_name: 'Agent'
3
3
  belongs_to :child, foreign_key: 'child_id', class_name: 'Agent'
4
- belongs_to :agent_relationship_type
4
+ belongs_to :agent_relationship_type, optional: true
5
5
  validate :check_parent
6
6
  validates_presence_of :parent_id, :child_id
7
7
  acts_as_list scope: :parent_id
@@ -1,7 +1,7 @@
1
1
  class Create < ActiveRecord::Base
2
2
  belongs_to :agent
3
3
  belongs_to :work, class_name: 'Manifestation', foreign_key: 'work_id', touch: true
4
- belongs_to :create_type
4
+ belongs_to :create_type, optional: true
5
5
 
6
6
  validates_associated :agent, :work
7
7
  validates_presence_of :agent_id, :work_id
@@ -1,7 +1,6 @@
1
1
  class Identifier < ActiveRecord::Base
2
- #attr_accessible :body, :identifier_type_id, :manifestation_id, :primary, :position
3
2
  belongs_to :identifier_type
4
- belongs_to :manifestation, touch: true
3
+ belongs_to :manifestation, touch: true, optional: true
5
4
 
6
5
  validates_presence_of :body
7
6
  validates_uniqueness_of :body, scope: [:identifier_type_id, :manifestation_id]
@@ -1,7 +1,7 @@
1
1
  class ImportRequest < ActiveRecord::Base
2
2
  include Statesman::Adapters::ActiveRecordQueries
3
3
  default_scope { order('import_requests.id DESC') }
4
- belongs_to :manifestation
4
+ belongs_to :manifestation, optional: true
5
5
  belongs_to :user
6
6
  validates_presence_of :isbn
7
7
  validate :check_isbn
@@ -13,9 +13,9 @@ class Item < ActiveRecord::Base
13
13
  has_many :donors, through: :donates, source: :agent
14
14
  has_one :resource_import_result
15
15
  belongs_to :manifestation, touch: true
16
- belongs_to :bookstore, validate: true
17
- belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id', validate: true
18
- belongs_to :budget_type
16
+ belongs_to :bookstore, optional: true
17
+ belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id'
18
+ belongs_to :budget_type, optional: true
19
19
 
20
20
  validates_associated :bookstore
21
21
  validates :manifestation_id, presence: true
@@ -22,7 +22,7 @@ class Manifestation < ActiveRecord::Base
22
22
  belongs_to :manifestation_content_type, class_name: 'ContentType', foreign_key: 'content_type_id'
23
23
  has_many :series_statements
24
24
  belongs_to :frequency
25
- belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id', validate: true
25
+ belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id'
26
26
  has_one :resource_import_result
27
27
  has_many :identifiers, dependent: :destroy
28
28
  accepts_nested_attributes_for :creators, allow_destroy: true, reject_if: :all_blank
@@ -393,15 +393,15 @@ class Manifestation < ActiveRecord::Base
393
393
  end
394
394
 
395
395
  def created(agent)
396
- creates.where(agent_id: agent.id).first
396
+ creates.find_by(agent_id: agent.id)
397
397
  end
398
398
 
399
399
  def realized(agent)
400
- realizes.where(agent_id: agent.id).first
400
+ realizes.find_by(agent_id: agent.id)
401
401
  end
402
402
 
403
403
  def produced(agent)
404
- produces.where(agent_id: agent.id).first
404
+ produces.find_by(agent_id: agent.id)
405
405
  end
406
406
 
407
407
  def sort_title
@@ -421,9 +421,9 @@ class Manifestation < ActiveRecord::Base
421
421
  end
422
422
 
423
423
  def self.find_by_isbn(isbn)
424
- identifier_type = IdentifierType.where(name: 'isbn').first
424
+ identifier_type = IdentifierType.find_by(name: 'isbn')
425
425
  return nil unless identifier_type
426
- Manifestation.includes(identifiers: :identifier_type).where(:"identifiers.body" => isbn, :"identifier_types.name" => 'isbn')
426
+ Manifestation.includes(identifiers: :identifier_type).where("identifiers.body": isbn, "identifier_types.name": 'isbn')
427
427
  end
428
428
 
429
429
  def index_series_statement
@@ -440,33 +440,33 @@ class Manifestation < ActiveRecord::Base
440
440
  end
441
441
 
442
442
  def web_item
443
- items.where(shelf_id: Shelf.web.id).first
443
+ items.find_by(shelf_id: Shelf.web.id)
444
444
  end
445
445
 
446
446
  def set_agent_role_type(agent_lists, options = {scope: :creator})
447
447
  agent_lists.each do |agent_list|
448
448
  name_and_role = agent_list[:full_name].split('||')
449
449
  if agent_list[:agent_identifier].present?
450
- agent = Agent.where(agent_identifier: agent_list[:agent_identifier]).first
450
+ agent = Agent.find_by(agent_identifier: agent_list[:agent_identifier])
451
451
  end
452
- agent = Agent.where(full_name: name_and_role[0]).first unless agent
452
+ agent = Agent.find_by(full_name: name_and_role[0]) unless agent
453
453
  next unless agent
454
454
  type = name_and_role[1].to_s.strip
455
455
 
456
456
  case options[:scope]
457
457
  when :creator
458
458
  type = 'author' if type.blank?
459
- role_type = CreateType.where(name: type).first
460
- create = Create.where(work_id: id, agent_id: agent.id).first
459
+ role_type = CreateType.find_by(name: type)
460
+ create = Create.find_by(work_id: id, agent_id: agent.id)
461
461
  if create
462
462
  create.create_type = role_type
463
463
  create.save(validate: false)
464
464
  end
465
465
  when :publisher
466
466
  type = 'publisher' if role_type.blank?
467
- produce = Produce.where(manifestation_id: id, agent_id: agent.id).first
467
+ produce = Produce.find_by(manifestation_id: id, agent_id: agent.id)
468
468
  if produce
469
- produce.produce_type = ProduceType.where(name: type).first
469
+ produce.produce_type = ProduceType.find_by(name: type)
470
470
  produce.save(validate: false)
471
471
  end
472
472
  else
@@ -515,7 +515,7 @@ class Manifestation < ActiveRecord::Base
515
515
  if Rails::VERSION::MAJOR > 3
516
516
  identifiers.id_type(name).order(:position).pluck(:body)
517
517
  else
518
- identifier_type = IdentifierType.where(name: name).first
518
+ identifier_type = IdentifierType.find_by(name: name)
519
519
  if identifier_type
520
520
  identifiers.where(identifier_type_id: identifier_type.id).order(:position).pluck(:body)
521
521
  else
@@ -583,6 +583,7 @@ class Manifestation < ActiveRecord::Base
583
583
  end
584
584
  header += %w(
585
585
  circulation_status
586
+ use_restriction
586
587
  shelf
587
588
  library
588
589
  item_created_at
@@ -636,8 +637,9 @@ class Manifestation < ActiveRecord::Base
636
637
  item_lines << serial_number
637
638
 
638
639
  IdentifierType.order(:position).pluck(:name).each do |identifier_type|
639
- if identifier_contents(identifier_type.to_sym).first
640
- item_lines << identifier_contents(identifier_type.to_sym).first
640
+ identifier_list = identifier_contents(identifier_type.to_sym)
641
+ if identifier_list
642
+ item_lines << identifier_list.join("//")
641
643
  else
642
644
  item_lines << nil
643
645
  end
@@ -673,9 +675,10 @@ class Manifestation < ActiveRecord::Base
673
675
  when :Administrator, :Librarian
674
676
  item_lines << i.bookstore.try(:name)
675
677
  item_lines << i.budget_type.try(:name)
676
- item_lines << Checkout.where(:item_id => i.id).size
678
+ item_lines << Checkout.where(item_id: i.id).size
677
679
  end
678
680
  item_lines << i.circulation_status.try(:name)
681
+ item_lines << i.use_restriction.try(:name)
679
682
  item_lines << i.shelf.name
680
683
  item_lines << i.shelf.library.name
681
684
  item_lines << i.created_at
@@ -723,8 +726,9 @@ class Manifestation < ActiveRecord::Base
723
726
  line << serial_number
724
727
 
725
728
  IdentifierType.order(:position).pluck(:name).each do |identifier_type|
726
- if identifier_contents(identifier_type.to_sym).first
727
- line << identifier_contents(identifier_type.to_sym).first
729
+ identifier_list = identifier_contents(identifier_type.to_sym)
730
+ if identifier_list
731
+ line << identifier_list.join("//")
728
732
  else
729
733
  line << nil
730
734
  end
@@ -766,7 +770,7 @@ class Manifestation < ActiveRecord::Base
766
770
  end
767
771
 
768
772
  def root_series_statement
769
- series_statements.where(root_manifestation_id: id).first
773
+ series_statements.find_by(root_manifestation_id: id)
770
774
  end
771
775
 
772
776
  def isbn_characters
@@ -1,7 +1,7 @@
1
1
  class ManifestationRelationship < ActiveRecord::Base
2
2
  belongs_to :parent, foreign_key: 'parent_id', class_name: 'Manifestation'
3
3
  belongs_to :child, foreign_key: 'child_id', class_name: 'Manifestation'
4
- belongs_to :manifestation_relationship_type
4
+ belongs_to :manifestation_relationship_type, optional: true
5
5
  validate :check_parent
6
6
  validates_presence_of :parent_id, :child_id
7
7
  acts_as_list scope: :parent_id
@@ -1,6 +1,6 @@
1
1
  class PictureFile < ActiveRecord::Base
2
2
  scope :attached, -> { where('picture_attachable_id IS NOT NULL') }
3
- belongs_to :picture_attachable, polymorphic: true, validate: true
3
+ belongs_to :picture_attachable, polymorphic: true
4
4
  before_save :extract_dimensions
5
5
 
6
6
  if ENV['ENJU_STORAGE'] == 's3'
@@ -1,7 +1,7 @@
1
1
  class Produce < ActiveRecord::Base
2
2
  belongs_to :agent
3
3
  belongs_to :manifestation, touch: true
4
- belongs_to :produce_type
4
+ belongs_to :produce_type, optional: true
5
5
  delegate :original_title, to: :manifestation, prefix: true
6
6
 
7
7
  validates_associated :agent, :manifestation
@@ -1,7 +1,7 @@
1
1
  class Realize < ActiveRecord::Base
2
2
  belongs_to :agent
3
3
  belongs_to :expression, class_name: 'Manifestation', foreign_key: 'expression_id', touch: true
4
- belongs_to :realize_type
4
+ belongs_to :realize_type, optional: true
5
5
 
6
6
  validates_associated :agent, :expression
7
7
  validates_presence_of :agent, :expression
@@ -18,7 +18,7 @@ class ResourceExportFile < ActiveRecord::Base
18
18
  end
19
19
  validates_attachment_content_type :resource_export, content_type: /\Atext\/plain\Z/
20
20
 
21
- has_many :resource_export_file_transitions, autosave: false
21
+ has_many :resource_export_file_transitions, autosave: false, dependent: :destroy
22
22
 
23
23
  def state_machine
24
24
  ResourceExportFileStateMachine.new(self, transition_class: ResourceExportFileTransition)
@@ -29,10 +29,10 @@ class ResourceImportFile < ActiveRecord::Base
29
29
  validates_attachment_presence :resource_import
30
30
  validates :resource_import, presence: true, on: :create
31
31
  validates :default_shelf_id, presence: true, if: Proc.new{|model| model.edit_mode == 'create'}
32
- belongs_to :user, validate: true
33
- belongs_to :default_shelf, class_name: 'Shelf'
34
- has_many :resource_import_results
35
- has_many :resource_import_file_transitions, autosave: false
32
+ belongs_to :user
33
+ belongs_to :default_shelf, class_name: 'Shelf', optional: true
34
+ has_many :resource_import_results, dependent: :destroy
35
+ has_many :resource_import_file_transitions, autosave: false, dependent: :destroy
36
36
 
37
37
  attr_accessor :mode, :library_id
38
38
 
@@ -87,7 +87,7 @@ class ResourceImportFile < ActiveRecord::Base
87
87
  end
88
88
 
89
89
  item_identifier = row['item_identifier'].to_s.strip
90
- item = Item.where(item_identifier: item_identifier).first
90
+ item = Item.find_by(item_identifier: item_identifier)
91
91
  if item
92
92
  import_result.item = item
93
93
  import_result.manifestation = item.manifestation
@@ -98,39 +98,39 @@ class ResourceImportFile < ActiveRecord::Base
98
98
  end
99
99
 
100
100
  if row['manifestation_identifier'].present?
101
- manifestation = Manifestation.where(manifestation_identifier: row['manifestation_identifier'].to_s.strip).first
101
+ manifestation = Manifestation.find_by(manifestation_identifier: row['manifestation_identifier'].to_s.strip)
102
102
  end
103
103
 
104
104
  unless manifestation
105
105
  if row['manifestation_id'].present?
106
- manifestation = Manifestation.where(id: row['manifestation_id'].to_s.strip).first
106
+ manifestation = Manifestation.find_by(id: row['manifestation_id'].to_s.strip)
107
107
  end
108
108
  end
109
109
 
110
110
  unless manifestation
111
111
  if row['doi'].present?
112
112
  doi = URI.parse(row['doi']).path.gsub(/^\//, "")
113
- identifier_type_doi = IdentifierType.where(name: 'doi').first
114
- identifier_type_doi = IdentifierType.where(name: 'doi').create! unless identifier_type_doi
115
- manifestation = Identifier.where(body: doi, identifier_type_id: identifier_type_doi.id).first.try(:manifestation)
113
+ identifier_type_doi = IdentifierType.find_by(name: 'doi')
114
+ identifier_type_doi = IdentifierType.create!(name: 'doi') unless identifier_type_doi
115
+ manifestation = Identifier.find_by(body: doi, identifier_type_id: identifier_type_doi.id).try(:manifestation)
116
116
  end
117
117
  end
118
118
 
119
119
  unless manifestation
120
120
  if row['jpno'].present?
121
121
  jpno = row['jpno'].to_s.strip
122
- identifier_type_jpno = IdentifierType.where(name: 'jpno').first
123
- identifier_type_jpno = IdentifierType.where(name: 'jpno').create! unless identifier_type_jpno
124
- manifestation = Identifier.where(body: jpno, identifier_type_id: identifier_type_jpno.id).first.try(:manifestation)
122
+ identifier_type_jpno = IdentifierType.find_by(name: 'jpno')
123
+ identifier_type_jpno = IdentifierType.create!(name: 'jpno') unless identifier_type_jpno
124
+ manifestation = Identifier.find_by(body: jpno, identifier_type_id: identifier_type_jpno.id).try(:manifestation)
125
125
  end
126
126
  end
127
127
 
128
128
  unless manifestation
129
129
  if row['ncid'].present?
130
130
  ncid = row['ncid'].to_s.strip
131
- identifier_type_ncid = IdentifierType.where(name: 'ncid').first
131
+ identifier_type_ncid = IdentifierType.find_by(name: 'ncid')
132
132
  identifier_type_ncid = IdentifierType.where(name: 'ncid').create! unless identifier_type_ncid
133
- manifestation = Identifier.where(body: ncid, identifier_type_id: identifier_type_ncid.id).first.try(:manifestation)
133
+ manifestation = Identifier.find_by(body: ncid, identifier_type_id: identifier_type_ncid.id).try(:manifestation)
134
134
  end
135
135
  end
136
136
 
@@ -138,9 +138,9 @@ class ResourceImportFile < ActiveRecord::Base
138
138
  if row['isbn'].present?
139
139
  if StdNum::ISBN.valid?(row['isbn'])
140
140
  isbn = StdNum::ISBN.normalize(row['isbn'])
141
- identifier_type_isbn = IdentifierType.where(name: 'isbn').first
141
+ identifier_type_isbn = IdentifierType.find_by(name: 'isbn')
142
142
  identifier_type_isbn = IdentifierType.where(name: 'isbn').create! unless identifier_type_isbn
143
- m = Identifier.where(body: isbn, identifier_type_id: identifier_type_isbn.id).first.try(:manifestation)
143
+ m = Identifier.find_by(body: isbn, identifier_type_id: identifier_type_isbn.id).try(:manifestation)
144
144
  if m
145
145
  if m.series_statements.exists?
146
146
  manifestation = m
@@ -172,6 +172,12 @@ class ResourceImportFile < ActiveRecord::Base
172
172
  import_result.error_message = "line #{row_num}: #{I18n.t('import.isbn_record_not_found')}"
173
173
  end
174
174
  end
175
+ if manifestation.nil? and row['ndl_bib_id']
176
+ manifestation = Manifestation.import_ndl_bib_id(row['ndl_bib_id'])
177
+ if manifestation
178
+ num[:manifestation_imported] += 1
179
+ end
180
+ end
175
181
  end
176
182
 
177
183
  unless manifestation
@@ -181,12 +187,12 @@ class ResourceImportFile < ActiveRecord::Base
181
187
  import_result.manifestation = manifestation
182
188
 
183
189
  if manifestation
184
- if item_identifier.present? or row['shelf'].present? or row['call_number'].present?
190
+ if item_identifier.present? || row['shelf'].present? || row['call_number'].present?
185
191
  import_result.item = create_item(row, manifestation)
186
192
  else
187
193
  if manifestation.fulltext_content?
188
194
  item = create_item(row, manifestation)
189
- item.circulation_status = CirculationStatus.where(name: 'Available On Shelf').first
195
+ item.circulation_status = CirculationStatus.find_by(name: 'Available On Shelf')
190
196
  begin
191
197
  item.acquired_at = Time.zone.parse(row['acquired_at'].to_s.strip)
192
198
  rescue ArgumentError
@@ -238,7 +244,7 @@ class ResourceImportFile < ActiveRecord::Base
238
244
  manifestation = expression
239
245
  manifestation.during_import = true
240
246
  manifestation.reload
241
- manifestation.update_attributes!(options)
247
+ manifestation.update!(options)
242
248
  manifestation.publishers = agents.uniq unless agents.empty?
243
249
  manifestation.reload
244
250
  manifestation
@@ -269,7 +275,7 @@ class ResourceImportFile < ActiveRecord::Base
269
275
  manifestation.save
270
276
 
271
277
  full_name = record['700']['a']
272
- publisher = Agent.where(full_name: record['700']['a']).first
278
+ publisher = Agent.find_by(full_name: record['700']['a'])
273
279
  unless publisher
274
280
  publisher = Agent.new(full_name: full_name)
275
281
  publisher.save
@@ -303,17 +309,17 @@ class ResourceImportFile < ActiveRecord::Base
303
309
  row_num += 1
304
310
  import_result = ResourceImportResult.create!(resource_import_file_id: id, body: row.fields.join("\t"))
305
311
  item_identifier = row['item_identifier'].to_s.strip
306
- item = Item.where(item_identifier: item_identifier).first if item_identifier.present?
312
+ item = Item.find_by(item_identifier: item_identifier) if item_identifier.present?
307
313
  if item
308
314
  if item.manifestation
309
315
  fetch(row, edit_mode: 'update')
310
316
  end
311
- shelf = Shelf.where(name: row['shelf'].to_s.strip).first
312
- circulation_status = CirculationStatus.where(name: row['circulation_status']).first
313
- checkout_type = CheckoutType.where(name: row['checkout_type']).first
314
- bookstore = Bookstore.where(name: row['bookstore']).first
315
- required_role = Role.where(name: row['required_role']).first
316
- use_restriction = UseRestriction.where(name: row['use_restriction'].to_s.strip).first
317
+ shelf = Shelf.find_by(name: row['shelf'].to_s.strip)
318
+ circulation_status = CirculationStatus.find_by(name: row['circulation_status'])
319
+ checkout_type = CheckoutType.find_by(name: row['checkout_type'])
320
+ bookstore = Bookstore.find_by(name: row['bookstore'])
321
+ required_role = Role.find_by(name: row['required_role'])
322
+ use_restriction = UseRestriction.find_by(name: row['use_restriction'].to_s.strip)
317
323
 
318
324
  item.shelf = shelf if shelf
319
325
  item.circulation_status = circulation_status if circulation_status
@@ -348,13 +354,14 @@ class ResourceImportFile < ActiveRecord::Base
348
354
  item.include_supplements = false if item.include_supplements
349
355
  end
350
356
  end
357
+ item.manifestation.reload
351
358
  item.save!
352
359
  import_result.item = item
353
360
  else
354
361
  manifestation_identifier = row['manifestation_identifier'].to_s.strip
355
- manifestation = Manifestation.where(manifestation_identifier: manifestation_identifier).first if manifestation_identifier.present?
362
+ manifestation = Manifestation.find_by(manifestation_identifier: manifestation_identifier) if manifestation_identifier.present?
356
363
  unless manifestation
357
- manifestation = Manifestation.where(id: row['manifestation_id']).first
364
+ manifestation = Manifestation.find_by(id: row['manifestation_id'])
358
365
  end
359
366
  if manifestation
360
367
  fetch(row, edit_mode: 'update')
@@ -380,7 +387,7 @@ class ResourceImportFile < ActiveRecord::Base
380
387
  rows.each do |row|
381
388
  row_num += 1
382
389
  item_identifier = row['item_identifier'].to_s.strip
383
- item = Item.where(item_identifier: item_identifier).first
390
+ item = Item.find_by(item_identifier: item_identifier)
384
391
  if item
385
392
  item.destroy if item.removable?
386
393
  end
@@ -401,15 +408,15 @@ class ResourceImportFile < ActiveRecord::Base
401
408
 
402
409
  rows.each do |row|
403
410
  item_identifier = row['item_identifier'].to_s.strip
404
- item = Item.where(item_identifier: item_identifier).first
411
+ item = Item.find_by(item_identifier: item_identifier)
405
412
  unless item
406
- item = Item.where(id: row['item_id'].to_s.strip).first
413
+ item = Item.find_by(id: row['item_id'].to_s.strip)
407
414
  end
408
415
 
409
416
  manifestation_identifier = row['manifestation_identifier'].to_s.strip
410
- manifestation = Manifestation.where(manifestation_identifier: manifestation_identifier).first
417
+ manifestation = Manifestation.find_by(manifestation_identifier: manifestation_identifier)
411
418
  unless manifestation
412
- manifestation = Manifestation.where(id: row['manifestation_id'].to_s.strip).first
419
+ manifestation = Manifestation.find_by(id: row['manifestation_id'].to_s.strip)
413
420
  end
414
421
 
415
422
  if item && manifestation
@@ -445,6 +452,7 @@ class ResourceImportFile < ActiveRecord::Base
445
452
  language fulltext_content required_role doi content_type frequency
446
453
  extent start_page end_page dimensions
447
454
  ncid
455
+ ndl_bib_id
448
456
  statement_of_responsibility acquired_at call_number circulation_status
449
457
  binding_item_identifier binding_call_number binded_at item_price
450
458
  use_restriction include_supplements item_note item_url
@@ -473,12 +481,12 @@ class ResourceImportFile < ActiveRecord::Base
473
481
  type = column_name.split(':').last
474
482
  subject_list = row[column_name].to_s.split('//')
475
483
  subject_list.map{|value|
476
- subject_heading_type = SubjectHeadingType.where(name: type).first
484
+ subject_heading_type = SubjectHeadingType.find_by(name: type)
477
485
  next unless subject_heading_type
478
486
  subject = Subject.new(term: value)
479
487
  subject.subject_heading_type = subject_heading_type
480
488
  # TODO: Subject typeの設定
481
- subject.subject_type = SubjectType.where(name: 'concept').first
489
+ subject.subject_type = SubjectType.find_by(name: 'concept')
482
490
  subject.save!
483
491
  subjects << subject
484
492
  }
@@ -492,7 +500,7 @@ class ResourceImportFile < ActiveRecord::Base
492
500
  type = column_name.split(':').last
493
501
  classification_list = row[column_name].to_s.split('//')
494
502
  classification_list.map{|value|
495
- classification_type = ClassificationType.where(name: type).first
503
+ classification_type = ClassificationType.find_by(name: type)
496
504
  next unless classification_type
497
505
  classification = Classification.new(category: value)
498
506
  classification.classification_type = classification_type
@@ -504,12 +512,12 @@ class ResourceImportFile < ActiveRecord::Base
504
512
  end
505
513
 
506
514
  def create_item(row, manifestation)
507
- shelf = Shelf.where(name: row['shelf'].to_s.strip).first
515
+ shelf = Shelf.find_by(name: row['shelf'].to_s.strip)
508
516
  unless shelf
509
517
  shelf = default_shelf || Shelf.web
510
518
  end
511
- bookstore = Bookstore.where(name: row['bookstore'].to_s.strip).first
512
- budget_type = BudgetType.where(name: row['budget_type'].to_s.strip).first
519
+ bookstore = Bookstore.find_by(name: row['bookstore'].to_s.strip)
520
+ budget_type = BudgetType.find_by(name: row['budget_type'].to_s.strip)
513
521
  acquired_at = Time.zone.parse(row['acquired_at']) rescue nil
514
522
  binded_at = Time.zone.parse(row['binded_at']) rescue nil
515
523
  item = Item.new(
@@ -526,11 +534,11 @@ class ResourceImportFile < ActiveRecord::Base
526
534
  )
527
535
  manifestation.items << item
528
536
  if defined?(EnjuCirculation)
529
- circulation_status = CirculationStatus.where(name: row['circulation_status'].to_s.strip).first || CirculationStatus.where(name: 'In Process').first
537
+ circulation_status = CirculationStatus.find_by(name: row['circulation_status'].to_s.strip) || CirculationStatus.find_by(name: 'In Process')
530
538
  item.circulation_status = circulation_status
531
- use_restriction = UseRestriction.where(name: row['use_restriction'].to_s.strip).first
539
+ use_restriction = UseRestriction.find_by(name: row['use_restriction'].to_s.strip)
532
540
  unless use_restriction
533
- use_restriction = UseRestriction.where(name: 'Not For Loan').first
541
+ use_restriction = UseRestriction.find_by(name: 'Not For Loan')
534
542
  end
535
543
  item.use_restriction = use_restriction
536
544
  end
@@ -551,11 +559,11 @@ class ResourceImportFile < ActiveRecord::Base
551
559
  when 'create'
552
560
  manifestation = nil
553
561
  when 'update'
554
- manifestation = Item.where(item_identifier: row['item_identifier'].to_s.strip).first.try(:manifestation)
562
+ manifestation = Item.find_by(item_identifier: row['item_identifier'].to_s.strip).try(:manifestation)
555
563
  unless manifestation
556
564
  manifestation_identifier = row['manifestation_identifier'].to_s.strip
557
- manifestation = Manifestation.where(manifestation_identifier: manifestation_identifier).first if manifestation_identifier
558
- manifestation = Manifestation.where(id: row['manifestation_id']).first unless manifestation
565
+ manifestation = Manifestation.find_by(manifestation_identifier: manifestation_identifier) if manifestation_identifier
566
+ manifestation = Manifestation.find_by(id: row['manifestation_id']) unless manifestation
559
567
  end
560
568
  end
561
569
 
@@ -625,33 +633,33 @@ class ResourceImportFile < ActiveRecord::Base
625
633
  end
626
634
 
627
635
  attributes = {
628
- :original_title => title[:original_title],
629
- :title_transcription => title[:title_transcription],
630
- :title_alternative => title[:title_alternative],
631
- :title_alternative_transcription => title[:title_alternative_transcription],
632
- :pub_date => row['pub_date'],
633
- :volume_number => row['volume_number'],
634
- :volume_number_string => row['volume_number_string'],
635
- :issue_number => row['issue_number'],
636
- :issue_number_string => row['issue_number_string'],
637
- :serial_number => row['serial_number'],
638
- :edition => row['edition'],
639
- :edition_string => row['edition_string'],
640
- :width => row['width'],
641
- :depth => row['depth'],
642
- :height => row['height'],
643
- :price => row['manifestation_price'],
644
- :description => row['description'].try(:gsub, /\\n/, "\n"),
636
+ original_title: title[:original_title],
637
+ title_transcription: title[:title_transcription],
638
+ title_alternative: title[:title_alternative],
639
+ title_alternative_transcription: title[:title_alternative_transcription],
640
+ pub_date: row['pub_date'],
641
+ volume_number: row['volume_number'],
642
+ volume_number_string: row['volume_number_string'],
643
+ issue_number: row['issue_number'],
644
+ issue_number_string: row['issue_number_string'],
645
+ serial_number: row['serial_number'],
646
+ edition: row['edition'],
647
+ edition_string: row['edition_string'],
648
+ width: row['width'],
649
+ depth: row['depth'],
650
+ height: row['height'],
651
+ price: row['manifestation_price'],
652
+ description: row['description'].try(:gsub, /\\n/, "\n"),
645
653
  #:description_transcription => row['description_transcription'],
646
- :note => row['note'].try(:gsub, /\\n/, "\n"),
647
- :statement_of_responsibility => row['statement_of_responsibility'],
648
- :access_address => row['access_address'],
649
- :manifestation_identifier => row['manifestation_identifier'],
650
- :publication_place => row['publication_place'],
651
- :extent => row['extent'],
652
- :dimensions => row['dimensions'],
653
- :start_page => row['start_page'],
654
- :end_page => row['end_page'],
654
+ note: row['note'].try(:gsub, /\\n/, "\n"),
655
+ statement_of_responsibility: row['statement_of_responsibility'],
656
+ access_address: row['access_address'],
657
+ manifestation_identifier: row['manifestation_identifier'],
658
+ publication_place: row['publication_place'],
659
+ extent: row['extent'],
660
+ dimensions: row['dimensions'],
661
+ start_page: row['start_page'],
662
+ end_page: row['end_page'],
655
663
  }.delete_if{|_key, value| value.nil?}
656
664
 
657
665
  manifestation = self.class.import_manifestation(expression, publisher_agents, attributes,
@@ -659,17 +667,17 @@ class ResourceImportFile < ActiveRecord::Base
659
667
  edit_mode: options[:edit_mode]
660
668
  })
661
669
 
662
- required_role = Role.where(name: row['required_role_name'].to_s.strip.camelize).first
670
+ required_role = Role.find_by(name: row['required_role_name'].to_s.strip.camelize)
663
671
  if required_role && row['required_role_name'].present?
664
672
  manifestation.required_role = required_role
665
673
  else
666
- manifestation.required_role = Role.where(name: 'Guest').first unless manifestation.required_role
674
+ manifestation.required_role = Role.find_by(name: 'Guest') unless manifestation.required_role
667
675
  end
668
676
 
669
677
  if language && row['language'].present?
670
678
  manifestation.language = language
671
679
  else
672
- manifestation.language = Language.where(name: 'unknown').first unless manifestation.language
680
+ manifestation.language = Language.find_by(name: 'unknown') unless manifestation.language
673
681
  end
674
682
 
675
683
  manifestation.carrier_type = carrier_type if carrier_type
@@ -687,12 +695,12 @@ class ResourceImportFile < ActiveRecord::Base
687
695
  end
688
696
  if row['series_original_title']
689
697
  series_statement = SeriesStatement.new(
690
- :original_title => row['series_original_title'],
691
- :title_transcription => row['series_title_transcription'],
692
- :title_subseries => row['series_title_subseries'],
693
- :title_subseries_transcription => row['series_title_subseries_transcription'],
694
- :volume_number_string => row['series_volume_number_string'],
695
- :creator_string => row['series_creator_string'],
698
+ original_title: row['series_original_title'],
699
+ title_transcription: row['series_title_transcription'],
700
+ title_subseries: row['series_title_subseries'],
701
+ title_subseries_transcription: row['series_title_subseries_transcription'],
702
+ volume_number_string: row['series_volume_number_string'],
703
+ creator_string: row['series_creator_string'],
696
704
  )
697
705
  series_statement.manifestation = manifestation
698
706
  series_statement.save!
@@ -700,19 +708,19 @@ class ResourceImportFile < ActiveRecord::Base
700
708
  end
701
709
  end
702
710
 
703
- identifier = set_identifier(row)
711
+ identifiers = set_identifier(row)
704
712
 
705
713
  if manifestation.save
706
714
  Manifestation.transaction do
707
715
  if options[:edit_mode] == 'update'
708
- unless identifier.empty?
709
- identifier.map{|_k, v|
716
+ unless identifiers.empty?
717
+ identifiers.each do |v|
710
718
  v.manifestation = manifestation
711
719
  v.save!
712
- }
720
+ end
713
721
  end
714
722
  else
715
- manifestation.identifiers << identifier.map{|_k, v| v}
723
+ manifestation.identifiers << identifiers
716
724
  end
717
725
  end
718
726
 
@@ -744,17 +752,19 @@ class ResourceImportFile < ActiveRecord::Base
744
752
  end
745
753
 
746
754
  def set_identifier(row)
747
- identifier = {}
755
+ identifiers = []
748
756
  %w(isbn issn doi jpno ncid).each do |id_type|
749
757
  if row["#{id_type}"].present?
750
- import_id = Identifier.new(body: row["#{id_type}"])
751
- identifier_type = IdentifierType.where(name: id_type).first
752
- identifier_type = IdentifierType.where(name: id_type).create! unless identifier_type
753
- import_id.identifier_type = identifier_type
754
- identifier[:"#{id_type}"] = import_id if import_id.valid?
758
+ row[id_type].split(/\/\//).each do |identifier_s|
759
+ import_id = Identifier.new(body: identifier_s)
760
+ identifier_type = IdentifierType.find_by(name: id_type)
761
+ identifier_type = IdentifierType.create!(name: id_type) unless identifier_type
762
+ import_id.identifier_type = identifier_type
763
+ identifiers << import_id if import_id.valid?
764
+ end
755
765
  end
756
766
  end
757
- identifier
767
+ identifiers
758
768
  end
759
769
  end
760
770