enju_biblio 0.3.18 → 0.4.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (444) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -3
  3. data/app/controllers/agent_import_results_controller.rb +1 -1
  4. data/app/controllers/agents_controller.rb +6 -0
  5. data/app/controllers/content_types_controller.rb +1 -1
  6. data/app/controllers/items_controller.rb +12 -20
  7. data/app/controllers/manifestations_controller.rb +89 -84
  8. data/app/controllers/resource_import_results_controller.rb +3 -7
  9. data/app/controllers/series_statements_controller.rb +6 -0
  10. data/app/helpers/enju_biblio/application_helper.rb +5 -5
  11. data/app/helpers/manifestations_helper.rb +12 -12
  12. data/app/models/agent.rb +4 -13
  13. data/app/models/agent_import_file.rb +1 -1
  14. data/app/models/agent_relationship_type.rb +8 -7
  15. data/app/models/agent_type.rb +10 -7
  16. data/app/models/carrier_type.rb +14 -11
  17. data/app/models/content_type.rb +10 -7
  18. data/app/models/create_type.rb +8 -7
  19. data/app/{models2 → models}/doi_record.rb +0 -0
  20. data/app/models/form_of_work.rb +11 -8
  21. data/app/models/frequency.rb +11 -8
  22. data/app/models/identifier.rb +1 -5
  23. data/app/models/identifier_type.rb +1 -0
  24. data/app/models/import_request.rb +3 -4
  25. data/app/{models2 → models}/isbn_record.rb +1 -1
  26. data/app/{models2 → models}/isbn_record_and_manifestation.rb +0 -0
  27. data/app/{models2 → models}/issn_record.rb +1 -1
  28. data/app/{models2 → models}/issn_record_and_manifestation.rb +0 -0
  29. data/app/models/item.rb +7 -56
  30. data/app/models/language.rb +10 -9
  31. data/app/models/license.rb +9 -7
  32. data/app/models/manifestation.rb +272 -160
  33. data/app/models/manifestation_relationship_type.rb +9 -7
  34. data/app/models/medium_of_performance.rb +11 -8
  35. data/app/{models2 → models}/periodical.rb +0 -0
  36. data/app/{models2 → models}/periodical_and_manifestation.rb +0 -0
  37. data/app/models/picture_file.rb +3 -1
  38. data/app/models/produce_type.rb +8 -7
  39. data/app/models/realize_type.rb +8 -7
  40. data/app/models/resource_export_file.rb +8 -6
  41. data/app/models/resource_export_file_state_machine.rb +1 -1
  42. data/app/models/resource_import_file.rb +66 -161
  43. data/app/views/agent_import_results/index.txt.erb +3 -0
  44. data/app/views/agent_relationship_types/index.html.erb +4 -4
  45. data/app/views/agent_relationship_types/show.html.erb +1 -1
  46. data/app/views/agent_relationships/_form.html.erb +1 -1
  47. data/app/views/agent_types/index.html.erb +1 -1
  48. data/app/views/agent_types/show.html.erb +1 -1
  49. data/app/views/agents/_agent.html.erb +1 -1
  50. data/app/views/agents/_agent_list.html.erb +2 -2
  51. data/app/views/agents/_form.html.erb +4 -4
  52. data/app/views/agents/_index_agent.html.erb +1 -1
  53. data/app/views/agents/_index_agent_merge_list.html.erb +1 -1
  54. data/app/views/agents/_index_expression.html.erb +2 -2
  55. data/app/views/agents/_index_manifestation.html.erb +2 -2
  56. data/app/views/agents/_index_work.html.erb +2 -2
  57. data/app/views/agents/index.atom.builder +1 -1
  58. data/app/views/agents/index.rss.builder +3 -3
  59. data/app/views/agents/show.html+phone.erb +2 -2
  60. data/app/views/agents/show.html.erb +2 -2
  61. data/app/views/carrier_types/index.html.erb +2 -2
  62. data/app/views/carrier_types/show.html.erb +3 -3
  63. data/app/views/content_types/index.html.erb +1 -1
  64. data/app/views/content_types/show.html.erb +1 -1
  65. data/app/views/countries/index.html.erb +1 -1
  66. data/app/views/countries/show.html.erb +1 -1
  67. data/app/views/create_types/index.html.erb +1 -1
  68. data/app/views/create_types/show.html.erb +1 -1
  69. data/app/views/creates/_form.html.erb +1 -1
  70. data/app/views/form_of_works/index.html.erb +1 -1
  71. data/app/views/form_of_works/show.html.erb +1 -1
  72. data/app/views/frequencies/index.html.erb +1 -1
  73. data/app/views/frequencies/show.html.erb +1 -1
  74. data/app/views/identifier_types/index.html.erb +1 -1
  75. data/app/views/identifier_types/show.html.erb +1 -1
  76. data/app/views/items/_form.html.erb +13 -33
  77. data/app/views/items/index.html+phone.erb +3 -3
  78. data/app/views/items/index.html.erb +3 -3
  79. data/app/views/items/index.txt.erb +4 -0
  80. data/app/views/items/show.html+phone.erb +5 -5
  81. data/app/views/items/show.html.erb +119 -134
  82. data/app/views/languages/index.html.erb +1 -1
  83. data/app/views/languages/show.html.erb +1 -1
  84. data/app/views/layouts/agents.html.erb +2 -2
  85. data/app/views/layouts/items.html.erb +1 -1
  86. data/app/views/layouts/manifestations.html.erb +4 -4
  87. data/app/views/licenses/index.html.erb +1 -1
  88. data/app/views/licenses/show.html.erb +1 -1
  89. data/app/views/manifestation_relationship_types/index.html.erb +1 -1
  90. data/app/views/manifestation_relationship_types/show.html.erb +1 -1
  91. data/app/views/manifestation_relationships/_form.html.erb +1 -1
  92. data/app/views/manifestations/_book_jacket.html.erb +5 -9
  93. data/app/views/manifestations/_call_number.html.erb +3 -3
  94. data/app/views/manifestations/_carrier_type_facet.html.erb +1 -1
  95. data/app/views/manifestations/_classification_facet.html.erb +2 -2
  96. data/app/views/manifestations/_colorbox.html.erb +1 -1
  97. data/app/views/manifestations/_export_detail.html.erb +0 -1
  98. data/app/views/manifestations/_export_list.html.erb +3 -4
  99. data/app/views/manifestations/_form.html.erb +8 -31
  100. data/app/views/manifestations/_identifier_fields.html.erb +1 -1
  101. data/app/views/manifestations/_language_facet.html.erb +1 -1
  102. data/app/views/manifestations/_library_facet.html.erb +1 -1
  103. data/app/views/manifestations/_manifestation.txt.erb +1 -1
  104. data/app/views/manifestations/_pickup.html.erb +1 -1
  105. data/app/views/manifestations/_pub_year_facet.html.erb +1 -1
  106. data/app/views/manifestations/_reservable_facet.html.erb +2 -2
  107. data/app/views/manifestations/_show_creators.html.erb +1 -1
  108. data/app/views/manifestations/_show_detail_librarian.html.erb +13 -37
  109. data/app/views/manifestations/_show_detail_user.html.erb +13 -25
  110. data/app/views/manifestations/_show_holding.html+phone.erb +3 -3
  111. data/app/views/manifestations/_show_holding.html.erb +2 -2
  112. data/app/views/manifestations/_title.html.erb +1 -1
  113. data/app/views/manifestations/explain.sru +9 -0
  114. data/app/views/manifestations/index.atom.builder +1 -1
  115. data/app/views/manifestations/index.html.erb +7 -7
  116. data/app/views/manifestations/index.opds.builder +1 -1
  117. data/app/views/manifestations/index.rdf.builder +3 -3
  118. data/app/views/manifestations/index.rss.builder +3 -3
  119. data/app/views/manifestations/index.sru.builder +101 -0
  120. data/app/views/manifestations/index.txt.erb +1 -0
  121. data/app/views/manifestations/show.html.erb +1 -0
  122. data/app/views/manifestations/show.txt.erb +1 -0
  123. data/app/views/medium_of_performances/index.html.erb +1 -1
  124. data/app/views/medium_of_performances/show.html.erb +1 -1
  125. data/app/views/notifier/manifestation_info.en.text.erb +1 -1
  126. data/app/views/notifier/manifestation_info.ja.text.erb +1 -1
  127. data/app/views/picture_files/edit.html.erb +0 -4
  128. data/app/views/produce_types/index.html.erb +1 -1
  129. data/app/views/produce_types/show.html.erb +1 -1
  130. data/app/views/produces/_form.html.erb +1 -1
  131. data/app/views/realize_types/index.html.erb +1 -1
  132. data/app/views/realize_types/show.html.erb +1 -1
  133. data/app/views/realizes/_form.html.erb +1 -1
  134. data/app/views/resource_import_files/_results.html.erb +0 -6
  135. data/app/views/resource_import_files/new.html.erb +2 -2
  136. data/app/views/resource_import_results/index.html.erb +11 -0
  137. data/app/views/resource_import_results/index.txt.erb +3 -0
  138. data/app/views/series_statements/_form.html.erb +8 -6
  139. data/app/views/series_statements/show.html.erb +0 -12
  140. data/config/locales/translation_en.yml +1 -28
  141. data/config/locales/translation_ja.yml +3 -30
  142. data/config/routes.rb +0 -2
  143. data/db/migrate/20081027150907_create_picture_files.rb +2 -0
  144. data/db/migrate/20160319144230_create_issn_records.rb +11 -0
  145. data/db/migrate/20160506144040_create_isbn_records.rb +11 -0
  146. data/db/migrate/20170116134107_create_issn_record_and_manifestations.rb +11 -0
  147. data/db/migrate/20170116134120_create_isbn_record_and_manifestations.rb +11 -0
  148. data/db/migrate/20190102034126_create_doi_records.rb +13 -0
  149. data/db/migrate/20190311154610_create_periodicals.rb +10 -0
  150. data/db/migrate/20190312033839_create_periodical_and_manifestations.rb +11 -0
  151. data/db/migrate/20190712163038_add_display_name_translations_to_carrier_type.rb +21 -0
  152. data/lib/enju_biblio/openurl.rb +1 -5
  153. data/lib/enju_biblio/porta_cql.rb +282 -0
  154. data/lib/enju_biblio/sru.rb +83 -0
  155. data/lib/enju_biblio/version.rb +1 -1
  156. data/lib/enju_biblio.rb +2 -0
  157. data/lib/generators/enju_biblio/setup/setup_generator.rb +0 -2
  158. data/lib/generators/enju_biblio/setup/templates/db/fixtures/agent_relationship_types.yml +3 -3
  159. data/lib/generators/enju_biblio/setup/templates/db/fixtures/agent_types.yml +2 -4
  160. data/lib/generators/enju_biblio/setup/templates/db/fixtures/carrier_types.yml +8 -26
  161. data/lib/generators/enju_biblio/setup/templates/db/fixtures/content_types.yml +12 -24
  162. data/lib/generators/enju_biblio/setup/templates/db/fixtures/create_types.yml +4 -22
  163. data/lib/generators/enju_biblio/setup/templates/db/fixtures/form_of_works.yml +1 -1
  164. data/lib/generators/enju_biblio/setup/templates/db/fixtures/frequencies.yml +9 -18
  165. data/lib/generators/enju_biblio/setup/templates/db/fixtures/languages.yml +2 -4
  166. data/lib/generators/enju_biblio/setup/templates/db/fixtures/licenses.yml +2 -2
  167. data/lib/generators/enju_biblio/setup/templates/db/fixtures/manifestation_relationship_types.yml +2 -4
  168. data/lib/generators/enju_biblio/setup/templates/db/fixtures/medium_of_performances.yml +15 -0
  169. data/lib/generators/enju_biblio/setup/templates/db/fixtures/produce_types.yml +2 -19
  170. data/lib/generators/enju_biblio/setup/templates/db/fixtures/realize_types.yml +3 -21
  171. data/spec/cassette_library/ImportRequestsController/POST_create/When_logged_in_as_Administrator/with_isbn_which_is_already_imported/assigns_a_newly_created_import_request_as_import_request.yml +121 -0
  172. data/spec/controllers/content_types_controller_spec.rb +1 -1
  173. data/spec/controllers/items_controller_spec.rb +1 -64
  174. data/spec/controllers/manifestations_controller_spec.rb +21 -51
  175. data/spec/dummy/app/helpers/application_helper.rb +1 -1
  176. data/spec/dummy/app/models/user.rb +4 -0
  177. data/spec/dummy/bin/bundle +1 -1
  178. data/spec/dummy/bin/setup +1 -3
  179. data/spec/dummy/bin/update +4 -2
  180. data/spec/dummy/bin/yarn +3 -3
  181. data/spec/dummy/config/application.rb +1 -2
  182. data/spec/dummy/config/database.yml +70 -9
  183. data/spec/dummy/config/initializers/assets.rb +2 -2
  184. data/spec/dummy/db/development.sqlite3 +0 -0
  185. data/spec/dummy/db/migrate/002_devise_create_users.rb +1 -0
  186. data/spec/dummy/db/migrate/113_create_events.rb +2 -4
  187. data/spec/dummy/db/migrate/154_create_messages.rb +4 -8
  188. data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +3 -3
  189. data/spec/dummy/db/migrate/20081028093607_create_event_import_files.rb +2 -4
  190. data/spec/dummy/db/migrate/20090519203307_create_participates.rb +2 -4
  191. data/spec/dummy/db/migrate/20100925074639_create_event_import_results.rb +2 -2
  192. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +1 -0
  193. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +1 -1
  194. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +1 -1
  195. data/spec/dummy/db/migrate/20140523171309_create_event_import_file_transitions.rb +1 -1
  196. data/spec/dummy/db/migrate/20140524135607_create_bookmark_stat_transitions.rb +1 -1
  197. data/spec/dummy/db/migrate/20140720192418_add_default_library_id_to_event_import_file.rb +1 -1
  198. data/spec/dummy/db/migrate/20140812152348_create_event_export_files.rb +1 -1
  199. data/spec/dummy/db/migrate/20140812153137_create_event_export_file_transitions.rb +1 -1
  200. data/spec/dummy/db/migrate/20140814070854_add_default_event_category_id_to_event_import_file.rb +1 -1
  201. data/spec/dummy/db/migrate/20151128142913_create_places.rb +14 -0
  202. data/spec/dummy/db/migrate/20151201163718_add_place_id_to_event.rb +5 -0
  203. data/spec/dummy/db/migrate/20160703184258_add_most_recent_to_event_import_file_transitions.rb +9 -0
  204. data/spec/dummy/db/migrate/20160703184311_add_most_recent_to_event_export_file_transitions.rb +9 -0
  205. data/spec/dummy/db/migrate/20160813191533_add_book_jacket_source_to_library_group.rb +1 -1
  206. data/spec/dummy/db/migrate/20160813191820_add_screenshot_generator_to_library_group.rb +1 -1
  207. data/spec/dummy/db/migrate/20160815045420_add_most_recent_to_bookmark_stat_transitions.rb +9 -0
  208. data/spec/dummy/db/migrate/20170116150432_create_jpno_records.rb +10 -0
  209. data/spec/dummy/db/migrate/20171126072934_create_ndla_records.rb +10 -0
  210. data/spec/dummy/db/migrate/20180107162659_add_constraints_to_most_recent_for_message_transitions.rb +13 -0
  211. data/spec/dummy/db/migrate/20180107162711_add_constraints_to_most_recent_for_message_request_transitions.rb +13 -0
  212. data/spec/dummy/db/migrate/20180107164558_add_constraints_to_most_recent_for_event_import_file_transitions.rb +13 -0
  213. data/spec/dummy/db/migrate/20180107164617_add_constraints_to_most_recent_for_event_export_file_transitions.rb +13 -0
  214. data/spec/dummy/db/migrate/20180107172413_add_constraints_to_most_recent_for_bookmark_stat_transitions.rb +13 -0
  215. data/spec/dummy/db/migrate/20180709023035_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +36 -0
  216. data/spec/dummy/db/migrate/20180709023036_add_missing_unique_indices.acts_as_taggable_on_engine.rb +26 -0
  217. data/spec/dummy/db/migrate/20180709023037_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +20 -0
  218. data/spec/dummy/db/migrate/20180709023038_add_missing_taggable_index.acts_as_taggable_on_engine.rb +15 -0
  219. data/spec/dummy/db/migrate/20180709023039_change_collation_for_tag_names.acts_as_taggable_on_engine.rb +15 -0
  220. data/spec/dummy/db/migrate/20180709023040_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb +23 -0
  221. data/spec/dummy/db/migrate/20180709161346_add_created_at_to_tag.rb +6 -0
  222. data/spec/dummy/db/migrate/20181119170645_add_foreign_key_to_events_referencing_event_categories.rb +5 -0
  223. data/spec/dummy/db/migrate/20190501043418_create_ndl_bib_id_records.rb +10 -0
  224. data/spec/dummy/db/migrate/20190508160525_create_retains.rb +10 -0
  225. data/spec/dummy/db/migrate/20190630113817_add_display_name_translations_to_library_group.rb +12 -0
  226. data/spec/dummy/db/migrate/20190630115523_add_login_banner_translations_to_library_group.rb +6 -0
  227. data/spec/dummy/db/migrate/20190630151446_add_display_name_translations_to_role.rb +5 -0
  228. data/spec/dummy/db/migrate/20190630153136_add_display_name_translations_to_event.rb +6 -0
  229. data/spec/dummy/db/migrate/20190706052525_add_display_name_translations_to_circulation_status.rb +5 -0
  230. data/spec/dummy/db/schema.rb +335 -221
  231. data/spec/dummy/db/test.sqlite3 +0 -0
  232. data/spec/factories/create_types.rb +8 -7
  233. data/spec/factories/produce_types.rb +8 -7
  234. data/spec/factories/realize_types.rb +8 -7
  235. data/spec/factories/series_statement.rb +3 -4
  236. data/spec/fixtures/agent_relationship_types.yml +8 -7
  237. data/spec/fixtures/agent_types.yml +11 -10
  238. data/spec/fixtures/carrier_types.yml +16 -15
  239. data/spec/fixtures/content_types.yml +20 -31
  240. data/spec/fixtures/create_types.yml +12 -15
  241. data/spec/fixtures/creates.yml +0 -2
  242. data/spec/fixtures/form_of_works.yml +11 -10
  243. data/spec/fixtures/frequencies.yml +17 -25
  244. data/spec/fixtures/items.yml +11 -13
  245. data/spec/fixtures/languages.yml +11 -11
  246. data/spec/fixtures/libraries.yml +30 -30
  247. data/spec/fixtures/library_groups.yml +11 -6
  248. data/spec/fixtures/licenses.yml +8 -7
  249. data/spec/fixtures/manifestation_relationship_types.yml +12 -11
  250. data/spec/fixtures/manifestations.yml +1 -3
  251. data/spec/fixtures/medium_of_performances.yml +10 -9
  252. data/spec/fixtures/picture_files.yml +2 -0
  253. data/spec/fixtures/produce_types.yml +10 -11
  254. data/spec/fixtures/produces.yml +0 -2
  255. data/spec/fixtures/profiles.yml +8 -5
  256. data/spec/fixtures/realize_types.yml +11 -13
  257. data/spec/fixtures/realizes.yml +0 -2
  258. data/spec/fixtures/request_status_types.yml +14 -14
  259. data/spec/fixtures/request_types.yml +13 -13
  260. data/spec/fixtures/resource_export_files.yml +1 -1
  261. data/spec/fixtures/resource_import_results.yml +2 -2
  262. data/spec/fixtures/roles.yml +22 -5
  263. data/spec/fixtures/shelves.yml +16 -16
  264. data/spec/fixtures/user_groups.yml +12 -12
  265. data/spec/fixtures/user_has_roles.yml +3 -4
  266. data/spec/fixtures/users.yml +0 -3
  267. data/spec/models/agent_relationship_type_spec.rb +8 -7
  268. data/spec/models/agent_type_spec.rb +8 -7
  269. data/spec/models/carrier_type_spec.rb +12 -11
  270. data/spec/models/content_type_spec.rb +8 -7
  271. data/spec/models/create_type_spec.rb +8 -7
  272. data/spec/models/doi_record_spec.rb +19 -0
  273. data/spec/models/form_of_work_spec.rb +8 -7
  274. data/spec/models/frequency_spec.rb +8 -7
  275. data/spec/models/item_spec.rb +0 -7
  276. data/spec/models/language_spec.rb +10 -9
  277. data/spec/models/license_spec.rb +8 -7
  278. data/spec/models/manifestation_relationship_type_spec.rb +8 -7
  279. data/spec/models/manifestation_spec.rb +82 -39
  280. data/spec/models/medium_of_performance_spec.rb +8 -7
  281. data/spec/models/periodical_and_manifestation_spec.rb +17 -0
  282. data/spec/models/periodical_spec.rb +16 -0
  283. data/spec/models/picture_file_spec.rb +3 -7
  284. data/spec/models/produce_type_spec.rb +8 -7
  285. data/spec/models/realize_type_spec.rb +8 -7
  286. data/spec/models/resource_export_file_spec.rb +9 -62
  287. data/spec/models/resource_import_file_spec.rb +14 -62
  288. data/spec/rails_helper.rb +8 -4
  289. data/spec/system/manifestations_spec.rb +0 -30
  290. data/spec/views/items/index.html.erb_spec.rb +6 -7
  291. data/spec/views/manifestations/index.html.erb_spec.rb +1 -1
  292. data/spec/views/manifestations/index.rdf.builder_spec.rb +1 -0
  293. data/spec/views/manifestations/{index.text.ruby_spec.rb → index.txt.erb_spec.rb} +1 -1
  294. data/spec/views/manifestations/{show.text.ruby_spec.rb → show.txt.erb_spec.rb} +2 -2
  295. data/spec/views/resource_import_results/show.html.erb_spec.rb +1 -1
  296. metadata +571 -788
  297. data/app/controllers/item_custom_properties_controller.rb +0 -69
  298. data/app/controllers/manifestation_custom_properties_controller.rb +0 -69
  299. data/app/models/item_custom_property.rb +0 -18
  300. data/app/models/item_custom_value.rb +0 -17
  301. data/app/models/manifestation_custom_property.rb +0 -18
  302. data/app/models/manifestation_custom_value.rb +0 -17
  303. data/app/models2/agent.rb +0 -331
  304. data/app/models2/agent_import_file.rb +0 -259
  305. data/app/models2/agent_import_file_state_machine.rb +0 -19
  306. data/app/models2/agent_import_file_transition.rb +0 -20
  307. data/app/models2/agent_import_result.rb +0 -20
  308. data/app/models2/agent_merge.rb +0 -17
  309. data/app/models2/agent_merge_list.rb +0 -27
  310. data/app/models2/agent_relationship.rb +0 -24
  311. data/app/models2/agent_relationship_type.rb +0 -20
  312. data/app/models2/agent_type.rb +0 -19
  313. data/app/models2/carrier_type.rb +0 -50
  314. data/app/models2/content_type.rb +0 -19
  315. data/app/models2/country.rb +0 -47
  316. data/app/models2/create.rb +0 -29
  317. data/app/models2/create_type.rb +0 -19
  318. data/app/models2/donate.rb +0 -15
  319. data/app/models2/form_of_work.rb +0 -19
  320. data/app/models2/frequency.rb +0 -19
  321. data/app/models2/identifier.rb +0 -83
  322. data/app/models2/identifier_type.rb +0 -18
  323. data/app/models2/import_request.rb +0 -77
  324. data/app/models2/import_request_state_machine.rb +0 -9
  325. data/app/models2/import_request_transition.rb +0 -21
  326. data/app/models2/item.rb +0 -173
  327. data/app/models2/item_custom_property.rb +0 -18
  328. data/app/models2/item_custom_value.rb +0 -17
  329. data/app/models2/language.rb +0 -39
  330. data/app/models2/license.rb +0 -18
  331. data/app/models2/manifestation.rb +0 -764
  332. data/app/models2/manifestation_custom_property.rb +0 -18
  333. data/app/models2/manifestation_custom_value.rb +0 -17
  334. data/app/models2/manifestation_relationship.rb +0 -27
  335. data/app/models2/manifestation_relationship_type.rb +0 -20
  336. data/app/models2/medium_of_performance.rb +0 -19
  337. data/app/models2/own.rb +0 -29
  338. data/app/models2/picture_file.rb +0 -60
  339. data/app/models2/produce.rb +0 -30
  340. data/app/models2/produce_type.rb +0 -19
  341. data/app/models2/realize.rb +0 -29
  342. data/app/models2/realize_type.rb +0 -19
  343. data/app/models2/resource_export_file.rb +0 -64
  344. data/app/models2/resource_export_file_state_machine.rb +0 -15
  345. data/app/models2/resource_export_file_transition.rb +0 -21
  346. data/app/models2/resource_import_file.rb +0 -909
  347. data/app/models2/resource_import_file_state_machine.rb +0 -19
  348. data/app/models2/resource_import_file_transition.rb +0 -21
  349. data/app/models2/resource_import_result.rb +0 -24
  350. data/app/models2/series_statement.rb +0 -72
  351. data/app/models2/series_statement_merge.rb +0 -17
  352. data/app/models2/series_statement_merge_list.rb +0 -17
  353. data/app/policies/item_custom_property_policy.rb +0 -21
  354. data/app/policies/manifestation_custom_property_policy.rb +0 -21
  355. data/app/views/agent_import_results/index.text.ruby +0 -5
  356. data/app/views/item_custom_properties/_form.html.erb +0 -32
  357. data/app/views/item_custom_properties/edit.html.erb +0 -13
  358. data/app/views/item_custom_properties/index.html.erb +0 -43
  359. data/app/views/item_custom_properties/new.html.erb +0 -12
  360. data/app/views/item_custom_properties/show.html.erb +0 -28
  361. data/app/views/items/_item.json.jbuilder +0 -17
  362. data/app/views/items/index.json.jbuilder +0 -5
  363. data/app/views/items/index.text.ruby +0 -13
  364. data/app/views/items/show.json.jbuilder +0 -1
  365. data/app/views/manifestation_custom_properties/_form.html.erb +0 -32
  366. data/app/views/manifestation_custom_properties/edit.html.erb +0 -13
  367. data/app/views/manifestation_custom_properties/index.html.erb +0 -43
  368. data/app/views/manifestation_custom_properties/new.html.erb +0 -12
  369. data/app/views/manifestation_custom_properties/show.html.erb +0 -28
  370. data/app/views/manifestations/index.text.ruby +0 -13
  371. data/app/views/manifestations/show.json.jbuilder +0 -2
  372. data/app/views/manifestations/show.text.ruby +0 -5
  373. data/app/views/resource_import_results/index.text.ruby +0 -5
  374. data/db/migrate/20190818075603_add_memo_to_manifestation.rb +0 -5
  375. data/db/migrate/20190818075628_add_memo_to_item.rb +0 -5
  376. data/db/migrate/20200425072340_create_manifestation_custom_properties.rb +0 -12
  377. data/db/migrate/20200425072349_create_item_custom_properties.rb +0 -12
  378. data/db/migrate/20200425074758_create_manifestation_custom_values.rb +0 -12
  379. data/db/migrate/20200425074822_create_item_custom_values.rb +0 -12
  380. data/lib/generators/enju_biblio/setup/templates/db/fixtures/agents.yml +0 -19
  381. data/spec/cassette_library/ResourceImportFile/when_its_mode_is_create_/when_it_is_written_in_utf-8/should_import_custom_values.yml +0 -121
  382. data/spec/cassette_library/resource_import_results/index_txt_ruby/renders_a_list_of_resource_import_results.yml +0 -121
  383. data/spec/controllers/item_custom_properties_controller_spec.rb +0 -449
  384. data/spec/controllers/manifestation_custom_properties_controller_spec.rb +0 -449
  385. data/spec/dummy/db/migrate/20081117143156_create_inventory_files.rb +0 -18
  386. data/spec/dummy/db/migrate/20081117143455_create_inventories.rb +0 -17
  387. data/spec/dummy/db/migrate/20090706125521_add_attachments_inventory_to_inventory_file.rb +0 -15
  388. data/spec/dummy/db/migrate/20091202124834_create_versions.rb +0 -18
  389. data/spec/dummy/db/migrate/20100525171356_acts_as_taggable_on_migration.rb +0 -30
  390. data/spec/dummy/db/migrate/20111217234412_add_save_checkout_history_to_user.rb +0 -5
  391. data/spec/dummy/db/migrate/20111218002349_add_checkout_icalendar_token_to_user.rb +0 -6
  392. data/spec/dummy/db/migrate/20120413100431_add_fingerprint_to_inventory_file.rb +0 -5
  393. data/spec/dummy/db/migrate/20150421023923_create_identities.rb +0 -14
  394. data/spec/dummy/db/migrate/20151126005552_add_provider_to_identity.rb +0 -5
  395. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +0 -18
  396. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +0 -22
  397. data/spec/dummy/yarn.lock +0 -7560
  398. data/spec/factories/item_custom_property.rb +0 -6
  399. data/spec/factories/item_custom_value.rb +0 -6
  400. data/spec/factories/manifestation_custom_property.rb +0 -6
  401. data/spec/factories/manifestation_custom_value.rb +0 -6
  402. data/spec/fixtures/carrier_type_has_checkout_types.yml +0 -31
  403. data/spec/fixtures/checkout_stat_has_manifestations.yml +0 -24
  404. data/spec/fixtures/checkout_stat_has_users.yml +0 -24
  405. data/spec/fixtures/checkout_types.yml +0 -34
  406. data/spec/fixtures/circulation_statuses.yml +0 -136
  407. data/spec/fixtures/inventory_files.yml +0 -40
  408. data/spec/fixtures/item_custom_properties.yml +0 -24
  409. data/spec/fixtures/manifestation_checkout_stats.yml +0 -29
  410. data/spec/fixtures/manifestation_custom_properties.yml +0 -24
  411. data/spec/fixtures/manifestation_reserve_stats.yml +0 -29
  412. data/spec/fixtures/reserve_stat_has_manifestations.yml +0 -24
  413. data/spec/fixtures/reserve_stat_has_users.yml +0 -24
  414. data/spec/fixtures/reserve_transitions.yml +0 -104
  415. data/spec/fixtures/reserves.yml +0 -143
  416. data/spec/fixtures/use_restrictions.yml +0 -93
  417. data/spec/fixtures/user_checkout_stats.yml +0 -28
  418. data/spec/fixtures/user_group_has_checkout_types.yml +0 -111
  419. data/spec/fixtures/user_reserve_stats.yml +0 -28
  420. data/spec/models/item_custom_property_spec.rb +0 -18
  421. data/spec/models/item_custom_value_spec.rb +0 -17
  422. data/spec/models/manifestation_custom_property_spec.rb +0 -18
  423. data/spec/models/manifestation_custom_value_spec.rb +0 -17
  424. data/spec/requests/item_custom_properties_spec.rb +0 -129
  425. data/spec/requests/manifestation_custom_properties_spec.rb +0 -129
  426. data/spec/routing/item_custom_properties_routing_spec.rb +0 -38
  427. data/spec/routing/manifestation_custom_properties_routing_spec.rb +0 -38
  428. data/spec/system/items_spec.rb +0 -121
  429. data/spec/system/series_statements_spec.rb +0 -16
  430. data/spec/views/agent_import_results/index.html.erb_spec.rb +0 -29
  431. data/spec/views/agent_import_results/index.text.ruby_spec.rb +0 -20
  432. data/spec/views/agent_import_results/show.html.erb_spec.rb +0 -24
  433. data/spec/views/item_custom_properties/edit.html.erb_spec.rb +0 -21
  434. data/spec/views/item_custom_properties/index.html.erb_spec.rb +0 -25
  435. data/spec/views/item_custom_properties/new.html.erb_spec.rb +0 -21
  436. data/spec/views/item_custom_properties/show.html.erb_spec.rb +0 -16
  437. data/spec/views/items/index.json.jbuilder_spec.rb +0 -15
  438. data/spec/views/items/show.json.jbuilder_spec.rb +0 -15
  439. data/spec/views/manifestation_custom_properties/edit.html.erb_spec.rb +0 -21
  440. data/spec/views/manifestation_custom_properties/index.html.erb_spec.rb +0 -25
  441. data/spec/views/manifestation_custom_properties/new.html.erb_spec.rb +0 -21
  442. data/spec/views/manifestation_custom_properties/show.html.erb_spec.rb +0 -16
  443. data/spec/views/manifestations/show.json.jbuilder_spec.rb +0 -16
  444. data/spec/views/resource_import_results/index.text.ruby_spec.rb +0 -22
