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.
- checksums.yaml +4 -4
- data/README.rdoc +3 -3
- data/Rakefile +1 -1
- data/app/assets/config/enju_biblio_manifest.js +0 -0
- data/app/controllers/agent_import_files_controller.rb +1 -1
- data/app/controllers/agent_merge_lists_controller.rb +1 -1
- data/app/controllers/agent_merges_controller.rb +1 -1
- data/app/controllers/agent_relationship_types_controller.rb +1 -1
- data/app/controllers/agent_relationships_controller.rb +1 -1
- data/app/controllers/agent_types_controller.rb +1 -1
- data/app/controllers/agents_controller.rb +2 -2
- data/app/controllers/carrier_types_controller.rb +2 -2
- data/app/controllers/concerns/enju_biblio/controller.rb +4 -4
- data/app/controllers/content_types_controller.rb +1 -1
- data/app/controllers/countries_controller.rb +1 -1
- data/app/controllers/create_types_controller.rb +1 -1
- data/app/controllers/creates_controller.rb +1 -1
- data/app/controllers/donates_controller.rb +1 -1
- data/app/controllers/form_of_works_controller.rb +1 -1
- data/app/controllers/frequencies_controller.rb +1 -1
- data/app/controllers/identifier_types_controller.rb +1 -1
- data/app/controllers/import_requests_controller.rb +1 -1
- data/app/controllers/items_controller.rb +3 -3
- data/app/controllers/languages_controller.rb +1 -1
- data/app/controllers/licenses_controller.rb +1 -1
- data/app/controllers/manifestation_relationship_types_controller.rb +1 -1
- data/app/controllers/manifestation_relationships_controller.rb +1 -1
- data/app/controllers/manifestations_controller.rb +13 -13
- data/app/controllers/medium_of_performances_controller.rb +1 -1
- data/app/controllers/owns_controller.rb +1 -1
- data/app/controllers/picture_files_controller.rb +1 -1
- data/app/controllers/produce_types_controller.rb +1 -1
- data/app/controllers/produces_controller.rb +1 -1
- data/app/controllers/realize_types_controller.rb +1 -1
- data/app/controllers/realizes_controller.rb +1 -1
- data/app/controllers/resource_export_files_controller.rb +1 -1
- data/app/controllers/resource_import_files_controller.rb +1 -1
- data/app/controllers/series_statement_merge_lists_controller.rb +1 -1
- data/app/controllers/series_statement_merges_controller.rb +1 -1
- data/app/controllers/series_statements_controller.rb +2 -2
- data/{lib/enju_biblio/biblio_helper.rb → app/helpers/enju_biblio/application_helper.rb} +1 -1
- data/app/models/agent.rb +2 -2
- data/app/models/agent_import_file.rb +3 -3
- data/app/models/agent_import_result.rb +1 -1
- data/app/models/agent_merge.rb +2 -2
- data/app/models/agent_relationship.rb +1 -1
- data/app/models/create.rb +1 -1
- data/app/models/identifier.rb +1 -2
- data/app/models/import_request.rb +1 -1
- data/app/models/item.rb +3 -3
- data/app/models/manifestation.rb +24 -20
- data/app/models/manifestation_relationship.rb +1 -1
- data/app/models/picture_file.rb +1 -1
- data/app/models/produce.rb +1 -1
- data/app/models/realize.rb +1 -1
- data/app/models/resource_export_file.rb +1 -1
- data/app/models/resource_import_file.rb +104 -94
- data/app/models/resource_import_result.rb +2 -2
- data/app/models/series_statement.rb +2 -2
- data/app/models/series_statement_merge.rb +2 -2
- data/app/views/agents/index.rss.builder +3 -3
- data/app/views/items/show.html.erb +1 -1
- data/app/views/manifestations/index.mods.builder +1 -1
- data/app/views/manifestations/index.rss.builder +1 -1
- data/app/views/manifestations/index.sru.builder +5 -5
- data/config/routes.rb +2 -2
- data/db/migrate/001_create_agents.rb +7 -7
- data/db/migrate/005_create_manifestations.rb +10 -10
- data/db/migrate/006_create_items.rb +6 -6
- data/db/migrate/012_create_owns.rb +3 -3
- data/db/migrate/015_create_creates.rb +3 -3
- data/db/migrate/047_create_produces.rb +3 -3
- data/db/migrate/073_create_carrier_types.rb +2 -2
- data/db/migrate/112_create_frequencies.rb +2 -2
- data/db/migrate/117_create_form_of_works.rb +2 -2
- data/db/migrate/125_create_donates.rb +3 -3
- data/db/migrate/133_create_agent_merges.rb +2 -2
- data/db/migrate/134_create_agent_merge_lists.rb +1 -1
- data/db/migrate/20080830154109_create_realizes.rb +3 -3
- data/db/migrate/20080905191442_create_agent_types.rb +2 -2
- data/db/migrate/20081025083323_create_countries.rb +5 -5
- data/db/migrate/20081025083905_create_languages.rb +6 -6
- data/db/migrate/20081027150907_create_picture_files.rb +2 -2
- data/db/migrate/20081028083142_create_agent_import_files.rb +1 -1
- data/db/migrate/20081028083208_create_resource_import_files.rb +1 -1
- data/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +1 -1
- data/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +1 -1
- data/db/migrate/20090720091106_create_medium_of_performances.rb +2 -2
- data/db/migrate/20090720091429_create_content_types.rb +2 -2
- data/db/migrate/20090812151902_create_agent_relationship_types.rb +2 -2
- data/db/migrate/20091012101112_add_dcndl_schema.rb +1 -1
- data/db/migrate/20091025080447_create_licenses.rb +2 -2
- data/db/migrate/20091214131723_create_series_statements.rb +1 -1
- data/db/migrate/20100129142347_create_import_requests.rb +1 -1
- data/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +1 -1
- data/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +1 -1
- data/db/migrate/20100525124311_create_manifestation_relationships.rb +1 -1
- data/db/migrate/20100606073747_create_agent_relationships.rb +1 -1
- data/db/migrate/20100607044753_create_manifestation_relationship_types.rb +2 -2
- data/db/migrate/20100814091104_add_position_to_agent_relationship.rb +1 -1
- data/db/migrate/20100925043847_create_resource_import_results.rb +1 -1
- data/db/migrate/20100925074559_create_agent_import_results.rb +1 -1
- data/db/migrate/20101212070145_add_acquired_at_to_item.rb +1 -1
- data/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +1 -1
- data/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb +1 -1
- data/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +1 -1
- data/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +1 -1
- data/db/migrate/20110620173525_add_bookstore_id_to_item.rb +1 -1
- data/db/migrate/20110627034940_create_series_statement_merge_lists.rb +1 -1
- data/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
- data/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +1 -1
- data/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +1 -1
- data/db/migrate/20110918162329_add_note_to_series_statement.rb +1 -1
- data/db/migrate/20111124110059_create_create_types.rb +1 -1
- data/db/migrate/20111124110319_create_realize_types.rb +1 -1
- data/db/migrate/20111124110355_create_produce_types.rb +1 -1
- data/db/migrate/20111124112131_add_create_type_to_create.rb +1 -1
- data/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +1 -1
- data/db/migrate/20120129020544_add_budget_type_id_to_item.rb +1 -1
- data/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +2 -2
- data/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +1 -1
- data/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +1 -1
- data/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +1 -1
- data/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +1 -1
- data/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +1 -1
- data/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +1 -1
- data/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +1 -1
- data/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +1 -1
- data/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +1 -1
- data/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +1 -1
- data/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +1 -1
- data/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +1 -1
- data/db/migrate/20130421093852_add_periodical_to_manifestation.rb +1 -1
- data/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +1 -1
- data/db/migrate/20130421164124_add_series_master_to_series_statement.rb +1 -1
- data/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +1 -1
- data/db/migrate/20130506175303_create_identifier_types.rb +1 -1
- data/db/migrate/20130506175834_create_identifiers.rb +3 -3
- data/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
- data/db/migrate/20140519170214_create_resource_import_file_transitions.rb +1 -1
- data/db/migrate/20140519171220_create_import_request_transitions.rb +1 -1
- data/db/migrate/20140524020735_create_agent_import_file_transitions.rb +1 -1
- data/db/migrate/20140614065404_create_resource_export_files.rb +1 -1
- data/db/migrate/20140614141500_create_resource_export_file_transitions.rb +1 -1
- data/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +1 -1
- data/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +1 -1
- data/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +1 -1
- data/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +1 -1
- data/db/migrate/20140802082007_add_manifestation_id_to_item.rb +1 -1
- data/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
- data/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +1 -1
- data/db/migrate/20140823083524_add_extent_to_manifestation.rb +1 -1
- data/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +1 -1
- data/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.rb +1 -1
- data/db/migrate/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +1 -1
- data/db/migrate/20151125004028_add_profile_id_to_agent.rb +1 -1
- data/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +1 -1
- data/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +1 -1
- data/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +1 -1
- data/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +1 -1
- data/db/migrate/20160811102604_add_picture_width_to_picture_file.rb +1 -1
- data/db/migrate/20160820004638_add_attachment_attachment_to_carrier_types.rb +1 -1
- data/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +1 -1
- data/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +1 -1
- data/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +1 -1
- data/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +1 -1
- data/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +1 -1
- data/lib/enju_biblio.rb +0 -1
- data/lib/enju_biblio/openurl.rb +16 -17
- data/lib/enju_biblio/porta_cql.rb +7 -8
- data/lib/enju_biblio/sru.rb +11 -12
- data/lib/enju_biblio/version.rb +1 -1
- data/lib/generators/enju_biblio/setup/templates/config/schedule.rb +2 -2
- data/lib/tasks/agent_type.rb +2 -2
- data/lib/tasks/content_type.rb +2 -2
- data/lib/tasks/enju_biblio_tasks.rake +4 -4
- data/lib/tasks/identifier_type.rb +2 -2
- data/spec/cassette_library/ResourceImportFile/when_its_mode_is_create_/NDLBibID/should_import_NDLBibID.yml +65 -0
- data/spec/controllers/agent_import_files_controller_spec.rb +23 -24
- data/spec/controllers/agent_import_results_controller_spec.rb +4 -5
- data/spec/controllers/agent_merge_lists_controller_spec.rb +48 -48
- data/spec/controllers/agent_merges_controller_spec.rb +44 -44
- data/spec/controllers/agent_relationship_types_controller_spec.rb +45 -45
- data/spec/controllers/agent_relationships_controller_spec.rb +45 -45
- data/spec/controllers/agent_types_controller_spec.rb +18 -18
- data/spec/controllers/agents_controller_spec.rb +59 -59
- data/spec/controllers/carrier_types_controller_spec.rb +20 -20
- data/spec/controllers/content_types_controller_spec.rb +18 -18
- data/spec/controllers/countries_controller_spec.rb +47 -47
- data/spec/controllers/create_types_controller_spec.rb +17 -17
- data/spec/controllers/creates_controller_spec.rb +46 -46
- data/spec/controllers/donates_controller_spec.rb +45 -45
- data/spec/controllers/form_of_works_controller_spec.rb +17 -17
- data/spec/controllers/frequencies_controller_spec.rb +18 -18
- data/spec/controllers/identifier_types_controller_spec.rb +17 -17
- data/spec/controllers/import_requests_controller_spec.rb +48 -48
- data/spec/controllers/items_controller_spec.rb +69 -88
- data/spec/controllers/languages_controller_spec.rb +31 -31
- data/spec/controllers/licenses_controller_spec.rb +17 -17
- data/spec/controllers/manifestation_relationship_types_controller_spec.rb +45 -45
- data/spec/controllers/manifestation_relationships_controller_spec.rb +45 -45
- data/spec/controllers/manifestations_controller_spec.rb +95 -117
- data/spec/controllers/medium_of_performances_controller_spec.rb +17 -17
- data/spec/controllers/owns_controller_spec.rb +45 -45
- data/spec/controllers/picture_files_controller_spec.rb +46 -46
- data/spec/controllers/produce_types_controller_spec.rb +17 -17
- data/spec/controllers/produces_controller_spec.rb +46 -46
- data/spec/controllers/realize_types_controller_spec.rb +17 -17
- data/spec/controllers/realizes_controller_spec.rb +47 -47
- data/spec/controllers/resource_export_files_controller_spec.rb +23 -23
- data/spec/controllers/resource_import_files_controller_spec.rb +24 -24
- data/spec/controllers/resource_import_results_controller_spec.rb +12 -13
- data/spec/controllers/series_statement_merge_lists_controller_spec.rb +46 -46
- data/spec/controllers/series_statement_merges_controller_spec.rb +44 -44
- data/spec/controllers/series_statements_controller_spec.rb +46 -46
- data/spec/dummy/app/controllers/application_controller.rb +1 -1
- data/spec/dummy/app/helpers/application_helper.rb +2 -2
- data/spec/dummy/app/models/local_agent.rb +1 -1
- data/spec/dummy/app/models/user.rb +0 -2
- data/spec/dummy/bin/rails +1 -1
- data/spec/dummy/bin/setup +21 -12
- data/spec/dummy/bin/update +29 -0
- data/spec/dummy/bin/yarn +11 -0
- data/spec/dummy/config/application.rb +8 -22
- data/spec/dummy/config/boot.rb +2 -2
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/database.yml +17 -22
- data/spec/dummy/config/environment.rb +1 -1
- data/spec/dummy/config/environments/development.rb +24 -11
- data/spec/dummy/config/environments/production.rb +28 -16
- data/spec/dummy/config/environments/test.rb +8 -7
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +6 -3
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +7 -7
- data/spec/dummy/config/initializers/mime_types.rb +0 -1
- data/spec/dummy/config/initializers/wrap_parameters.rb +5 -5
- data/spec/dummy/config/locales/en.yml +32 -207
- data/spec/dummy/config/puma.rb +56 -0
- data/spec/dummy/config/secrets.yml +32 -0
- data/spec/dummy/config/spring.rb +6 -0
- data/spec/dummy/config/sunspot.yml +23 -0
- data/spec/dummy/db/migrate/002_devise_create_users.rb +6 -6
- data/spec/dummy/db/migrate/029_create_subjects.rb +4 -4
- data/spec/dummy/db/migrate/032_create_checkins.rb +2 -2
- data/spec/dummy/db/migrate/033_create_checkouts.rb +5 -5
- data/spec/dummy/db/migrate/035_create_reserves.rb +6 -6
- data/spec/dummy/db/migrate/041_create_roles.rb +3 -3
- data/spec/dummy/db/migrate/055_create_bookmarks.rb +3 -3
- data/spec/dummy/db/migrate/059_create_libraries.rb +1 -1
- data/spec/dummy/db/migrate/069_create_shelves.rb +1 -1
- data/spec/dummy/db/migrate/077_create_user_groups.rb +2 -2
- data/spec/dummy/db/migrate/080_create_library_groups.rb +1 -1
- data/spec/dummy/db/migrate/113_create_events.rb +4 -4
- data/spec/dummy/db/migrate/114_create_event_categories.rb +2 -2
- data/spec/dummy/db/migrate/120_create_baskets.rb +1 -1
- data/spec/dummy/db/migrate/121_create_checked_items.rb +4 -4
- data/spec/dummy/db/migrate/124_create_bookstores.rb +2 -2
- data/spec/dummy/db/migrate/127_create_use_restrictions.rb +2 -2
- data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +3 -3
- data/spec/dummy/db/migrate/130_create_request_status_types.rb +2 -2
- data/spec/dummy/db/migrate/131_create_request_types.rb +2 -2
- data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +2 -2
- data/spec/dummy/db/migrate/142_create_classifications.rb +3 -3
- data/spec/dummy/db/migrate/144_create_classification_types.rb +2 -2
- data/spec/dummy/db/migrate/145_create_subject_heading_types.rb +2 -2
- data/spec/dummy/db/migrate/146_create_subject_types.rb +2 -2
- data/spec/dummy/db/migrate/149_create_message_templates.rb +6 -6
- data/spec/dummy/db/migrate/154_create_messages.rb +3 -3
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +1 -1
- data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +1 -1
- data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +1 -1
- data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +6 -6
- data/spec/dummy/db/migrate/20081028093607_create_event_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +2 -2
- data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +9 -9
- data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +4 -4
- data/spec/dummy/db/migrate/20081117143156_create_inventory_files.rb +1 -1
- data/spec/dummy/db/migrate/20081117143455_create_inventories.rb +1 -1
- data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +5 -5
- data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081212151614_create_bookmark_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081212151820_create_bookmark_stat_has_manifestations.rb +3 -3
- data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +4 -4
- data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +4 -4
- data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +1 -1
- data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +3 -3
- data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +1 -1
- data/spec/dummy/db/migrate/20090519203307_create_participates.rb +3 -3
- data/spec/dummy/db/migrate/20090706125521_add_attachments_inventory_to_inventory_file.rb +1 -1
- data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +7 -7
- data/spec/dummy/db/migrate/20091202124834_create_versions.rb +4 -4
- data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20100525171356_acts_as_taggable_on_migration.rb +3 -3
- data/spec/dummy/db/migrate/20100606065209_create_user_has_roles.rb +1 -1
- data/spec/dummy/db/migrate/20100925074639_create_event_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +2 -2
- data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +1 -1
- data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +4 -4
- data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +1 -1
- data/spec/dummy/db/migrate/20110913120629_add_lft_and_rgt_to_classification.rb +1 -1
- data/spec/dummy/db/migrate/20111217234412_add_save_checkout_history_to_user.rb +2 -2
- data/spec/dummy/db/migrate/20111218002349_add_checkout_icalendar_token_to_user.rb +2 -2
- data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +1 -1
- data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +1 -1
- data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +1 -1
- data/spec/dummy/db/migrate/20120406020752_add_url_to_subject.rb +1 -1
- data/spec/dummy/db/migrate/20120413051535_add_event_import_fingerprint_to_event_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413100431_add_fingerprint_to_inventory_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413170734_add_error_message_to_event_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120415060342_rename_event_import_file_imported_at_to_executed_at.rb +1 -1
- data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +1 -1
- data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +2 -2
- data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +4 -4
- data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +3 -3
- data/spec/dummy/db/migrate/20130504133816_add_manifestation_id_to_subject.rb +1 -1
- data/spec/dummy/db/migrate/20130504143515_add_manifestation_id_to_classification.rb +1 -1
- data/spec/dummy/db/migrate/20130504195916_add_subject_heading_type_id_to_subject.rb +1 -1
- data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +2 -2
- data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +2 -2
- data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +2 -2
- data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +1 -1
- 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/20140524074813_create_user_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140524135607_create_bookmark_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +1 -1
- data/spec/dummy/db/migrate/20140628071719_add_user_encoding_to_event_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +1 -1
- data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.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/20140810061942_add_user_id_to_user_checkout_stat.rb +1 -1
- data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +2 -2
- data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +2 -2
- data/spec/dummy/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20140812093836_add_share_bookmarks_to_profile.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/20140821151023_create_colors.rb +1 -1
- data/spec/dummy/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +1 -1
- data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +1 -1
- data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +1 -1
- data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +1 -1
- data/spec/dummy/db/migrate/20160813191533_add_book_jacket_source_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813191647_add_max_number_of_results_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813191733_add_family_name_first_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/20160813192542_add_pub_year_facet_range_interval_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160813203039_add_user_id_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +1 -1
- data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +1 -1
- data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +1 -1
- data/spec/dummy/db/schema.rb +930 -1014
- data/spec/factories/agent.rb +1 -1
- data/spec/factories/{patron_relationship.rb → agent_relationship.rb} +1 -0
- data/spec/factories/{patron_relationship_type.rb → agent_relationship_type.rb} +0 -0
- data/spec/factories/{patron_type.rb → agent_type.rb} +0 -0
- data/spec/factories/bookstores.rb +5 -0
- data/spec/factories/budget_types.rb +5 -0
- data/spec/factories/checkout.rb +1 -1
- data/spec/factories/create.rb +4 -3
- data/spec/factories/identifier.rb +3 -3
- data/spec/factories/import_request.rb +3 -2
- data/spec/factories/item.rb +6 -4
- data/spec/factories/library.rb +1 -1
- data/spec/factories/manifestation_relationship.rb +4 -3
- data/spec/factories/manifestation_relationship_type.rb +2 -2
- data/spec/factories/profile.rb +1 -1
- data/spec/models/agent_import_file_spec.rb +18 -10
- data/spec/models/agent_import_result_spec.rb +1 -2
- data/spec/models/agent_merge_list_spec.rb +1 -2
- data/spec/models/agent_merge_spec.rb +1 -2
- data/spec/models/agent_relationship_spec.rb +1 -2
- data/spec/models/agent_relationship_type_spec.rb +1 -2
- data/spec/models/agent_spec.rb +4 -5
- data/spec/models/agent_type_spec.rb +1 -2
- data/spec/models/carrier_type_spec.rb +0 -1
- data/spec/models/content_type_spec.rb +1 -2
- data/spec/models/country_spec.rb +1 -2
- data/spec/models/create_spec.rb +1 -2
- data/spec/models/donate_spec.rb +1 -2
- data/spec/models/form_of_work_spec.rb +1 -2
- data/spec/models/frequency_spec.rb +0 -1
- data/spec/models/identifier_spec.rb +1 -2
- data/spec/models/identifier_type_spec.rb +1 -2
- data/spec/models/import_request_spec.rb +2 -3
- data/spec/models/item_spec.rb +2 -3
- data/spec/models/language_spec.rb +1 -2
- data/spec/models/license_spec.rb +1 -2
- data/spec/models/manifestation_relationship_spec.rb +1 -2
- data/spec/models/manifestation_relationship_type_spec.rb +1 -2
- data/spec/models/manifestation_spec.rb +57 -48
- data/spec/models/medium_of_performance_spec.rb +1 -2
- data/spec/models/own_spec.rb +1 -2
- data/spec/models/picture_file_spec.rb +1 -2
- data/spec/models/produce_spec.rb +1 -2
- data/spec/models/realize_spec.rb +1 -2
- data/spec/models/resource_export_file_spec.rb +0 -1
- data/spec/models/resource_import_file_spec.rb +99 -55
- data/spec/models/resource_import_result_spec.rb +1 -2
- data/spec/models/series_statement_merge_spec.rb +1 -1
- data/spec/rails_helper.rb +0 -14
- data/spec/requests/agents_spec.rb +1 -1
- data/spec/requests/items_spec.rb +3 -2
- data/spec/requests/manifestations_spec.rb +1 -1
- data/spec/routing/agent_relationship_types_routing_spec.rb +7 -7
- data/spec/routing/agent_relationships_routing_spec.rb +7 -7
- data/spec/routing/agents_routing_spec.rb +7 -7
- data/spec/routing/content_types_routing_spec.rb +7 -7
- data/spec/routing/create_types_routing_spec.rb +4 -4
- data/spec/routing/creates_routing_spec.rb +7 -7
- data/spec/routing/items_routing_spec.rb +7 -7
- data/spec/routing/licenses_routing_spec.rb +7 -7
- data/spec/routing/manifestation_relationship_types_routing_spec.rb +7 -7
- data/spec/routing/manifestation_relationships_routing_spec.rb +7 -7
- data/spec/routing/manifestations_routing_spec.rb +8 -8
- data/spec/routing/produce_types_routing_spec.rb +4 -4
- data/spec/routing/realize_types_routing_spec.rb +4 -4
- data/spec/routing/realizes_routing_spec.rb +7 -7
- data/spec/routing/resource_export_files_routing_spec.rb +4 -4
- data/spec/routing/series_statement_merge_lists_routing_spec.rb +4 -4
- data/spec/routing/series_statement_merges_routing_spec.rb +4 -4
- data/spec/support/resque.rb +2 -2
- data/spec/views/agent_types/edit.html.erb_spec.rb +8 -8
- data/spec/views/agent_types/index.html.erb_spec.rb +8 -9
- data/spec/views/agent_types/new.html.erb_spec.rb +8 -8
- data/spec/views/agent_types/show.html.erb_spec.rb +4 -4
- data/spec/views/create_types/edit.html.erb_spec.rb +8 -8
- data/spec/views/create_types/index.html.erb_spec.rb +8 -9
- data/spec/views/create_types/new.html.erb_spec.rb +8 -8
- data/spec/views/create_types/show.html.erb_spec.rb +4 -4
- data/spec/views/creates/edit.html.erb_spec.rb +4 -4
- data/spec/views/creates/index.html.erb_spec.rb +5 -5
- data/spec/views/creates/new.html.erb_spec.rb +4 -4
- data/spec/views/creates/show.html.erb_spec.rb +2 -2
- data/spec/views/import_requests/edit.html.erb_spec.rb +4 -4
- data/spec/views/import_requests/index.html.erb_spec.rb +9 -10
- data/spec/views/import_requests/new.html.erb_spec.rb +6 -6
- data/spec/views/import_requests/show.html.erb_spec.rb +2 -2
- data/spec/views/items/index.html.erb_spec.rb +2 -2
- data/spec/views/manifestations/index.rdf.builder_spec.rb +2 -2
- data/spec/views/manifestations/index.txt.erb_spec.rb +1 -1
- data/spec/views/owns/edit.html.erb_spec.rb +4 -4
- data/spec/views/owns/index.html.erb_spec.rb +5 -5
- data/spec/views/owns/new.html.erb_spec.rb +4 -4
- data/spec/views/owns/show.html.erb_spec.rb +2 -2
- data/spec/views/produce_types/edit.html.erb_spec.rb +8 -8
- data/spec/views/produce_types/index.html.erb_spec.rb +8 -9
- data/spec/views/produce_types/new.html.erb_spec.rb +8 -8
- data/spec/views/produce_types/show.html.erb_spec.rb +4 -4
- data/spec/views/produces/edit.html.erb_spec.rb +5 -5
- data/spec/views/produces/index.html.erb_spec.rb +5 -5
- data/spec/views/produces/new.html.erb_spec.rb +5 -5
- data/spec/views/produces/show.html.erb_spec.rb +2 -2
- data/spec/views/realize_types/edit.html.erb_spec.rb +8 -8
- data/spec/views/realize_types/index.html.erb_spec.rb +8 -9
- data/spec/views/realize_types/new.html.erb_spec.rb +8 -8
- data/spec/views/realize_types/show.html.erb_spec.rb +4 -4
- data/spec/views/realizes/edit.html.erb_spec.rb +5 -5
- data/spec/views/realizes/index.html.erb_spec.rb +5 -5
- data/spec/views/realizes/new.html.erb_spec.rb +5 -5
- data/spec/views/realizes/show.html.erb_spec.rb +2 -2
- data/spec/views/resource_export_files/index.html.erb_spec.rb +1 -1
- data/spec/views/series_statement_merge_lists/edit.html.erb_spec.rb +3 -3
- data/spec/views/series_statement_merge_lists/index.html.erb_spec.rb +5 -5
- data/spec/views/series_statement_merge_lists/new.html.erb_spec.rb +3 -3
- data/spec/views/series_statement_merge_lists/show.html.erb_spec.rb +1 -1
- data/spec/views/series_statement_merges/edit.html.erb_spec.rb +5 -5
- data/spec/views/series_statement_merges/index.html.erb_spec.rb +5 -5
- data/spec/views/series_statement_merges/new.html.erb_spec.rb +5 -5
- metadata +67 -68
@@ -82,7 +82,7 @@ class ProducesController < ApplicationController
|
|
82
82
|
end
|
83
83
|
|
84
84
|
respond_to do |format|
|
85
|
-
if @produce.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
|
-
|
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.
|
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
|
data/app/models/agent.rb
CHANGED
@@ -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'
|
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
|
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
|
|
data/app/models/agent_merge.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class AgentMerge < ActiveRecord::Base
|
2
|
-
belongs_to :agent
|
3
|
-
belongs_to :agent_merge_list
|
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
|
data/app/models/create.rb
CHANGED
@@ -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
|
data/app/models/identifier.rb
CHANGED
@@ -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
|
data/app/models/item.rb
CHANGED
@@ -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,
|
17
|
-
belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id'
|
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
|
data/app/models/manifestation.rb
CHANGED
@@ -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'
|
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.
|
396
|
+
creates.find_by(agent_id: agent.id)
|
397
397
|
end
|
398
398
|
|
399
399
|
def realized(agent)
|
400
|
-
realizes.
|
400
|
+
realizes.find_by(agent_id: agent.id)
|
401
401
|
end
|
402
402
|
|
403
403
|
def produced(agent)
|
404
|
-
produces.
|
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.
|
424
|
+
identifier_type = IdentifierType.find_by(name: 'isbn')
|
425
425
|
return nil unless identifier_type
|
426
|
-
Manifestation.includes(identifiers: :identifier_type).where(
|
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.
|
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.
|
450
|
+
agent = Agent.find_by(agent_identifier: agent_list[:agent_identifier])
|
451
451
|
end
|
452
|
-
agent = 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.
|
460
|
-
create = Create.
|
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.
|
467
|
+
produce = Produce.find_by(manifestation_id: id, agent_id: agent.id)
|
468
468
|
if produce
|
469
|
-
produce.produce_type = ProduceType.
|
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.
|
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
|
-
|
640
|
-
|
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(:
|
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
|
-
|
727
|
-
|
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.
|
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
|
data/app/models/picture_file.rb
CHANGED
@@ -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
|
3
|
+
belongs_to :picture_attachable, polymorphic: true
|
4
4
|
before_save :extract_dimensions
|
5
5
|
|
6
6
|
if ENV['ENJU_STORAGE'] == 's3'
|
data/app/models/produce.rb
CHANGED
@@ -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
|
data/app/models/realize.rb
CHANGED
@@ -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
|
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.
|
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.
|
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.
|
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.
|
114
|
-
identifier_type_doi = IdentifierType.
|
115
|
-
manifestation = Identifier.
|
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.
|
123
|
-
identifier_type_jpno = IdentifierType.
|
124
|
-
manifestation = Identifier.
|
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.
|
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.
|
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.
|
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.
|
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?
|
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.
|
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.
|
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.
|
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.
|
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.
|
312
|
-
circulation_status = CirculationStatus.
|
313
|
-
checkout_type = CheckoutType.
|
314
|
-
bookstore = Bookstore.
|
315
|
-
required_role = Role.
|
316
|
-
use_restriction = UseRestriction.
|
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.
|
362
|
+
manifestation = Manifestation.find_by(manifestation_identifier: manifestation_identifier) if manifestation_identifier.present?
|
356
363
|
unless manifestation
|
357
|
-
manifestation = Manifestation.
|
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.
|
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.
|
411
|
+
item = Item.find_by(item_identifier: item_identifier)
|
405
412
|
unless item
|
406
|
-
item = Item.
|
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.
|
417
|
+
manifestation = Manifestation.find_by(manifestation_identifier: manifestation_identifier)
|
411
418
|
unless manifestation
|
412
|
-
manifestation = Manifestation.
|
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.
|
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.
|
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.
|
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.
|
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.
|
512
|
-
budget_type = BudgetType.
|
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.
|
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.
|
539
|
+
use_restriction = UseRestriction.find_by(name: row['use_restriction'].to_s.strip)
|
532
540
|
unless use_restriction
|
533
|
-
use_restriction = UseRestriction.
|
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.
|
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.
|
558
|
-
manifestation = 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
|
-
:
|
629
|
-
:
|
630
|
-
:
|
631
|
-
:
|
632
|
-
:
|
633
|
-
:
|
634
|
-
:
|
635
|
-
:
|
636
|
-
:
|
637
|
-
:
|
638
|
-
:
|
639
|
-
:
|
640
|
-
:
|
641
|
-
:
|
642
|
-
:
|
643
|
-
:
|
644
|
-
:
|
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
|
-
:
|
647
|
-
:
|
648
|
-
:
|
649
|
-
:
|
650
|
-
:
|
651
|
-
:
|
652
|
-
:
|
653
|
-
:
|
654
|
-
:
|
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.
|
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.
|
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.
|
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
|
-
:
|
691
|
-
:
|
692
|
-
:
|
693
|
-
:
|
694
|
-
:
|
695
|
-
:
|
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
|
-
|
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
|
709
|
-
|
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 <<
|
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
|
-
|
755
|
+
identifiers = []
|
748
756
|
%w(isbn issn doi jpno ncid).each do |id_type|
|
749
757
|
if row["#{id_type}"].present?
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
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
|
-
|
767
|
+
identifiers
|
758
768
|
end
|
759
769
|
end
|
760
770
|
|