enju_biblio 0.3.18 → 0.4.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -3
- data/app/controllers/agent_import_results_controller.rb +1 -1
- data/app/controllers/agents_controller.rb +6 -0
- data/app/controllers/content_types_controller.rb +1 -1
- data/app/controllers/items_controller.rb +12 -20
- data/app/controllers/manifestations_controller.rb +89 -84
- data/app/controllers/resource_import_results_controller.rb +3 -7
- data/app/controllers/series_statements_controller.rb +6 -0
- data/app/helpers/enju_biblio/application_helper.rb +5 -5
- data/app/helpers/manifestations_helper.rb +12 -12
- data/app/models/agent.rb +4 -13
- 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/{models2 → models}/doi_record.rb +0 -0
- data/app/models/form_of_work.rb +11 -8
- data/app/models/frequency.rb +11 -8
- data/app/models/identifier.rb +1 -5
- data/app/models/identifier_type.rb +1 -0
- data/app/models/import_request.rb +3 -4
- data/app/{models2 → models}/isbn_record.rb +1 -1
- data/app/{models2 → models}/isbn_record_and_manifestation.rb +0 -0
- data/app/{models2 → models}/issn_record.rb +1 -1
- data/app/{models2 → models}/issn_record_and_manifestation.rb +0 -0
- data/app/models/item.rb +7 -56
- data/app/models/language.rb +10 -9
- data/app/models/license.rb +9 -7
- data/app/models/manifestation.rb +272 -160
- data/app/models/manifestation_relationship_type.rb +9 -7
- data/app/models/medium_of_performance.rb +11 -8
- data/app/{models2 → models}/periodical.rb +0 -0
- data/app/{models2 → models}/periodical_and_manifestation.rb +0 -0
- data/app/models/picture_file.rb +3 -1
- 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 +66 -161
- data/app/views/agent_import_results/index.txt.erb +3 -0
- data/app/views/agent_relationship_types/index.html.erb +4 -4
- 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 +3 -3
- 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/index.txt.erb +4 -0
- data/app/views/items/show.html+phone.erb +5 -5
- data/app/views/items/show.html.erb +119 -134
- 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/_book_jacket.html.erb +5 -9
- data/app/views/manifestations/_call_number.html.erb +3 -3
- data/app/views/manifestations/_carrier_type_facet.html.erb +1 -1
- data/app/views/manifestations/_classification_facet.html.erb +2 -2
- data/app/views/manifestations/_colorbox.html.erb +1 -1
- data/app/views/manifestations/_export_detail.html.erb +0 -1
- data/app/views/manifestations/_export_list.html.erb +3 -4
- data/app/views/manifestations/_form.html.erb +8 -31
- data/app/views/manifestations/_identifier_fields.html.erb +1 -1
- data/app/views/manifestations/_language_facet.html.erb +1 -1
- data/app/views/manifestations/_library_facet.html.erb +1 -1
- data/app/views/manifestations/_manifestation.txt.erb +1 -1
- data/app/views/manifestations/_pickup.html.erb +1 -1
- data/app/views/manifestations/_pub_year_facet.html.erb +1 -1
- data/app/views/manifestations/_reservable_facet.html.erb +2 -2
- data/app/views/manifestations/_show_creators.html.erb +1 -1
- data/app/views/manifestations/_show_detail_librarian.html.erb +13 -37
- data/app/views/manifestations/_show_detail_user.html.erb +13 -25
- 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/_title.html.erb +1 -1
- data/app/views/manifestations/explain.sru +9 -0
- data/app/views/manifestations/index.atom.builder +1 -1
- data/app/views/manifestations/index.html.erb +7 -7
- data/app/views/manifestations/index.opds.builder +1 -1
- data/app/views/manifestations/index.rdf.builder +3 -3
- data/app/views/manifestations/index.rss.builder +3 -3
- data/app/views/manifestations/index.sru.builder +101 -0
- data/app/views/manifestations/index.txt.erb +1 -0
- data/app/views/manifestations/show.html.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/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/enju_biblio.rb +2 -0
- 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 -64
- data/spec/controllers/manifestations_controller_spec.rb +21 -51
- 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 -13
- 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 +1 -3
- 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 +82 -39
- 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 +3 -7
- 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 -62
- 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.html.erb_spec.rb +1 -1
- data/spec/views/manifestations/index.rdf.builder_spec.rb +1 -0
- data/spec/views/manifestations/{index.text.ruby_spec.rb → index.txt.erb_spec.rb} +1 -1
- data/spec/views/manifestations/{show.text.ruby_spec.rb → show.txt.erb_spec.rb} +2 -2
- data/spec/views/resource_import_results/show.html.erb_spec.rb +1 -1
- metadata +571 -788
- 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/models2/agent.rb +0 -331
- data/app/models2/agent_import_file.rb +0 -259
- data/app/models2/agent_import_file_state_machine.rb +0 -19
- data/app/models2/agent_import_file_transition.rb +0 -20
- data/app/models2/agent_import_result.rb +0 -20
- data/app/models2/agent_merge.rb +0 -17
- data/app/models2/agent_merge_list.rb +0 -27
- data/app/models2/agent_relationship.rb +0 -24
- data/app/models2/agent_relationship_type.rb +0 -20
- data/app/models2/agent_type.rb +0 -19
- data/app/models2/carrier_type.rb +0 -50
- data/app/models2/content_type.rb +0 -19
- data/app/models2/country.rb +0 -47
- data/app/models2/create.rb +0 -29
- data/app/models2/create_type.rb +0 -19
- data/app/models2/donate.rb +0 -15
- data/app/models2/form_of_work.rb +0 -19
- data/app/models2/frequency.rb +0 -19
- data/app/models2/identifier.rb +0 -83
- data/app/models2/identifier_type.rb +0 -18
- data/app/models2/import_request.rb +0 -77
- data/app/models2/import_request_state_machine.rb +0 -9
- data/app/models2/import_request_transition.rb +0 -21
- data/app/models2/item.rb +0 -173
- data/app/models2/item_custom_property.rb +0 -18
- data/app/models2/item_custom_value.rb +0 -17
- data/app/models2/language.rb +0 -39
- data/app/models2/license.rb +0 -18
- data/app/models2/manifestation.rb +0 -764
- data/app/models2/manifestation_custom_property.rb +0 -18
- data/app/models2/manifestation_custom_value.rb +0 -17
- data/app/models2/manifestation_relationship.rb +0 -27
- data/app/models2/manifestation_relationship_type.rb +0 -20
- data/app/models2/medium_of_performance.rb +0 -19
- data/app/models2/own.rb +0 -29
- data/app/models2/picture_file.rb +0 -60
- data/app/models2/produce.rb +0 -30
- data/app/models2/produce_type.rb +0 -19
- data/app/models2/realize.rb +0 -29
- data/app/models2/realize_type.rb +0 -19
- data/app/models2/resource_export_file.rb +0 -64
- data/app/models2/resource_export_file_state_machine.rb +0 -15
- data/app/models2/resource_export_file_transition.rb +0 -21
- data/app/models2/resource_import_file.rb +0 -909
- data/app/models2/resource_import_file_state_machine.rb +0 -19
- data/app/models2/resource_import_file_transition.rb +0 -21
- data/app/models2/resource_import_result.rb +0 -24
- data/app/models2/series_statement.rb +0 -72
- data/app/models2/series_statement_merge.rb +0 -17
- data/app/models2/series_statement_merge_list.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.text.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/index.text.ruby +0 -13
- 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.text.ruby +0 -13
- data/app/views/manifestations/show.json.jbuilder +0 -2
- data/app/views/manifestations/show.text.ruby +0 -5
- data/app/views/resource_import_results/index.text.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/dummy/yarn.lock +0 -7560
- 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 -121
- 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.text.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.text.ruby_spec.rb +0 -22
data/app/models2/identifier.rb
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
class Identifier < ApplicationRecord
|
2
|
-
belongs_to :identifier_type
|
3
|
-
belongs_to :manifestation, touch: true, optional: true
|
4
|
-
|
5
|
-
validates :body, presence: true
|
6
|
-
validates :body, uniqueness: { scope: [:identifier_type_id, :manifestation_id] }
|
7
|
-
validate :check_identifier
|
8
|
-
before_validation :normalize
|
9
|
-
before_save :convert_isbn
|
10
|
-
scope :id_type, -> type {
|
11
|
-
where(identifier_type: IdentifierType.find_by(name: type))
|
12
|
-
}
|
13
|
-
|
14
|
-
acts_as_list scope: :manifestation_id
|
15
|
-
strip_attributes only: :body
|
16
|
-
|
17
|
-
def check_identifier
|
18
|
-
case identifier_type&.name
|
19
|
-
when 'isbn'
|
20
|
-
unless StdNum::ISBN.valid?(body)
|
21
|
-
errors.add(:body)
|
22
|
-
end
|
23
|
-
|
24
|
-
when 'issn'
|
25
|
-
unless StdNum::ISSN.valid?(body)
|
26
|
-
errors.add(:body)
|
27
|
-
end
|
28
|
-
|
29
|
-
when 'lccn'
|
30
|
-
unless StdNum::LCCN.valid?(body)
|
31
|
-
errors.add(:body)
|
32
|
-
end
|
33
|
-
|
34
|
-
when 'doi'
|
35
|
-
if URI.parse(body).scheme
|
36
|
-
errors.add(:body)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def convert_isbn
|
42
|
-
if identifier_type.name == 'isbn'
|
43
|
-
lisbn = Lisbn.new(body)
|
44
|
-
if lisbn.isbn
|
45
|
-
if lisbn.isbn.length == 10
|
46
|
-
self.body = lisbn.isbn13
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def hyphenated_isbn
|
53
|
-
if identifier_type.name == 'isbn'
|
54
|
-
lisbn = Lisbn.new(body)
|
55
|
-
lisbn.parts.join('-')
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
def normalize
|
60
|
-
case identifier_type&.name
|
61
|
-
when 'isbn'
|
62
|
-
self.body = StdNum::ISBN.normalize(body)
|
63
|
-
when 'issn'
|
64
|
-
self.body = StdNum::ISSN.normalize(body)
|
65
|
-
when 'lccn'
|
66
|
-
self.body = StdNum::LCCN.normalize(body)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
# == Schema Information
|
72
|
-
#
|
73
|
-
# Table name: identifiers
|
74
|
-
#
|
75
|
-
# id :integer not null, primary key
|
76
|
-
# body :string not null
|
77
|
-
# identifier_type_id :integer not null
|
78
|
-
# manifestation_id :integer
|
79
|
-
# primary :boolean
|
80
|
-
# position :integer
|
81
|
-
# created_at :datetime
|
82
|
-
# updated_at :datetime
|
83
|
-
#
|
@@ -1,18 +0,0 @@
|
|
1
|
-
class IdentifierType < ApplicationRecord
|
2
|
-
include MasterModel
|
3
|
-
has_many :identifiers
|
4
|
-
validates :name, format: { with: /\A[0-9a-z][0-9a-z_\-]*[0-9a-z]\Z/ }
|
5
|
-
end
|
6
|
-
|
7
|
-
# == Schema Information
|
8
|
-
#
|
9
|
-
# Table name: identifier_types
|
10
|
-
#
|
11
|
-
# id :integer not null, primary key
|
12
|
-
# name :string
|
13
|
-
# display_name :text
|
14
|
-
# note :text
|
15
|
-
# position :integer
|
16
|
-
# created_at :datetime
|
17
|
-
# updated_at :datetime
|
18
|
-
#
|
@@ -1,77 +0,0 @@
|
|
1
|
-
class ImportRequest < ApplicationRecord
|
2
|
-
include Statesman::Adapters::ActiveRecordQueries[
|
3
|
-
transition_class: ImportRequestTransition,
|
4
|
-
initial_state: :pending
|
5
|
-
]
|
6
|
-
default_scope { order('import_requests.id DESC') }
|
7
|
-
belongs_to :manifestation, optional: true
|
8
|
-
belongs_to :user
|
9
|
-
validates :isbn, presence: true
|
10
|
-
validate :check_isbn
|
11
|
-
#validate :check_imported, on: :create
|
12
|
-
#validates_uniqueness_of :isbn, if: Proc.new{|request| ImportRequest.where("created_at > ?", 1.day.ago).collect(&:isbn).include?(request.isbn)}
|
13
|
-
|
14
|
-
has_many :import_request_transitions, autosave: false
|
15
|
-
|
16
|
-
def state_machine
|
17
|
-
ImportRequestStateMachine.new(self, transition_class: ImportRequestTransition)
|
18
|
-
end
|
19
|
-
|
20
|
-
delegate :can_transition_to?, :transition_to!, :transition_to, :current_state,
|
21
|
-
to: :state_machine
|
22
|
-
|
23
|
-
def check_isbn
|
24
|
-
if isbn.present?
|
25
|
-
errors.add(:isbn) unless StdNum::ISBN.valid?(isbn)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def check_imported
|
30
|
-
if isbn.present?
|
31
|
-
identifier_type = IdentifierType.find_by_or_create!(name: 'isbn')
|
32
|
-
if Identifier.find_by(body: isbn, identifier_type_id: identifier_type.id)&.manifestation
|
33
|
-
errors.add(:isbn, I18n.t('import_request.isbn_taken'))
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def import!
|
39
|
-
exceptions = [ ActiveRecord::RecordInvalid, NameError, URI::InvalidURIError ]
|
40
|
-
not_found_exceptions = []
|
41
|
-
not_found_exceptions << EnjuNdl::RecordNotFound if defined? EnjuNdl
|
42
|
-
not_found_exceptions << EnjuNii::RecordNotFound if defined? EnjuNii
|
43
|
-
begin
|
44
|
-
return nil unless Manifestation.respond_to?(:import_isbn)
|
45
|
-
unless manifestation
|
46
|
-
manifestation = Manifestation.import_isbn(isbn)
|
47
|
-
if manifestation
|
48
|
-
self.manifestation = manifestation
|
49
|
-
transition_to!(:completed)
|
50
|
-
manifestation.index
|
51
|
-
Sunspot.commit
|
52
|
-
else
|
53
|
-
transition_to!(:failed)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
save
|
57
|
-
rescue *not_found_exceptions => e
|
58
|
-
transition_to!(:failed)
|
59
|
-
return :record_not_found
|
60
|
-
rescue *exceptions => e
|
61
|
-
transition_to!(:failed)
|
62
|
-
return :error
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
# == Schema Information
|
68
|
-
#
|
69
|
-
# Table name: import_requests
|
70
|
-
#
|
71
|
-
# id :integer not null, primary key
|
72
|
-
# isbn :string
|
73
|
-
# manifestation_id :integer
|
74
|
-
# user_id :integer
|
75
|
-
# created_at :datetime
|
76
|
-
# updated_at :datetime
|
77
|
-
#
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class ImportRequestTransition < ApplicationRecord
|
2
|
-
include Statesman::Adapters::ActiveRecordTransition
|
3
|
-
|
4
|
-
|
5
|
-
belongs_to :import_request, inverse_of: :import_request_transitions
|
6
|
-
#attr_accessible :to_state, :sort_key, :metadata
|
7
|
-
end
|
8
|
-
|
9
|
-
# == Schema Information
|
10
|
-
#
|
11
|
-
# Table name: import_request_transitions
|
12
|
-
#
|
13
|
-
# id :integer not null, primary key
|
14
|
-
# to_state :string
|
15
|
-
# metadata :text default({})
|
16
|
-
# sort_key :integer
|
17
|
-
# import_request_id :integer
|
18
|
-
# created_at :datetime
|
19
|
-
# updated_at :datetime
|
20
|
-
# most_recent :boolean not null
|
21
|
-
#
|
data/app/models2/item.rb
DELETED
@@ -1,173 +0,0 @@
|
|
1
|
-
class Item < ApplicationRecord
|
2
|
-
scope :on_shelf, -> { includes(:shelf).references(:shelf).where('shelves.name != ?', 'web') }
|
3
|
-
scope :on_web, -> { includes(:shelf).references(:shelf).where('shelves.name = ?', 'web') }
|
4
|
-
scope :available, -> {}
|
5
|
-
scope :available_for, -> user {
|
6
|
-
unless user.try(:has_role?, 'Librarian')
|
7
|
-
on_shelf
|
8
|
-
end
|
9
|
-
}
|
10
|
-
delegate :display_name, to: :shelf, prefix: true
|
11
|
-
has_many :owns
|
12
|
-
has_many :agents, through: :owns
|
13
|
-
has_many :donates, dependent: :destroy
|
14
|
-
has_many :donors, through: :donates, source: :agent
|
15
|
-
has_one :resource_import_result
|
16
|
-
belongs_to :manifestation, touch: true
|
17
|
-
belongs_to :bookstore, optional: true
|
18
|
-
belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id'
|
19
|
-
belongs_to :budget_type, optional: true
|
20
|
-
has_one :accept, dependent: :destroy
|
21
|
-
has_one :withdraw, dependent: :destroy
|
22
|
-
has_many :item_custom_values, -> { joins(:item_custom_property).order(:position) }
|
23
|
-
|
24
|
-
belongs_to :shelf, counter_cache: true
|
25
|
-
accepts_nested_attributes_for :item_custom_values, reject_if: :all_blank
|
26
|
-
|
27
|
-
scope :accepted_between, lambda{|from, to| includes(:accept).where('items.created_at BETWEEN ? AND ?', Time.zone.parse(from).beginning_of_day, Time.zone.parse(to).end_of_day)}
|
28
|
-
validates :item_identifier, allow_blank: true, uniqueness: true,
|
29
|
-
format: {with: /\A[0-9A-Za-z_]+\Z/}
|
30
|
-
validates :binding_item_identifier, allow_blank: true,
|
31
|
-
format: {with: /\A[0-9A-Za-z_]+\Z/}
|
32
|
-
validates :url, url: true, allow_blank: true, length: { maximum: 255 }
|
33
|
-
validates_date :acquired_at, allow_blank: true
|
34
|
-
|
35
|
-
strip_attributes only: [:item_identifier, :binding_item_identifier,
|
36
|
-
:call_number, :binding_call_number, :url]
|
37
|
-
|
38
|
-
searchable do
|
39
|
-
text :item_identifier, :note, :title, :creator, :contributor, :publisher,
|
40
|
-
:binding_item_identifier
|
41
|
-
string :item_identifier, multiple: true do
|
42
|
-
[item_identifier, binding_item_identifier]
|
43
|
-
end
|
44
|
-
integer :required_role_id
|
45
|
-
integer :manifestation_id
|
46
|
-
integer :shelf_id
|
47
|
-
integer :agent_ids, multiple: true
|
48
|
-
time :created_at
|
49
|
-
time :updated_at
|
50
|
-
time :acquired_at
|
51
|
-
end
|
52
|
-
|
53
|
-
after_save do
|
54
|
-
manifestation.index
|
55
|
-
Sunspot.commit
|
56
|
-
end
|
57
|
-
after_destroy do
|
58
|
-
manifestation.index
|
59
|
-
Sunspot.commit
|
60
|
-
end
|
61
|
-
|
62
|
-
attr_accessor :library_id
|
63
|
-
|
64
|
-
paginates_per 10
|
65
|
-
|
66
|
-
def title
|
67
|
-
manifestation&.original_title
|
68
|
-
end
|
69
|
-
|
70
|
-
def creator
|
71
|
-
manifestation&.creator
|
72
|
-
end
|
73
|
-
|
74
|
-
def contributor
|
75
|
-
manifestation&.contributor
|
76
|
-
end
|
77
|
-
|
78
|
-
def publisher
|
79
|
-
manifestation&.publisher
|
80
|
-
end
|
81
|
-
|
82
|
-
def owned(agent)
|
83
|
-
owns.find_by(agent_id: agent.id)
|
84
|
-
end
|
85
|
-
|
86
|
-
def manifestation_url
|
87
|
-
Addressable::URI.parse("#{LibraryGroup.site_config.url}manifestations/#{self.manifestation.id}").normalize.to_s if self.manifestation
|
88
|
-
end
|
89
|
-
|
90
|
-
def removable?
|
91
|
-
if defined?(EnjuCirculation)
|
92
|
-
return false if circulation_status.name == 'Removed'
|
93
|
-
return false if checkouts.exists?
|
94
|
-
true
|
95
|
-
else
|
96
|
-
true
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def self.csv_header(role: 'Guest')
|
101
|
-
Item.new.to_hash(role: role).keys
|
102
|
-
end
|
103
|
-
|
104
|
-
def to_hash(role: 'Guest')
|
105
|
-
record = {
|
106
|
-
item_id: id,
|
107
|
-
item_identifier: item_identifier,
|
108
|
-
binding_item_identifier: binding_item_identifier,
|
109
|
-
call_number: call_number,
|
110
|
-
shelf: shelf&.name,
|
111
|
-
item_note: note,
|
112
|
-
accepted_at: accept&.created_at,
|
113
|
-
acquired_at: acquired_at,
|
114
|
-
item_created_at: created_at,
|
115
|
-
item_updated_at: updated_at
|
116
|
-
}
|
117
|
-
|
118
|
-
if ['Administrator', 'Librarian'].include?(role)
|
119
|
-
record.merge!({
|
120
|
-
bookstore: bookstore&.name,
|
121
|
-
budget_type: budget_type&.name,
|
122
|
-
item_required_role: required_role.name,
|
123
|
-
item_price: price,
|
124
|
-
memo: memo
|
125
|
-
})
|
126
|
-
|
127
|
-
ItemCustomProperty.order(:position).each do |custom_property|
|
128
|
-
custom_value = item_custom_values.find_by(item_custom_property: custom_property)
|
129
|
-
record[:"item:#{custom_property.name}"] = custom_value.try(:value)
|
130
|
-
end
|
131
|
-
|
132
|
-
if defined?(EnjuCirculation)
|
133
|
-
record.merge!({
|
134
|
-
use_restriction: use_restriction&.name,
|
135
|
-
circulation_status: circulation_status&.name,
|
136
|
-
checkout_type: checkout_type&.name,
|
137
|
-
total_checkouts: checkouts.count
|
138
|
-
})
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
record
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
# == Schema Information
|
147
|
-
#
|
148
|
-
# Table name: items
|
149
|
-
#
|
150
|
-
# id :integer not null, primary key
|
151
|
-
# call_number :string
|
152
|
-
# item_identifier :string
|
153
|
-
# created_at :datetime
|
154
|
-
# updated_at :datetime
|
155
|
-
# shelf_id :integer default(1), not null
|
156
|
-
# include_supplements :boolean default(FALSE), not null
|
157
|
-
# note :text
|
158
|
-
# url :string
|
159
|
-
# price :integer
|
160
|
-
# lock_version :integer default(0), not null
|
161
|
-
# required_role_id :integer default(1), not null
|
162
|
-
# required_score :integer default(0), not null
|
163
|
-
# acquired_at :datetime
|
164
|
-
# bookstore_id :integer
|
165
|
-
# budget_type_id :integer
|
166
|
-
# circulation_status_id :integer default(5), not null
|
167
|
-
# checkout_type_id :integer default(1), not null
|
168
|
-
# binding_item_identifier :string
|
169
|
-
# binding_call_number :string
|
170
|
-
# binded_at :datetime
|
171
|
-
# manifestation_id :integer not null
|
172
|
-
# memo :text
|
173
|
-
#
|
@@ -1,18 +0,0 @@
|
|
1
|
-
class ItemCustomProperty < ApplicationRecord
|
2
|
-
include MasterModel
|
3
|
-
validates :name, presence: true, uniqueness: true
|
4
|
-
acts_as_list
|
5
|
-
end
|
6
|
-
|
7
|
-
# == Schema Information
|
8
|
-
#
|
9
|
-
# Table name: item_custom_properties
|
10
|
-
#
|
11
|
-
# id :bigint not null, primary key
|
12
|
-
# name :string not null
|
13
|
-
# display_name :text not null
|
14
|
-
# note :text
|
15
|
-
# position :integer default(1), not null
|
16
|
-
# created_at :datetime not null
|
17
|
-
# updated_at :datetime not null
|
18
|
-
#
|
@@ -1,17 +0,0 @@
|
|
1
|
-
class ItemCustomValue < ApplicationRecord
|
2
|
-
belongs_to :item_custom_property
|
3
|
-
belongs_to :item, optional: true
|
4
|
-
validates :item_custom_property, uniqueness: {scope: :item_id}
|
5
|
-
end
|
6
|
-
|
7
|
-
# == Schema Information
|
8
|
-
#
|
9
|
-
# Table name: item_custom_values
|
10
|
-
#
|
11
|
-
# id :bigint not null, primary key
|
12
|
-
# item_custom_property_id :bigint not null
|
13
|
-
# item_id :bigint not null
|
14
|
-
# value :text
|
15
|
-
# created_at :datetime not null
|
16
|
-
# updated_at :datetime not null
|
17
|
-
#
|
data/app/models2/language.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
class Language < ApplicationRecord
|
2
|
-
include MasterModel
|
3
|
-
# If you wish to change the field names for brevity, feel free to enable/modify these.
|
4
|
-
# alias_attribute :iso1, :iso_639_1
|
5
|
-
# alias_attribute :iso2, :iso_639_2
|
6
|
-
# alias_attribute :iso3, :iso_639_3
|
7
|
-
|
8
|
-
# Validations
|
9
|
-
validates :iso_639_1, :iso_639_2, :iso_639_3, presence: true
|
10
|
-
validates :name, presence: true, format: { with: /\A[0-9A-Za-z][0-9A-Za-z_\-\s,]*[0-9a-z]\Z/ }
|
11
|
-
|
12
|
-
translates :display_name
|
13
|
-
|
14
|
-
def self.available_languages
|
15
|
-
Language.where(iso_639_1: I18n.available_locales.map{|l| l.to_s}).order(:position)
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
def valid_name?
|
21
|
-
true
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
# == Schema Information
|
26
|
-
#
|
27
|
-
# Table name: languages
|
28
|
-
#
|
29
|
-
# id :integer not null, primary key
|
30
|
-
# name :string not null
|
31
|
-
# native_name :string
|
32
|
-
# old_display_name :text
|
33
|
-
# iso_639_1 :string
|
34
|
-
# iso_639_2 :string
|
35
|
-
# iso_639_3 :string
|
36
|
-
# note :text
|
37
|
-
# position :integer
|
38
|
-
# display_name_translations :jsonb not null
|
39
|
-
#
|
data/app/models2/license.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
class License < ApplicationRecord
|
2
|
-
include MasterModel
|
3
|
-
translates :display_name
|
4
|
-
end
|
5
|
-
|
6
|
-
# == Schema Information
|
7
|
-
#
|
8
|
-
# Table name: licenses
|
9
|
-
#
|
10
|
-
# id :integer not null, primary key
|
11
|
-
# name :string not null
|
12
|
-
# old_display_name :string
|
13
|
-
# note :text
|
14
|
-
# position :integer
|
15
|
-
# created_at :datetime
|
16
|
-
# updated_at :datetime
|
17
|
-
# display_name_translations :jsonb not null
|
18
|
-
#
|