@@ -1,83 +0,0 @@
1
- class Identifier < ApplicationRecord
2
- belongs_to :identifier_type
3
- belongs_to :manifestation, touch: true, optional: true
4
-
5
- validates :body, presence: true
6
- validates :body, uniqueness: { scope: [:identifier_type_id, :manifestation_id] }
7
- validate :check_identifier
8
- before_validation :normalize
9
- before_save :convert_isbn
10
- scope :id_type, -> type {
11
- where(identifier_type: IdentifierType.find_by(name: type))
12
- }
13
-
14
- acts_as_list scope: :manifestation_id
15
- strip_attributes only: :body
16
-
17
- def check_identifier
18
- case identifier_type&.name
19
- when 'isbn'
20
- unless StdNum::ISBN.valid?(body)
21
- errors.add(:body)
22
- end
23
-
24
- when 'issn'
25
- unless StdNum::ISSN.valid?(body)
26
- errors.add(:body)
27
- end
28
-
29
- when 'lccn'
30
- unless StdNum::LCCN.valid?(body)
31
- errors.add(:body)
32
- end
33
-
34
- when 'doi'
35
- if URI.parse(body).scheme
36
- errors.add(:body)
37
- end
38
- end
39
- end
40
-
41
- def convert_isbn
42
- if identifier_type.name == 'isbn'
43
- lisbn = Lisbn.new(body)
44
- if lisbn.isbn
45
- if lisbn.isbn.length == 10
46
- self.body = lisbn.isbn13
47
- end
48
- end
49
- end
50
- end
51
-
52
- def hyphenated_isbn
53
- if identifier_type.name == 'isbn'
54
- lisbn = Lisbn.new(body)
55
- lisbn.parts.join('-')
56
- end
57
- end
58
-
59
- def normalize
60
- case identifier_type&.name
61
- when 'isbn'
62
- self.body = StdNum::ISBN.normalize(body)
63
- when 'issn'
64
- self.body = StdNum::ISSN.normalize(body)
65
- when 'lccn'
66
- self.body = StdNum::LCCN.normalize(body)
67
- end
68
- end
69
- end
70
-
71
- # == Schema Information
72
- #
73
- # Table name: identifiers
74
- #
75
- # id :integer not null, primary key
76
- # body :string not null
77
- # identifier_type_id :integer not null
78
- # manifestation_id :integer
79
- # primary :boolean
80
- # position :integer
81
- # created_at :datetime
82
- # updated_at :datetime
83
- #
@@ -1,18 +0,0 @@
1
- class IdentifierType < ApplicationRecord
2
- include MasterModel
3
- has_many :identifiers
4
- validates :name, format: { with: /\A[0-9a-z][0-9a-z_\-]*[0-9a-z]\Z/ }
5
- end
6
-
7
- # == Schema Information
8
- #
9
- # Table name: identifier_types
10
- #
11
- # id :integer not null, primary key
12
- # name :string
13
- # display_name :text
14
- # note :text
15
- # position :integer
16
- # created_at :datetime
17
- # updated_at :datetime
18
- #
@@ -1,77 +0,0 @@
1
- class ImportRequest < ApplicationRecord
2
- include Statesman::Adapters::ActiveRecordQueries[
3
- transition_class: ImportRequestTransition,
4
- initial_state: :pending
5
- ]
6
- default_scope { order('import_requests.id DESC') }
7
- belongs_to :manifestation, optional: true
8
- belongs_to :user
9
- validates :isbn, presence: true
10
- validate :check_isbn
11
- #validate :check_imported, on: :create
12
- #validates_uniqueness_of :isbn, if: Proc.new{|request| ImportRequest.where("created_at > ?", 1.day.ago).collect(&:isbn).include?(request.isbn)}
13
-
14
- has_many :import_request_transitions, autosave: false
15
-
16
- def state_machine
17
- ImportRequestStateMachine.new(self, transition_class: ImportRequestTransition)
18
- end
19
-
20
- delegate :can_transition_to?, :transition_to!, :transition_to, :current_state,
21
- to: :state_machine
22
-
23
- def check_isbn
24
- if isbn.present?
25
- errors.add(:isbn) unless StdNum::ISBN.valid?(isbn)
26
- end
27
- end
28
-
29
- def check_imported
30
- if isbn.present?
31
- identifier_type = IdentifierType.find_by_or_create!(name: 'isbn')
32
- if Identifier.find_by(body: isbn, identifier_type_id: identifier_type.id)&.manifestation
33
- errors.add(:isbn, I18n.t('import_request.isbn_taken'))
34
- end
35
- end
36
- end
37
-
38
- def import!
39
- exceptions = [ ActiveRecord::RecordInvalid, NameError, URI::InvalidURIError ]
40
- not_found_exceptions = []
41
- not_found_exceptions << EnjuNdl::RecordNotFound if defined? EnjuNdl
42
- not_found_exceptions << EnjuNii::RecordNotFound if defined? EnjuNii
43
- begin
44
- return nil unless Manifestation.respond_to?(:import_isbn)
45
- unless manifestation
46
- manifestation = Manifestation.import_isbn(isbn)
47
- if manifestation
48
- self.manifestation = manifestation
49
- transition_to!(:completed)
50
- manifestation.index
51
- Sunspot.commit
52
- else
53
- transition_to!(:failed)
54
- end
55
- end
56
- save
57
- rescue *not_found_exceptions => e
58
- transition_to!(:failed)
59
- return :record_not_found
60
- rescue *exceptions => e
61
- transition_to!(:failed)
62
- return :error
63
- end
64
- end
65
- end
66
-
67
- # == Schema Information
68
- #
69
- # Table name: import_requests
70
- #
71
- # id :integer not null, primary key
72
- # isbn :string
73
- # manifestation_id :integer
74
- # user_id :integer
75
- # created_at :datetime
76
- # updated_at :datetime
77
- #
@@ -1,9 +0,0 @@
1
- class ImportRequestStateMachine
2
- include Statesman::Machine
3
-
4
- state :pending, initial: true
5
- state :completed
6
- state :failed
7
-
8
- transition from: :pending, to: [:completed, :failed]
9
- end
@@ -1,21 +0,0 @@
1
- class ImportRequestTransition < ApplicationRecord
2
- include Statesman::Adapters::ActiveRecordTransition
3
-
4
-
5
- belongs_to :import_request, inverse_of: :import_request_transitions
6
- #attr_accessible :to_state, :sort_key, :metadata
7
- end
8
-
9
- # == Schema Information
10
- #
11
- # Table name: import_request_transitions
12
- #
13
- # id :integer not null, primary key
14
- # to_state :string
15
- # metadata :text default({})
16
- # sort_key :integer
17
- # import_request_id :integer
18
- # created_at :datetime
19
- # updated_at :datetime
20
- # most_recent :boolean not null
21
- #
data/app/models2/item.rb DELETED
@@ -1,173 +0,0 @@
1
- class Item < ApplicationRecord
2
- scope :on_shelf, -> { includes(:shelf).references(:shelf).where('shelves.name != ?', 'web') }
3
- scope :on_web, -> { includes(:shelf).references(:shelf).where('shelves.name = ?', 'web') }
4
- scope :available, -> {}
5
- scope :available_for, -> user {
6
- unless user.try(:has_role?, 'Librarian')
7
- on_shelf
8
- end
9
- }
10
- delegate :display_name, to: :shelf, prefix: true
11
- has_many :owns
12
- has_many :agents, through: :owns
13
- has_many :donates, dependent: :destroy
14
- has_many :donors, through: :donates, source: :agent
15
- has_one :resource_import_result
16
- belongs_to :manifestation, touch: true
17
- belongs_to :bookstore, optional: true
18
- belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id'
19
- belongs_to :budget_type, optional: true
20
- has_one :accept, dependent: :destroy
21
- has_one :withdraw, dependent: :destroy
22
- has_many :item_custom_values, -> { joins(:item_custom_property).order(:position) }
23
-
24
- belongs_to :shelf, counter_cache: true
25
- accepts_nested_attributes_for :item_custom_values, reject_if: :all_blank
26
-
27
- scope :accepted_between, lambda{|from, to| includes(:accept).where('items.created_at BETWEEN ? AND ?', Time.zone.parse(from).beginning_of_day, Time.zone.parse(to).end_of_day)}
28
- validates :item_identifier, allow_blank: true, uniqueness: true,
29
- format: {with: /\A[0-9A-Za-z_]+\Z/}
30
- validates :binding_item_identifier, allow_blank: true,
31
- format: {with: /\A[0-9A-Za-z_]+\Z/}
32
- validates :url, url: true, allow_blank: true, length: { maximum: 255 }
33
- validates_date :acquired_at, allow_blank: true
34
-
35
- strip_attributes only: [:item_identifier, :binding_item_identifier,
36
- :call_number, :binding_call_number, :url]
37
-
38
- searchable do
39
- text :item_identifier, :note, :title, :creator, :contributor, :publisher,
40
- :binding_item_identifier
41
- string :item_identifier, multiple: true do
42
- [item_identifier, binding_item_identifier]
43
- end
44
- integer :required_role_id
45
- integer :manifestation_id
46
- integer :shelf_id
47
- integer :agent_ids, multiple: true
48
- time :created_at
49
- time :updated_at
50
- time :acquired_at
51
- end
52
-
53
- after_save do
54
- manifestation.index
55
- Sunspot.commit
56
- end
57
- after_destroy do
58
- manifestation.index
59
- Sunspot.commit
60
- end
61
-
62
- attr_accessor :library_id
63
-
64
- paginates_per 10
65
-
66
- def title
67
- manifestation&.original_title
68
- end
69
-
70
- def creator
71
- manifestation&.creator
72
- end
73
-
74
- def contributor
75
- manifestation&.contributor
76
- end
77
-
78
- def publisher
79
- manifestation&.publisher
80
- end
81
-
82
- def owned(agent)
83
- owns.find_by(agent_id: agent.id)
84
- end
85
-
86
- def manifestation_url
87
- Addressable::URI.parse("#{LibraryGroup.site_config.url}manifestations/#{self.manifestation.id}").normalize.to_s if self.manifestation
88
- end
89
-
90
- def removable?
91
- if defined?(EnjuCirculation)
92
- return false if circulation_status.name == 'Removed'
93
- return false if checkouts.exists?
94
- true
95
- else
96
- true
97
- end
98
- end
99
-
100
- def self.csv_header(role: 'Guest')
101
- Item.new.to_hash(role: role).keys
102
- end
103
-
104
- def to_hash(role: 'Guest')
105
- record = {
106
- item_id: id,
107
- item_identifier: item_identifier,
108
- binding_item_identifier: binding_item_identifier,
109
- call_number: call_number,
110
- shelf: shelf&.name,
111
- item_note: note,
112
- accepted_at: accept&.created_at,
113
- acquired_at: acquired_at,
114
- item_created_at: created_at,
115
- item_updated_at: updated_at
116
- }
117
-
118
- if ['Administrator', 'Librarian'].include?(role)
119
- record.merge!({
120
- bookstore: bookstore&.name,
121
- budget_type: budget_type&.name,
122
- item_required_role: required_role.name,
123
- item_price: price,
124
- memo: memo
125
- })
126
-
127
- ItemCustomProperty.order(:position).each do |custom_property|
128
- custom_value = item_custom_values.find_by(item_custom_property: custom_property)
129
- record[:"item:#{custom_property.name}"] = custom_value.try(:value)
130
- end
131
-
132
- if defined?(EnjuCirculation)
133
- record.merge!({
134
- use_restriction: use_restriction&.name,
135
- circulation_status: circulation_status&.name,
136
- checkout_type: checkout_type&.name,
137
- total_checkouts: checkouts.count
138
- })
139
- end
140
- end
141
-
142
- record
143
- end
144
- end
145
-
146
- # == Schema Information
147
- #
148
- # Table name: items
149
- #
150
- # id :integer not null, primary key
151
- # call_number :string
152
- # item_identifier :string
153
- # created_at :datetime
154
- # updated_at :datetime
155
- # shelf_id :integer default(1), not null
156
- # include_supplements :boolean default(FALSE), not null
157
- # note :text
158
- # url :string
159
- # price :integer
160
- # lock_version :integer default(0), not null
161
- # required_role_id :integer default(1), not null
162
- # required_score :integer default(0), not null
163
- # acquired_at :datetime
164
- # bookstore_id :integer
165
- # budget_type_id :integer
166
- # circulation_status_id :integer default(5), not null
167
- # checkout_type_id :integer default(1), not null
168
- # binding_item_identifier :string
169
- # binding_call_number :string
170
- # binded_at :datetime
171
- # manifestation_id :integer not null
172
- # memo :text
173
- #
@@ -1,18 +0,0 @@
1
- class ItemCustomProperty < ApplicationRecord
2
- include MasterModel
3
- validates :name, presence: true, uniqueness: true
4
- acts_as_list
5
- end
6
-
7
- # == Schema Information
8
- #
9
- # Table name: item_custom_properties
10
- #
11
- # id :bigint not null, primary key
12
- # name :string not null
13
- # display_name :text not null
14
- # note :text
15
- # position :integer default(1), not null
16
- # created_at :datetime not null
17
- # updated_at :datetime not null
18
- #
@@ -1,17 +0,0 @@
1
- class ItemCustomValue < ApplicationRecord
2
- belongs_to :item_custom_property
3
- belongs_to :item, optional: true
4
- validates :item_custom_property, uniqueness: {scope: :item_id}
5
- end
6
-
7
- # == Schema Information
8
- #
9
- # Table name: item_custom_values
10
- #
11
- # id :bigint not null, primary key
12
- # item_custom_property_id :bigint not null
13
- # item_id :bigint not null
14
- # value :text
15
- # created_at :datetime not null
16
- # updated_at :datetime not null
17
- #
@@ -1,39 +0,0 @@
1
- class Language < ApplicationRecord
2
- include MasterModel
3
- # If you wish to change the field names for brevity, feel free to enable/modify these.
4
- # alias_attribute :iso1, :iso_639_1
5
- # alias_attribute :iso2, :iso_639_2
6
- # alias_attribute :iso3, :iso_639_3
7
-
8
- # Validations
9
- validates :iso_639_1, :iso_639_2, :iso_639_3, presence: true
10
- validates :name, presence: true, format: { with: /\A[0-9A-Za-z][0-9A-Za-z_\-\s,]*[0-9a-z]\Z/ }
11
-
12
- translates :display_name
13
-
14
- def self.available_languages
15
- Language.where(iso_639_1: I18n.available_locales.map{|l| l.to_s}).order(:position)
16
- end
17
-
18
- private
19
-
20
- def valid_name?
21
- true
22
- end
23
- end
24
-
25
- # == Schema Information
26
- #
27
- # Table name: languages
28
- #
29
- # id :integer not null, primary key
30
- # name :string not null
31
- # native_name :string
32
- # old_display_name :text
33
- # iso_639_1 :string
34
- # iso_639_2 :string
35
- # iso_639_3 :string
36
- # note :text
37
- # position :integer
38
- # display_name_translations :jsonb not null
39
- #
@@ -1,18 +0,0 @@
1
- class License < ApplicationRecord
2
- include MasterModel
3
- translates :display_name
4
- end
5
-
6
- # == Schema Information
7
- #
8
- # Table name: licenses
9
- #
10
- # id :integer not null, primary key
11
- # name :string not null
12
- # old_display_name :string
13
- # note :text
14
- # position :integer
15
- # created_at :datetime
16
- # updated_at :datetime
17
- # display_name_translations :jsonb not null
18
- #