enju_biblio 0.3.12 → 0.4.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -3
- data/app/controllers/content_types_controller.rb +1 -1
- data/app/controllers/items_controller.rb +4 -18
- data/app/controllers/manifestations_controller.rb +67 -58
- data/app/controllers/resource_import_results_controller.rb +2 -6
- data/app/helpers/enju_biblio/application_helper.rb +5 -5
- data/app/helpers/manifestations_helper.rb +10 -10
- data/app/models/agent.rb +3 -3
- data/app/models/agent_import_file.rb +1 -1
- data/app/models/agent_relationship_type.rb +8 -7
- data/app/models/agent_type.rb +10 -7
- data/app/models/carrier_type.rb +14 -11
- data/app/models/content_type.rb +10 -7
- data/app/models/create_type.rb +8 -7
- data/app/models/doi_record.rb +36 -0
- data/app/models/form_of_work.rb +11 -8
- data/app/models/frequency.rb +10 -7
- data/app/models/identifier_type.rb +1 -0
- data/app/models/import_request.rb +0 -2
- data/app/models/isbn_record.rb +51 -0
- data/app/models/isbn_record_and_manifestation.rb +18 -0
- data/app/models/issn_record.rb +49 -0
- data/app/models/issn_record_and_manifestation.rb +18 -0
- data/app/models/item.rb +2 -50
- data/app/models/language.rb +10 -9
- data/app/models/license.rb +9 -7
- data/app/models/manifestation.rb +252 -148
- data/app/models/manifestation_relationship_type.rb +9 -7
- data/app/models/medium_of_performance.rb +11 -8
- data/app/models/periodical.rb +33 -0
- data/app/models/periodical_and_manifestation.rb +16 -0
- data/app/models/picture_file.rb +2 -0
- data/app/models/produce_type.rb +8 -7
- data/app/models/realize_type.rb +8 -7
- data/app/models/resource_export_file.rb +8 -6
- data/app/models/resource_export_file_state_machine.rb +1 -1
- data/app/models/resource_import_file.rb +62 -153
- data/app/views/agent_import_results/index.txt.erb +3 -0
- data/app/views/agent_relationship_types/index.html.erb +1 -1
- data/app/views/agent_relationship_types/show.html.erb +1 -1
- data/app/views/agent_relationships/_form.html.erb +1 -1
- data/app/views/agent_types/index.html.erb +1 -1
- data/app/views/agent_types/show.html.erb +1 -1
- data/app/views/agents/_agent.html.erb +1 -1
- data/app/views/agents/_agent_list.html.erb +2 -2
- data/app/views/agents/_form.html.erb +4 -4
- data/app/views/agents/_index_agent.html.erb +1 -1
- data/app/views/agents/_index_agent_merge_list.html.erb +1 -1
- data/app/views/agents/_index_expression.html.erb +2 -2
- data/app/views/agents/_index_manifestation.html.erb +2 -2
- data/app/views/agents/_index_work.html.erb +2 -2
- data/app/views/agents/index.atom.builder +1 -1
- data/app/views/agents/index.rss.builder +1 -1
- data/app/views/agents/show.html+phone.erb +2 -2
- data/app/views/agents/show.html.erb +2 -2
- data/app/views/carrier_types/index.html.erb +2 -2
- data/app/views/carrier_types/show.html.erb +3 -3
- data/app/views/content_types/index.html.erb +1 -1
- data/app/views/content_types/show.html.erb +1 -1
- data/app/views/countries/index.html.erb +1 -1
- data/app/views/countries/show.html.erb +1 -1
- data/app/views/create_types/index.html.erb +1 -1
- data/app/views/create_types/show.html.erb +1 -1
- data/app/views/creates/_form.html.erb +1 -1
- data/app/views/form_of_works/index.html.erb +1 -1
- data/app/views/form_of_works/show.html.erb +1 -1
- data/app/views/frequencies/index.html.erb +1 -1
- data/app/views/frequencies/show.html.erb +1 -1
- data/app/views/identifier_types/index.html.erb +1 -1
- data/app/views/identifier_types/show.html.erb +1 -1
- data/app/views/items/_form.html.erb +13 -33
- data/app/views/items/index.html+phone.erb +3 -3
- data/app/views/items/index.html.erb +3 -3
- data/app/views/items/show.html+phone.erb +5 -5
- data/app/views/items/show.html.erb +12 -27
- data/app/views/languages/index.html.erb +1 -1
- data/app/views/languages/show.html.erb +1 -1
- data/app/views/layouts/agents.html.erb +2 -2
- data/app/views/layouts/items.html.erb +1 -1
- data/app/views/layouts/manifestations.html.erb +4 -4
- data/app/views/licenses/index.html.erb +1 -1
- data/app/views/licenses/show.html.erb +1 -1
- data/app/views/manifestation_relationship_types/index.html.erb +1 -1
- data/app/views/manifestation_relationship_types/show.html.erb +1 -1
- data/app/views/manifestation_relationships/_form.html.erb +1 -1
- data/app/views/manifestations/_call_number.html.erb +3 -3
- data/app/views/manifestations/_export_detail.html.erb +0 -1
- data/app/views/manifestations/_export_list.html.erb +0 -1
- data/app/views/manifestations/_form.html.erb +5 -28
- data/app/views/manifestations/_identifier_fields.html.erb +1 -1
- data/app/views/manifestations/_manifestation.txt.erb +1 -1
- data/app/views/manifestations/_show_creators.html.erb +1 -1
- data/app/views/manifestations/_show_detail_librarian.html.erb +5 -25
- data/app/views/manifestations/_show_detail_user.html.erb +5 -13
- data/app/views/manifestations/_show_holding.html+phone.erb +3 -3
- data/app/views/manifestations/_show_holding.html.erb +2 -2
- data/app/views/manifestations/explain.sru +9 -0
- data/app/views/manifestations/index.atom.builder +1 -1
- data/app/views/manifestations/index.opds.builder +1 -1
- data/app/views/manifestations/index.rdf.builder +1 -1
- data/app/views/manifestations/index.rss.builder +1 -1
- data/app/views/manifestations/index.sru.builder +101 -0
- data/app/views/manifestations/index.txt.erb +1 -0
- data/app/views/manifestations/show.txt.erb +1 -0
- data/app/views/medium_of_performances/index.html.erb +1 -1
- data/app/views/medium_of_performances/show.html.erb +1 -1
- data/app/views/notifier/manifestation_info.en.text.erb +1 -1
- data/app/views/notifier/manifestation_info.ja.text.erb +1 -1
- data/app/views/picture_files/edit.html.erb +0 -4
- data/app/views/produce_types/index.html.erb +1 -1
- data/app/views/produce_types/show.html.erb +1 -1
- data/app/views/produces/_form.html.erb +1 -1
- data/app/views/realize_types/index.html.erb +1 -1
- data/app/views/realize_types/show.html.erb +1 -1
- data/app/views/realizes/_form.html.erb +1 -1
- data/app/views/resource_import_files/_results.html.erb +0 -6
- data/app/views/resource_import_files/new.html.erb +2 -2
- data/app/views/resource_import_results/index.html.erb +11 -0
- data/app/views/resource_import_results/index.txt.erb +3 -0
- data/app/views/series_statements/_form.html.erb +8 -6
- data/app/views/series_statements/show.html.erb +0 -12
- data/config/locales/translation_en.yml +1 -28
- data/config/locales/translation_ja.yml +3 -30
- data/config/routes.rb +0 -2
- data/db/migrate/20081027150907_create_picture_files.rb +2 -0
- data/db/migrate/20160319144230_create_issn_records.rb +11 -0
- data/db/migrate/20160506144040_create_isbn_records.rb +11 -0
- data/db/migrate/20170116134107_create_issn_record_and_manifestations.rb +11 -0
- data/db/migrate/20170116134120_create_isbn_record_and_manifestations.rb +11 -0
- data/db/migrate/20190102034126_create_doi_records.rb +13 -0
- data/db/migrate/20190311154610_create_periodicals.rb +10 -0
- data/db/migrate/20190312033839_create_periodical_and_manifestations.rb +11 -0
- data/db/migrate/20190712163038_add_display_name_translations_to_carrier_type.rb +21 -0
- data/lib/enju_biblio.rb +2 -0
- data/lib/enju_biblio/openurl.rb +1 -5
- data/lib/enju_biblio/porta_cql.rb +282 -0
- data/lib/enju_biblio/sru.rb +83 -0
- data/lib/enju_biblio/version.rb +1 -1
- data/lib/generators/enju_biblio/setup/setup_generator.rb +0 -2
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/agent_relationship_types.yml +3 -3
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/agent_types.yml +2 -4
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/carrier_types.yml +8 -26
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/content_types.yml +12 -24
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/create_types.yml +4 -22
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/form_of_works.yml +1 -1
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/frequencies.yml +9 -18
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/languages.yml +2 -4
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/licenses.yml +2 -2
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/manifestation_relationship_types.yml +2 -4
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/medium_of_performances.yml +15 -0
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/produce_types.yml +2 -19
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/realize_types.yml +3 -21
- 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
- data/spec/controllers/content_types_controller_spec.rb +1 -1
- data/spec/controllers/items_controller_spec.rb +1 -59
- data/spec/controllers/manifestations_controller_spec.rb +19 -49
- data/spec/dummy/app/helpers/application_helper.rb +1 -1
- data/spec/dummy/app/models/user.rb +4 -0
- data/spec/dummy/bin/bundle +1 -1
- data/spec/dummy/bin/setup +1 -3
- data/spec/dummy/bin/update +4 -2
- data/spec/dummy/bin/yarn +3 -3
- data/spec/dummy/config/application.rb +1 -2
- data/spec/dummy/config/database.yml +70 -9
- data/spec/dummy/config/initializers/assets.rb +2 -2
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/002_devise_create_users.rb +1 -0
- data/spec/dummy/db/migrate/113_create_events.rb +2 -4
- data/spec/dummy/db/migrate/154_create_messages.rb +4 -8
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +3 -3
- data/spec/dummy/db/migrate/20081028093607_create_event_import_files.rb +2 -4
- data/spec/dummy/db/migrate/20090519203307_create_participates.rb +2 -4
- data/spec/dummy/db/migrate/20100925074639_create_event_import_results.rb +2 -2
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +1 -0
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140523171309_create_event_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140524135607_create_bookmark_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140720192418_add_default_library_id_to_event_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140812152348_create_event_export_files.rb +1 -1
- data/spec/dummy/db/migrate/20140812153137_create_event_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140814070854_add_default_event_category_id_to_event_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20151128142913_create_places.rb +14 -0
- data/spec/dummy/db/migrate/20151201163718_add_place_id_to_event.rb +5 -0
- data/spec/dummy/db/migrate/20160703184258_add_most_recent_to_event_import_file_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160703184311_add_most_recent_to_event_export_file_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160813191533_add_book_jacket_source_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813191820_add_screenshot_generator_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160815045420_add_most_recent_to_bookmark_stat_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20170116150432_create_jpno_records.rb +10 -0
- data/spec/dummy/db/migrate/20171126072934_create_ndla_records.rb +10 -0
- data/spec/dummy/db/migrate/20180107162659_add_constraints_to_most_recent_for_message_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107162711_add_constraints_to_most_recent_for_message_request_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107164558_add_constraints_to_most_recent_for_event_import_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107164617_add_constraints_to_most_recent_for_event_export_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107172413_add_constraints_to_most_recent_for_bookmark_stat_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180709023035_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +36 -0
- data/spec/dummy/db/migrate/20180709023036_add_missing_unique_indices.acts_as_taggable_on_engine.rb +26 -0
- data/spec/dummy/db/migrate/20180709023037_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +20 -0
- data/spec/dummy/db/migrate/20180709023038_add_missing_taggable_index.acts_as_taggable_on_engine.rb +15 -0
- data/spec/dummy/db/migrate/20180709023039_change_collation_for_tag_names.acts_as_taggable_on_engine.rb +15 -0
- data/spec/dummy/db/migrate/20180709023040_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb +23 -0
- data/spec/dummy/db/migrate/20180709161346_add_created_at_to_tag.rb +6 -0
- data/spec/dummy/db/migrate/20181119170645_add_foreign_key_to_events_referencing_event_categories.rb +5 -0
- data/spec/dummy/db/migrate/20190501043418_create_ndl_bib_id_records.rb +10 -0
- data/spec/dummy/db/migrate/20190508160525_create_retains.rb +10 -0
- data/spec/dummy/db/migrate/20190630113817_add_display_name_translations_to_library_group.rb +12 -0
- data/spec/dummy/db/migrate/20190630115523_add_login_banner_translations_to_library_group.rb +6 -0
- data/spec/dummy/db/migrate/20190630151446_add_display_name_translations_to_role.rb +5 -0
- data/spec/dummy/db/migrate/20190630153136_add_display_name_translations_to_event.rb +6 -0
- data/spec/dummy/db/migrate/20190706052525_add_display_name_translations_to_circulation_status.rb +5 -0
- data/spec/dummy/db/schema.rb +335 -221
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/factories/create_types.rb +8 -7
- data/spec/factories/produce_types.rb +8 -7
- data/spec/factories/realize_types.rb +8 -7
- data/spec/factories/series_statement.rb +3 -4
- data/spec/fixtures/agent_relationship_types.yml +8 -7
- data/spec/fixtures/agent_types.yml +11 -10
- data/spec/fixtures/carrier_types.yml +16 -15
- data/spec/fixtures/content_types.yml +20 -31
- data/spec/fixtures/create_types.yml +12 -15
- data/spec/fixtures/creates.yml +0 -2
- data/spec/fixtures/form_of_works.yml +11 -10
- data/spec/fixtures/frequencies.yml +17 -25
- data/spec/fixtures/items.yml +11 -12
- data/spec/fixtures/languages.yml +11 -11
- data/spec/fixtures/libraries.yml +30 -30
- data/spec/fixtures/library_groups.yml +11 -6
- data/spec/fixtures/licenses.yml +8 -7
- data/spec/fixtures/manifestation_relationship_types.yml +12 -11
- data/spec/fixtures/manifestations.yml +0 -1
- data/spec/fixtures/medium_of_performances.yml +10 -9
- data/spec/fixtures/picture_files.yml +2 -0
- data/spec/fixtures/produce_types.yml +10 -11
- data/spec/fixtures/produces.yml +0 -2
- data/spec/fixtures/profiles.yml +8 -5
- data/spec/fixtures/realize_types.yml +11 -13
- data/spec/fixtures/realizes.yml +0 -2
- data/spec/fixtures/request_status_types.yml +14 -14
- data/spec/fixtures/request_types.yml +13 -13
- data/spec/fixtures/resource_export_files.yml +1 -1
- data/spec/fixtures/resource_import_results.yml +2 -2
- data/spec/fixtures/roles.yml +22 -5
- data/spec/fixtures/shelves.yml +16 -16
- data/spec/fixtures/user_groups.yml +12 -12
- data/spec/fixtures/user_has_roles.yml +3 -4
- data/spec/fixtures/users.yml +0 -3
- data/spec/models/agent_relationship_type_spec.rb +8 -7
- data/spec/models/agent_type_spec.rb +8 -7
- data/spec/models/carrier_type_spec.rb +12 -11
- data/spec/models/content_type_spec.rb +8 -7
- data/spec/models/create_type_spec.rb +8 -7
- data/spec/models/doi_record_spec.rb +19 -0
- data/spec/models/form_of_work_spec.rb +8 -7
- data/spec/models/frequency_spec.rb +8 -7
- data/spec/models/item_spec.rb +0 -7
- data/spec/models/language_spec.rb +10 -9
- data/spec/models/license_spec.rb +8 -7
- data/spec/models/manifestation_relationship_type_spec.rb +8 -7
- data/spec/models/manifestation_spec.rb +81 -24
- data/spec/models/medium_of_performance_spec.rb +8 -7
- data/spec/models/periodical_and_manifestation_spec.rb +17 -0
- data/spec/models/periodical_spec.rb +16 -0
- data/spec/models/picture_file_spec.rb +2 -0
- data/spec/models/produce_type_spec.rb +8 -7
- data/spec/models/realize_type_spec.rb +8 -7
- data/spec/models/resource_export_file_spec.rb +9 -62
- data/spec/models/resource_import_file_spec.rb +14 -44
- data/spec/rails_helper.rb +8 -4
- data/spec/system/manifestations_spec.rb +0 -30
- data/spec/views/items/index.html.erb_spec.rb +6 -7
- data/spec/views/manifestations/{index.txt.ruby_spec.rb → index.txt.erb_spec.rb} +1 -1
- data/spec/views/manifestations/{show.txt.ruby_spec.rb → show.txt.erb_spec.rb} +2 -2
- data/spec/views/resource_import_results/show.html.erb_spec.rb +1 -1
- metadata +567 -725
- data/app/controllers/item_custom_properties_controller.rb +0 -69
- data/app/controllers/manifestation_custom_properties_controller.rb +0 -69
- data/app/models/item_custom_property.rb +0 -18
- data/app/models/item_custom_value.rb +0 -17
- data/app/models/manifestation_custom_property.rb +0 -18
- data/app/models/manifestation_custom_value.rb +0 -17
- data/app/policies/item_custom_property_policy.rb +0 -21
- data/app/policies/manifestation_custom_property_policy.rb +0 -21
- data/app/views/agent_import_results/index.txt.ruby +0 -5
- data/app/views/item_custom_properties/_form.html.erb +0 -32
- data/app/views/item_custom_properties/edit.html.erb +0 -13
- data/app/views/item_custom_properties/index.html.erb +0 -43
- data/app/views/item_custom_properties/new.html.erb +0 -12
- data/app/views/item_custom_properties/show.html.erb +0 -28
- data/app/views/items/_item.json.jbuilder +0 -17
- data/app/views/items/index.json.jbuilder +0 -5
- data/app/views/items/show.json.jbuilder +0 -1
- data/app/views/manifestation_custom_properties/_form.html.erb +0 -32
- data/app/views/manifestation_custom_properties/edit.html.erb +0 -13
- data/app/views/manifestation_custom_properties/index.html.erb +0 -43
- data/app/views/manifestation_custom_properties/new.html.erb +0 -12
- data/app/views/manifestation_custom_properties/show.html.erb +0 -28
- data/app/views/manifestations/index.txt.ruby +0 -7
- data/app/views/manifestations/show.json.jbuilder +0 -2
- data/app/views/manifestations/show.txt.ruby +0 -5
- data/app/views/resource_import_results/index.txt.ruby +0 -5
- data/db/migrate/20190818075603_add_memo_to_manifestation.rb +0 -5
- data/db/migrate/20190818075628_add_memo_to_item.rb +0 -5
- data/db/migrate/20200425072340_create_manifestation_custom_properties.rb +0 -12
- data/db/migrate/20200425072349_create_item_custom_properties.rb +0 -12
- data/db/migrate/20200425074758_create_manifestation_custom_values.rb +0 -12
- data/db/migrate/20200425074822_create_item_custom_values.rb +0 -12
- data/lib/generators/enju_biblio/setup/templates/db/fixtures/agents.yml +0 -19
- data/spec/cassette_library/ResourceImportFile/when_its_mode_is_create_/when_it_is_written_in_utf-8/should_import_custom_values.yml +0 -121
- data/spec/cassette_library/resource_import_results/index_txt_ruby/renders_a_list_of_resource_import_results.yml +0 -121
- data/spec/controllers/item_custom_properties_controller_spec.rb +0 -449
- data/spec/controllers/manifestation_custom_properties_controller_spec.rb +0 -449
- data/spec/dummy/db/migrate/20081117143156_create_inventory_files.rb +0 -18
- data/spec/dummy/db/migrate/20081117143455_create_inventories.rb +0 -17
- data/spec/dummy/db/migrate/20090706125521_add_attachments_inventory_to_inventory_file.rb +0 -15
- data/spec/dummy/db/migrate/20091202124834_create_versions.rb +0 -18
- data/spec/dummy/db/migrate/20100525171356_acts_as_taggable_on_migration.rb +0 -30
- data/spec/dummy/db/migrate/20111217234412_add_save_checkout_history_to_user.rb +0 -5
- data/spec/dummy/db/migrate/20111218002349_add_checkout_icalendar_token_to_user.rb +0 -6
- data/spec/dummy/db/migrate/20120413100431_add_fingerprint_to_inventory_file.rb +0 -5
- data/spec/dummy/db/migrate/20150421023923_create_identities.rb +0 -14
- data/spec/dummy/db/migrate/20151126005552_add_provider_to_identity.rb +0 -5
- data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +0 -18
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +0 -22
- data/spec/factories/item_custom_property.rb +0 -6
- data/spec/factories/item_custom_value.rb +0 -6
- data/spec/factories/manifestation_custom_property.rb +0 -6
- data/spec/factories/manifestation_custom_value.rb +0 -6
- data/spec/fixtures/carrier_type_has_checkout_types.yml +0 -31
- data/spec/fixtures/checkout_stat_has_manifestations.yml +0 -24
- data/spec/fixtures/checkout_stat_has_users.yml +0 -24
- data/spec/fixtures/checkout_types.yml +0 -34
- data/spec/fixtures/circulation_statuses.yml +0 -136
- data/spec/fixtures/inventory_files.yml +0 -40
- data/spec/fixtures/item_custom_properties.yml +0 -24
- data/spec/fixtures/manifestation_checkout_stats.yml +0 -29
- data/spec/fixtures/manifestation_custom_properties.yml +0 -24
- data/spec/fixtures/manifestation_reserve_stats.yml +0 -29
- data/spec/fixtures/reserve_stat_has_manifestations.yml +0 -24
- data/spec/fixtures/reserve_stat_has_users.yml +0 -24
- data/spec/fixtures/reserve_transitions.yml +0 -104
- data/spec/fixtures/reserves.yml +0 -143
- data/spec/fixtures/use_restrictions.yml +0 -93
- data/spec/fixtures/user_checkout_stats.yml +0 -28
- data/spec/fixtures/user_group_has_checkout_types.yml +0 -111
- data/spec/fixtures/user_reserve_stats.yml +0 -28
- data/spec/models/item_custom_property_spec.rb +0 -18
- data/spec/models/item_custom_value_spec.rb +0 -17
- data/spec/models/manifestation_custom_property_spec.rb +0 -18
- data/spec/models/manifestation_custom_value_spec.rb +0 -17
- data/spec/requests/item_custom_properties_spec.rb +0 -129
- data/spec/requests/manifestation_custom_properties_spec.rb +0 -129
- data/spec/routing/item_custom_properties_routing_spec.rb +0 -38
- data/spec/routing/manifestation_custom_properties_routing_spec.rb +0 -38
- data/spec/system/items_spec.rb +0 -115
- data/spec/system/series_statements_spec.rb +0 -16
- data/spec/views/agent_import_results/index.html.erb_spec.rb +0 -29
- data/spec/views/agent_import_results/index.txt.ruby_spec.rb +0 -20
- data/spec/views/agent_import_results/show.html.erb_spec.rb +0 -24
- data/spec/views/item_custom_properties/edit.html.erb_spec.rb +0 -21
- data/spec/views/item_custom_properties/index.html.erb_spec.rb +0 -25
- data/spec/views/item_custom_properties/new.html.erb_spec.rb +0 -21
- data/spec/views/item_custom_properties/show.html.erb_spec.rb +0 -16
- data/spec/views/items/index.json.jbuilder_spec.rb +0 -15
- data/spec/views/items/show.json.jbuilder_spec.rb +0 -15
- data/spec/views/manifestation_custom_properties/edit.html.erb_spec.rb +0 -21
- data/spec/views/manifestation_custom_properties/index.html.erb_spec.rb +0 -25
- data/spec/views/manifestation_custom_properties/new.html.erb_spec.rb +0 -21
- data/spec/views/manifestation_custom_properties/show.html.erb_spec.rb +0 -16
- data/spec/views/manifestations/show.json.jbuilder_spec.rb +0 -16
- data/spec/views/resource_import_results/index.txt.ruby_spec.rb +0 -22
data/app/models/agent_type.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
class AgentType < ApplicationRecord
|
2
2
|
include MasterModel
|
3
|
+
default_scope { order('agent_types.position') }
|
4
|
+
translates :display_name
|
3
5
|
has_many :agents
|
4
6
|
end
|
5
7
|
|
@@ -7,11 +9,12 @@ end
|
|
7
9
|
#
|
8
10
|
# Table name: agent_types
|
9
11
|
#
|
10
|
-
# id
|
11
|
-
# name
|
12
|
-
# display_name
|
13
|
-
# note
|
14
|
-
# position
|
15
|
-
# created_at
|
16
|
-
# updated_at
|
12
|
+
# id :integer not null, primary key
|
13
|
+
# name :string not null
|
14
|
+
# display_name :text
|
15
|
+
# note :text
|
16
|
+
# position :integer
|
17
|
+
# created_at :datetime
|
18
|
+
# updated_at :datetime
|
19
|
+
# display_name_translations :jsonb not null
|
17
20
|
#
|
data/app/models/carrier_type.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
class CarrierType < ApplicationRecord
|
2
2
|
include MasterModel
|
3
|
+
default_scope { order("carrier_types.position") }
|
4
|
+
translates :display_name
|
3
5
|
has_many :manifestations
|
4
6
|
if ENV['ENJU_STORAGE'] == 's3'
|
5
7
|
has_attached_file :attachment, storage: :s3,
|
@@ -34,15 +36,16 @@ end
|
|
34
36
|
#
|
35
37
|
# Table name: carrier_types
|
36
38
|
#
|
37
|
-
# id
|
38
|
-
# name
|
39
|
-
# display_name
|
40
|
-
# note
|
41
|
-
# position
|
42
|
-
# created_at
|
43
|
-
# updated_at
|
44
|
-
# attachment_file_name
|
45
|
-
# attachment_content_type
|
46
|
-
# attachment_file_size
|
47
|
-
# attachment_updated_at
|
39
|
+
# id :integer not null, primary key
|
40
|
+
# name :string not null
|
41
|
+
# display_name :text
|
42
|
+
# note :text
|
43
|
+
# position :integer
|
44
|
+
# created_at :datetime
|
45
|
+
# updated_at :datetime
|
46
|
+
# attachment_file_name :string
|
47
|
+
# attachment_content_type :string
|
48
|
+
# attachment_file_size :bigint
|
49
|
+
# attachment_updated_at :datetime
|
50
|
+
# display_name_translations :jsonb not null
|
48
51
|
#
|
data/app/models/content_type.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
class ContentType < ApplicationRecord
|
2
2
|
include MasterModel
|
3
|
+
default_scope { order('content_types.position') }
|
4
|
+
translates :display_name
|
3
5
|
has_many :manifestations
|
4
6
|
end
|
5
7
|
|
@@ -7,11 +9,12 @@ end
|
|
7
9
|
#
|
8
10
|
# Table name: content_types
|
9
11
|
#
|
10
|
-
# id
|
11
|
-
# name
|
12
|
-
# display_name
|
13
|
-
# note
|
14
|
-
# position
|
15
|
-
# created_at
|
16
|
-
# updated_at
|
12
|
+
# id :integer not null, primary key
|
13
|
+
# name :string not null
|
14
|
+
# display_name :text
|
15
|
+
# note :text
|
16
|
+
# position :integer
|
17
|
+
# created_at :datetime
|
18
|
+
# updated_at :datetime
|
19
|
+
# display_name_translations :jsonb not null
|
17
20
|
#
|
data/app/models/create_type.rb
CHANGED
@@ -7,11 +7,12 @@ end
|
|
7
7
|
#
|
8
8
|
# Table name: create_types
|
9
9
|
#
|
10
|
-
# id
|
11
|
-
# name
|
12
|
-
# display_name
|
13
|
-
# note
|
14
|
-
# position
|
15
|
-
# created_at
|
16
|
-
# updated_at
|
10
|
+
# id :integer not null, primary key
|
11
|
+
# name :string
|
12
|
+
# display_name :text
|
13
|
+
# note :text
|
14
|
+
# position :integer
|
15
|
+
# created_at :datetime
|
16
|
+
# updated_at :datetime
|
17
|
+
# display_name_translations :jsonb not null
|
17
18
|
#
|
@@ -0,0 +1,36 @@
|
|
1
|
+
class DoiRecord < ApplicationRecord
|
2
|
+
belongs_to :manifestation
|
3
|
+
validates :body, presence: true, uniqueness: true, format: {with: /\A[0-9]{2}\.[0-9]{2,}\/.+\Z/}
|
4
|
+
before_save :normalize
|
5
|
+
before_save :set_display_body
|
6
|
+
|
7
|
+
strip_attributes
|
8
|
+
|
9
|
+
def normalize
|
10
|
+
url = URI.parse(body)
|
11
|
+
if url.host =~ /doi\.org\Z/
|
12
|
+
self.body = url.path.gsub(/\A\//, '').downcase
|
13
|
+
else
|
14
|
+
self.body = body.downcase
|
15
|
+
end
|
16
|
+
rescue URI::InvalidURIError
|
17
|
+
end
|
18
|
+
|
19
|
+
def set_display_body
|
20
|
+
self.display_body = body unless display_body
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# == Schema Information
|
25
|
+
#
|
26
|
+
# Table name: doi_records
|
27
|
+
#
|
28
|
+
# id :bigint not null, primary key
|
29
|
+
# body :string not null
|
30
|
+
# display_body :string not null
|
31
|
+
# source :string
|
32
|
+
# response :jsonb not null
|
33
|
+
# manifestation_id :bigint not null
|
34
|
+
# created_at :datetime not null
|
35
|
+
# updated_at :datetime not null
|
36
|
+
#
|
data/app/models/form_of_work.rb
CHANGED
@@ -1,17 +1,20 @@
|
|
1
1
|
class FormOfWork < ApplicationRecord
|
2
2
|
include MasterModel
|
3
|
-
|
3
|
+
default_scope { order('form_of_works.position') }
|
4
|
+
translates :display_name
|
5
|
+
has_many :works
|
4
6
|
end
|
5
7
|
|
6
8
|
# == Schema Information
|
7
9
|
#
|
8
10
|
# Table name: form_of_works
|
9
11
|
#
|
10
|
-
# id
|
11
|
-
# name
|
12
|
-
# display_name
|
13
|
-
# note
|
14
|
-
# position
|
15
|
-
# created_at
|
16
|
-
# updated_at
|
12
|
+
# id :integer not null, primary key
|
13
|
+
# name :string not null
|
14
|
+
# display_name :text
|
15
|
+
# note :text
|
16
|
+
# position :integer
|
17
|
+
# created_at :datetime
|
18
|
+
# updated_at :datetime
|
19
|
+
# display_name_translations :jsonb not null
|
17
20
|
#
|
data/app/models/frequency.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
class Frequency < ApplicationRecord
|
2
2
|
include MasterModel
|
3
|
+
default_scope { order('frequencies.position') }
|
4
|
+
translates :display_name
|
3
5
|
has_many :manifestations
|
4
6
|
end
|
5
7
|
|
@@ -7,11 +9,12 @@ end
|
|
7
9
|
#
|
8
10
|
# Table name: frequencies
|
9
11
|
#
|
10
|
-
# id
|
11
|
-
# name
|
12
|
-
# display_name
|
13
|
-
# note
|
14
|
-
# position
|
15
|
-
# created_at
|
16
|
-
# updated_at
|
12
|
+
# id :integer not null, primary key
|
13
|
+
# name :string not null
|
14
|
+
# display_name :text
|
15
|
+
# note :text
|
16
|
+
# position :integer
|
17
|
+
# created_at :datetime
|
18
|
+
# updated_at :datetime
|
19
|
+
# display_name_translations :jsonb not null
|
17
20
|
#
|
@@ -7,8 +7,6 @@ class ImportRequest < ApplicationRecord
|
|
7
7
|
validate :check_isbn
|
8
8
|
#validate :check_imported, on: :create
|
9
9
|
#validates_uniqueness_of :isbn, if: Proc.new{|request| ImportRequest.where("created_at > ?", 1.day.ago).collect(&:isbn).include?(request.isbn)}
|
10
|
-
enju_ndl_ndl_search if defined?(EnjuNdl)
|
11
|
-
enju_nii_cinii_books if defined?(EnjuNii)
|
12
10
|
|
13
11
|
has_many :import_request_transitions, autosave: false
|
14
12
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
class IsbnRecord < ActiveRecord::Base
|
2
|
+
has_many :isbn_record_and_manifestations, dependent: :destroy
|
3
|
+
has_many :manifestations, through: :isbn_record_and_manifestations
|
4
|
+
before_save :normalize_isbn
|
5
|
+
validates :body, presence: true
|
6
|
+
strip_attributes
|
7
|
+
|
8
|
+
def self.new_records(isbn_records_params)
|
9
|
+
return [] unless isbn_records_params
|
10
|
+
isbn_records = []
|
11
|
+
IsbnRecord.transaction do
|
12
|
+
isbn_records_params.each do |k, v|
|
13
|
+
next if v['_destroy'] == '1'
|
14
|
+
if v['body'].present?
|
15
|
+
isbn_record = IsbnRecord.where(body: Lisbn.new(v['body'].gsub(/[^0-9x]/i, '')).isbn13).first_or_create!
|
16
|
+
elsif v['id'].present?
|
17
|
+
isbn_record = IsbnRecord.find(v['id'])
|
18
|
+
else
|
19
|
+
v.delete('_destroy')
|
20
|
+
isbn_record = IsbnRecord.create(v)
|
21
|
+
end
|
22
|
+
isbn_records << isbn_record
|
23
|
+
end
|
24
|
+
end
|
25
|
+
isbn_records
|
26
|
+
end
|
27
|
+
|
28
|
+
def normalize_isbn
|
29
|
+
if StdNum::ISBN.valid?(body)
|
30
|
+
self.body = StdNum::ISBN.normalize(body)
|
31
|
+
else
|
32
|
+
errors.add(:body)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def valid_isbn?
|
37
|
+
StdNum::ISBN.valid?(body)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# == Schema Information
|
42
|
+
#
|
43
|
+
# Table name: isbn_records
|
44
|
+
#
|
45
|
+
# id :bigint not null, primary key
|
46
|
+
# body :string not null
|
47
|
+
# isbn_type :string
|
48
|
+
# source :string
|
49
|
+
# created_at :datetime not null
|
50
|
+
# updated_at :datetime not null
|
51
|
+
#
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class IsbnRecordAndManifestation < ApplicationRecord
|
2
|
+
belongs_to :isbn_record
|
3
|
+
belongs_to :manifestation
|
4
|
+
validates :isbn_record_id, uniqueness: {scope: :manifestation_id}
|
5
|
+
acts_as_list
|
6
|
+
end
|
7
|
+
|
8
|
+
# == Schema Information
|
9
|
+
#
|
10
|
+
# Table name: isbn_record_and_manifestations
|
11
|
+
#
|
12
|
+
# id :bigint not null, primary key
|
13
|
+
# isbn_record_id :bigint not null
|
14
|
+
# manifestation_id :bigint not null
|
15
|
+
# position :integer
|
16
|
+
# created_at :datetime not null
|
17
|
+
# updated_at :datetime not null
|
18
|
+
#
|
@@ -0,0 +1,49 @@
|
|
1
|
+
class IssnRecord < ActiveRecord::Base
|
2
|
+
has_many :issn_record_and_manifestations, dependent: :destroy
|
3
|
+
has_many :manifestations, through: :issn_record_and_manifestations
|
4
|
+
has_many :issn_record_and_periodicals, dependent: :destroy
|
5
|
+
has_many :periodicals, through: :issn_record_and_periodicals
|
6
|
+
validates :body, presence: true, uniqueness: {scope: :issn_type}
|
7
|
+
before_save :normalize_issn
|
8
|
+
strip_attributes
|
9
|
+
|
10
|
+
def normalize_issn
|
11
|
+
if StdNum::ISSN.valid?(body)
|
12
|
+
self.body = StdNum::ISSN.normalize(body)
|
13
|
+
else
|
14
|
+
errors.add(:body)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.new_records(issn_records_params)
|
19
|
+
return [] unless issn_records_params
|
20
|
+
issn_records = []
|
21
|
+
IssnRecord.transaction do
|
22
|
+
issn_records_params.each do |k, v|
|
23
|
+
next if v['_destroy'] == '1'
|
24
|
+
if v['body'].present?
|
25
|
+
issn_record = IssnRecord.where(body: v['body'].gsub(/[^0-9x]/i, '')).first_or_create!
|
26
|
+
elsif v['id'].present?
|
27
|
+
issn_record = IssnRecord.find(v['id'])
|
28
|
+
else
|
29
|
+
v.delete('_destroy')
|
30
|
+
issn_record = IssnRecord.create(v)
|
31
|
+
end
|
32
|
+
issn_records << issn_record
|
33
|
+
end
|
34
|
+
end
|
35
|
+
issn_records
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# == Schema Information
|
40
|
+
#
|
41
|
+
# Table name: issn_records
|
42
|
+
#
|
43
|
+
# id :bigint not null, primary key
|
44
|
+
# body :string not null
|
45
|
+
# issn_type :string
|
46
|
+
# source :string
|
47
|
+
# created_at :datetime not null
|
48
|
+
# updated_at :datetime not null
|
49
|
+
#
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class IssnRecordAndManifestation < ApplicationRecord
|
2
|
+
belongs_to :issn_record
|
3
|
+
belongs_to :manifestation
|
4
|
+
acts_as_list
|
5
|
+
validates :issn_record_id, uniqueness: {scope: :manifestation_id}
|
6
|
+
end
|
7
|
+
|
8
|
+
# == Schema Information
|
9
|
+
#
|
10
|
+
# Table name: issn_record_and_manifestations
|
11
|
+
#
|
12
|
+
# id :bigint not null, primary key
|
13
|
+
# issn_record_id :bigint not null
|
14
|
+
# manifestation_id :bigint not null
|
15
|
+
# position :integer
|
16
|
+
# created_at :datetime not null
|
17
|
+
# updated_at :datetime not null
|
18
|
+
#
|
data/app/models/item.rb
CHANGED
@@ -10,7 +10,7 @@ class Item < ApplicationRecord
|
|
10
10
|
delegate :display_name, to: :shelf, prefix: true
|
11
11
|
has_many :owns
|
12
12
|
has_many :agents, through: :owns
|
13
|
-
has_many :donates
|
13
|
+
has_many :donates
|
14
14
|
has_many :donors, through: :donates, source: :agent
|
15
15
|
has_one :resource_import_result
|
16
16
|
belongs_to :manifestation, touch: true
|
@@ -19,12 +19,10 @@ class Item < ApplicationRecord
|
|
19
19
|
belongs_to :budget_type, optional: true
|
20
20
|
has_one :accept, dependent: :destroy
|
21
21
|
has_one :withdraw, dependent: :destroy
|
22
|
-
|
22
|
+
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)}
|
23
23
|
|
24
24
|
belongs_to :shelf, counter_cache: true
|
25
|
-
accepts_nested_attributes_for :item_custom_values, reject_if: :all_blank
|
26
25
|
|
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
26
|
validates_associated :bookstore
|
29
27
|
validates :manifestation_id, presence: true
|
30
28
|
validates :item_identifier, allow_blank: true, uniqueness: true,
|
@@ -98,51 +96,6 @@ class Item < ApplicationRecord
|
|
98
96
|
true
|
99
97
|
end
|
100
98
|
end
|
101
|
-
|
102
|
-
def self.csv_header(role: 'Guest')
|
103
|
-
Item.new.to_hash(role: role).keys
|
104
|
-
end
|
105
|
-
|
106
|
-
def to_hash(role: 'Guest')
|
107
|
-
record = {
|
108
|
-
item_id: id,
|
109
|
-
item_identifier: item_identifier,
|
110
|
-
binding_item_identifier: binding_item_identifier,
|
111
|
-
call_number: call_number,
|
112
|
-
shelf: shelf&.name,
|
113
|
-
item_note: note,
|
114
|
-
accepted_at: accept&.created_at,
|
115
|
-
acquired_at: acquired_at,
|
116
|
-
item_created_at: created_at,
|
117
|
-
item_updated_at: updated_at
|
118
|
-
}
|
119
|
-
|
120
|
-
if ['Administrator', 'Librarian'].include?(role)
|
121
|
-
record.merge!({
|
122
|
-
bookstore: bookstore&.name,
|
123
|
-
budget_type: budget_type&.name,
|
124
|
-
item_required_role: required_role.name,
|
125
|
-
item_price: price,
|
126
|
-
memo: memo
|
127
|
-
})
|
128
|
-
|
129
|
-
ItemCustomProperty.order(:position).each do |custom_property|
|
130
|
-
custom_value = item_custom_values.find_by(item_custom_property: custom_property)
|
131
|
-
record[:"item:#{custom_property.name}"] = custom_value.try(:value)
|
132
|
-
end
|
133
|
-
|
134
|
-
if defined?(EnjuCirculation)
|
135
|
-
record.merge!({
|
136
|
-
use_restriction: use_restriction&.name,
|
137
|
-
circulation_status: circulation_status&.name,
|
138
|
-
checkout_type: checkout_type&.name,
|
139
|
-
total_checkouts: checkouts.count
|
140
|
-
})
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
record
|
145
|
-
end
|
146
99
|
end
|
147
100
|
|
148
101
|
# == Schema Information
|
@@ -172,5 +125,4 @@ end
|
|
172
125
|
# binding_call_number :string
|
173
126
|
# binded_at :datetime
|
174
127
|
# manifestation_id :integer not null
|
175
|
-
# memo :text
|
176
128
|
#
|