enju_inventory 0.2.0 → 0.3.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.rdoc +3 -3
- data/Rakefile +1 -1
- data/app/assets/config/enju_inventory_manifest.js +0 -0
- data/app/controllers/inventory_files_controller.rb +9 -9
- data/app/models/concerns/enju_inventory/enju_item.rb +5 -5
- data/app/models/inventory.rb +1 -1
- data/app/models/inventory_file.rb +2 -2
- data/db/migrate/20081117143156_create_inventory_files.rb +1 -1
- data/db/migrate/20081117143455_create_inventories.rb +1 -1
- data/db/migrate/20090706125521_add_attachments_inventory_to_inventory_file.rb +1 -1
- data/db/migrate/20120413100431_add_fingerprint_to_inventory_file.rb +1 -1
- data/lib/enju_inventory/version.rb +1 -1
- data/spec/controllers/inventories_controller_spec.rb +4 -4
- data/spec/controllers/inventory_files_controller_spec.rb +23 -23
- data/spec/controllers/items_controller_spec.rb +45 -0
- data/spec/dummy/app/controllers/application_controller.rb +1 -0
- data/spec/dummy/app/models/user.rb +4 -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 +6 -16
- data/spec/dummy/config/boot.rb +4 -9
- data/spec/dummy/config/cable.yml +10 -0
- data/spec/dummy/config/database.yml +17 -22
- data/spec/dummy/config/environment.rb +4 -4
- 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 +6 -8
- data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +14 -0
- 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 +9 -3
- 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 +30 -2
- 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/db/migrate/001_create_agents.rb +7 -7
- data/spec/dummy/db/migrate/002_devise_create_users.rb +6 -6
- data/spec/dummy/db/migrate/005_create_manifestations.rb +13 -13
- data/spec/dummy/db/migrate/006_create_items.rb +6 -6
- data/spec/dummy/db/migrate/012_create_owns.rb +3 -3
- data/spec/dummy/db/migrate/015_create_creates.rb +3 -3
- data/spec/dummy/db/migrate/041_create_roles.rb +3 -3
- data/spec/dummy/db/migrate/047_create_produces.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/073_create_carrier_types.rb +2 -2
- 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/112_create_frequencies.rb +2 -2
- data/spec/dummy/db/migrate/117_create_form_of_works.rb +2 -2
- data/spec/dummy/db/migrate/120_create_baskets.rb +1 -1
- data/spec/dummy/db/migrate/124_create_bookstores.rb +2 -2
- data/spec/dummy/db/migrate/125_create_donates.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/133_create_agent_merges.rb +2 -2
- data/spec/dummy/db/migrate/134_create_agent_merge_lists.rb +1 -1
- 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/20080830154109_create_realizes.rb +3 -3
- data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +4 -4
- data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +2 -2
- 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/20081025083323_create_countries.rb +5 -5
- data/spec/dummy/db/migrate/20081025083905_create_languages.rb +6 -6
- data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +2 -2
- data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20090719201843_create_extents.rb +2 -2
- data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +2 -2
- data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +2 -2
- data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +2 -2
- data/spec/dummy/db/migrate/20091012101112_add_dcndl_schema.rb +3 -3
- data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +2 -2
- data/spec/dummy/db/migrate/20091202124834_create_versions.rb +4 -4
- data/spec/dummy/db/migrate/20091214131723_create_series_statements.rb +1 -1
- data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +1 -1
- data/spec/dummy/db/migrate/20100211105551_add_admin_networks_to_library_group.rb +1 -1
- data/spec/dummy/db/migrate/20100223121519_rename_series_statement_title_to_original_title.rb +1 -1
- data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20100321235924_add_series_statement_identifier_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20100525124311_create_manifestation_relationships.rb +1 -1
- data/spec/dummy/db/migrate/20100606065209_create_user_has_roles.rb +1 -1
- data/spec/dummy/db/migrate/20100606073747_create_agent_relationships.rb +1 -1
- data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +2 -2
- data/spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb +1 -1
- data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +1 -1
- data/spec/dummy/db/migrate/20101212070145_add_acquired_at_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +2 -2
- data/spec/dummy/db/migrate/20110301035123_add_pub_date_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.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/20110603184217_add_edit_mode_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20110619064807_add_edition_string_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +1 -1
- data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
- data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +1 -1
- data/spec/dummy/db/migrate/20110916091020_add_volume_number_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20110916103953_add_manifestaiton_id_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20110918162329_add_note_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20111124110059_create_create_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124110319_create_realize_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124110355_create_produce_types.rb +1 -1
- data/spec/dummy/db/migrate/20111124112131_add_create_type_to_create.rb +1 -1
- 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/20120125152919_add_title_subseries_transcription_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +1 -1
- data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +2 -2
- data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +1 -1
- data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +2 -2
- data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +1 -1
- data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20121116033446_add_doi_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +4 -4
- data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +1 -1
- data/spec/dummy/db/migrate/20130421093852_add_periodical_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20130506175303_create_identifier_types.rb +1 -1
- data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +3 -3
- data/spec/dummy/db/migrate/20130509185724_add_statement_of_responsibility_to_manifestation.rb +1 -1
- 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/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/20140519170214_create_resource_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140524020735_create_agent_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/20140610123439_drop_email_unique_constraint_enju_leaf_rc10.rb +1 -1
- data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +1 -1
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_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/20140720140916_add_binding_item_identifier_to_item.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/20140721151416_add_default_shelf_id_to_resource_import_file.rb +1 -1
- data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +1 -1
- data/spec/dummy/db/migrate/20140811031145_add_expired_at_to_profile.rb +1 -1
- data/spec/dummy/db/migrate/20140813182425_add_publication_place_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140821151023_create_colors.rb +1 -1
- data/spec/dummy/db/migrate/20140822114527_add_error_message_to_resource_import_result.rb +1 -1
- data/spec/dummy/db/migrate/20140823083524_add_extent_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140823094847_add_dimensions_to_manifestation.rb +1 -1
- data/spec/dummy/db/migrate/20140823095740_rename_manifestation_periodical_to_serial.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/20150117111136_add_foreign_key_to_items_referencing_manifestations.rb +5 -0
- data/spec/dummy/db/migrate/20150124152756_add_foreign_key_to_shelves_referencing_libraries.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/20151125004028_add_profile_id_to_agent.rb +6 -0
- 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/20160703185015_add_most_recent_to_message_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +1 -1
- data/spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.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/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/20160820004638_add_attachment_attachment_to_carrier_types.rb +1 -1
- data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20171119051258_set_not_null_to_manifestation_id_on_items.rb +5 -0
- data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +5 -0
- data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +5 -0
- data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +13 -0
- data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +13 -0
- data/spec/dummy/db/schema.rb +649 -687
- data/spec/factories/user.rb +5 -5
- data/spec/models/inventory_file_spec.rb +1 -1
- data/spec/models/inventory_spec.rb +1 -1
- data/spec/rails_helper.rb +5 -4
- data/spec/support/controller_macros.rb +3 -3
- metadata +240 -217
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 852e91e67559741b963632202379bb61356be037
|
|
4
|
+
data.tar.gz: 0f95edd4e3d9eaa23d37237b3a2a9cfceed7ce86
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5969ca26ddcb6fd252a3401e115e659080fc746f1bffafa4aaa57af33366a4cb2ffb243d237ce91e5f20b0c95d7f023f1511e23ce2b8e84939570373adb03a09
|
|
7
|
+
data.tar.gz: 255b316453e7383b1e895b212f59ba68a18c9ee7192eb9b4830df931a8613de34bee14b6210f3bba11a8704dd24cb173645f3983e4ce2d21ea0a99f697b5740c
|
data/README.rdoc
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
= EnjuInventory
|
|
2
|
-
{<img src="https://travis-ci.org/next-l/enju_inventory.svg?branch=1.
|
|
3
|
-
{<img src="https://coveralls.io/repos/next-l/enju_inventory/badge.svg?branch=1.
|
|
4
|
-
{<img src="https://hakiri.io/github/next-l/enju_inventory/1.
|
|
2
|
+
{<img src="https://travis-ci.org/next-l/enju_inventory.svg?branch=1.3" alt="Build Status" />}[https://travis-ci.org/next-l/enju_inventory]
|
|
3
|
+
{<img src="https://coveralls.io/repos/next-l/enju_inventory/badge.svg?branch=1.3&service=github" alt="Coverage Status" />}[https://coveralls.io/github/next-l/enju_inventory?branch=1.3]
|
|
4
|
+
{<img src="https://hakiri.io/github/next-l/enju_inventory/1.3.svg" alt="security" />}[https://hakiri.io/github/next-l/enju_inventory/1.3]
|
|
5
5
|
|
|
6
6
|
This project rocks and uses MIT-LICENSE.
|
|
7
7
|
|
data/Rakefile
CHANGED
|
File without changes
|
|
@@ -9,7 +9,7 @@ class InventoryFilesController < ApplicationController
|
|
|
9
9
|
|
|
10
10
|
respond_to do |format|
|
|
11
11
|
format.html # index.html.erb
|
|
12
|
-
format.json { render :
|
|
12
|
+
format.json { render json: @inventory_files }
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
15
|
|
|
@@ -43,7 +43,7 @@ class InventoryFilesController < ApplicationController
|
|
|
43
43
|
|
|
44
44
|
respond_to do |format|
|
|
45
45
|
format.html # new.html.erb
|
|
46
|
-
format.json { render :
|
|
46
|
+
format.json { render json: @inventory_file }
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
|
|
@@ -59,13 +59,13 @@ class InventoryFilesController < ApplicationController
|
|
|
59
59
|
|
|
60
60
|
respond_to do |format|
|
|
61
61
|
if @inventory_file.save
|
|
62
|
-
flash[:notice] = t('controller.successfully_created', :
|
|
62
|
+
flash[:notice] = t('controller.successfully_created', model: t('activerecord.models.inventory_file'))
|
|
63
63
|
@inventory_file.import
|
|
64
64
|
format.html { redirect_to(@inventory_file) }
|
|
65
|
-
format.json { render :
|
|
65
|
+
format.json { render json: @inventory_file, status: :created, location: @inventory_file }
|
|
66
66
|
else
|
|
67
|
-
format.html { render :
|
|
68
|
-
format.json { render :
|
|
67
|
+
format.html { render action: "new" }
|
|
68
|
+
format.json { render json: @inventory_file.errors, status: :unprocessable_entity }
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
end
|
|
@@ -75,12 +75,12 @@ class InventoryFilesController < ApplicationController
|
|
|
75
75
|
def update
|
|
76
76
|
respond_to do |format|
|
|
77
77
|
if @inventory_file.update_attributes(inventory_file_params)
|
|
78
|
-
flash[:notice] = t('controller.successfully_updated', :
|
|
78
|
+
flash[:notice] = t('controller.successfully_updated', model: t('activerecord.models.inventory_file'))
|
|
79
79
|
format.html { redirect_to(@inventory_file) }
|
|
80
80
|
format.json { head :no_content }
|
|
81
81
|
else
|
|
82
|
-
format.html { render :
|
|
83
|
-
format.json { render :
|
|
82
|
+
format.html { render action: "edit" }
|
|
83
|
+
format.json { render json: @inventory_file.errors, status: :unprocessable_entity }
|
|
84
84
|
end
|
|
85
85
|
end
|
|
86
86
|
end
|
|
@@ -3,10 +3,10 @@ module EnjuInventory
|
|
|
3
3
|
extend ActiveSupport::Concern
|
|
4
4
|
|
|
5
5
|
included do
|
|
6
|
-
has_many :inventories, :
|
|
7
|
-
has_many :inventory_files, :
|
|
6
|
+
has_many :inventories, dependent: :destroy
|
|
7
|
+
has_many :inventory_files, through: :inventories
|
|
8
8
|
searchable do
|
|
9
|
-
integer :inventory_file_ids, :
|
|
9
|
+
integer :inventory_file_ids, multiple: true
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def self.inventory_items(inventory_file, mode = 'not_on_shelf')
|
|
@@ -14,9 +14,9 @@ module EnjuInventory
|
|
|
14
14
|
inventory_item_ids = inventory_file.items.pluck('items.id')
|
|
15
15
|
case mode
|
|
16
16
|
when 'not_on_shelf'
|
|
17
|
-
Item.where(:
|
|
17
|
+
Item.where(id: (item_ids - inventory_item_ids))
|
|
18
18
|
when 'not_in_catalog'
|
|
19
|
-
Item.where(:
|
|
19
|
+
Item.where(id: (inventory_item_ids - item_ids))
|
|
20
20
|
end
|
|
21
21
|
rescue
|
|
22
22
|
nil
|
data/app/models/inventory.rb
CHANGED
|
@@ -4,7 +4,7 @@ class Inventory < ActiveRecord::Base
|
|
|
4
4
|
|
|
5
5
|
validates_associated :item, :inventory_file
|
|
6
6
|
validates_presence_of :item, :inventory_file
|
|
7
|
-
validates_uniqueness_of :item_id, :
|
|
7
|
+
validates_uniqueness_of :item_id, scope: :inventory_file_id
|
|
8
8
|
|
|
9
9
|
paginates_per 10
|
|
10
10
|
end
|
|
@@ -6,12 +6,12 @@ class InventoryFile < ActiveRecord::Base
|
|
|
6
6
|
|
|
7
7
|
if ENV['ENJU_STORAGE'] == 's3'
|
|
8
8
|
has_attached_file :inventory, storage: :s3,
|
|
9
|
-
|
|
9
|
+
s3_credentials: {
|
|
10
10
|
access_key: ENV['AWS_ACCESS_KEY_ID'],
|
|
11
11
|
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
|
|
12
12
|
bucket: ENV['S3_BUCKET_NAME']
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
s3_permissions: :private
|
|
15
15
|
else
|
|
16
16
|
has_attached_file :inventory,
|
|
17
17
|
path: ":rails_root/private/system/:class/:attachment/:id_partition/:style/:filename"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class AddAttachmentsInventoryToInventoryFile < ActiveRecord::Migration
|
|
1
|
+
class AddAttachmentsInventoryToInventoryFile < ActiveRecord::Migration[4.2]
|
|
2
2
|
def self.up
|
|
3
3
|
add_column :inventory_files, :inventory_file_name, :string
|
|
4
4
|
add_column :inventory_files, :inventory_content_type, :string
|
|
@@ -48,7 +48,7 @@ describe InventoriesController do
|
|
|
48
48
|
login_fixture_admin
|
|
49
49
|
|
|
50
50
|
it "assigns the requested inventory as @inventory" do
|
|
51
|
-
get :show, :id
|
|
51
|
+
get :show, params: { id: 1 }
|
|
52
52
|
expect(assigns(:inventory)).to eq(Inventory.find(1))
|
|
53
53
|
expect(response).to be_success
|
|
54
54
|
end
|
|
@@ -58,7 +58,7 @@ describe InventoriesController do
|
|
|
58
58
|
login_fixture_librarian
|
|
59
59
|
|
|
60
60
|
it "assigns the requested inventory as @inventory" do
|
|
61
|
-
get :show, :id
|
|
61
|
+
get :show, params: { id: 1 }
|
|
62
62
|
expect(assigns(:inventory)).to eq(Inventory.find(1))
|
|
63
63
|
expect(response).to be_success
|
|
64
64
|
end
|
|
@@ -68,7 +68,7 @@ describe InventoriesController do
|
|
|
68
68
|
login_fixture_user
|
|
69
69
|
|
|
70
70
|
it "assigns the requested inventory as @inventory" do
|
|
71
|
-
get :show, :id
|
|
71
|
+
get :show, params: { id: 1 }
|
|
72
72
|
expect(assigns(:inventory)).to eq(Inventory.find(1))
|
|
73
73
|
expect(response).to be_forbidden
|
|
74
74
|
end
|
|
@@ -76,7 +76,7 @@ describe InventoriesController do
|
|
|
76
76
|
|
|
77
77
|
describe "When not logged in" do
|
|
78
78
|
it "assigns the requested inventory as @inventory" do
|
|
79
|
-
get :show, :id
|
|
79
|
+
get :show, params: { id: 1 }
|
|
80
80
|
expect(assigns(:inventory)).to eq(Inventory.find(1))
|
|
81
81
|
expect(response).to redirect_to(new_user_session_url)
|
|
82
82
|
end
|
|
@@ -46,7 +46,7 @@ describe InventoryFilesController do
|
|
|
46
46
|
login_fixture_admin
|
|
47
47
|
|
|
48
48
|
it "assigns the requested inventory_file as @inventory_file" do
|
|
49
|
-
get :show, :id
|
|
49
|
+
get :show, params: { id: 1 }
|
|
50
50
|
expect(assigns(:inventory_file)).to eq(InventoryFile.find(1))
|
|
51
51
|
end
|
|
52
52
|
end
|
|
@@ -55,7 +55,7 @@ describe InventoryFilesController do
|
|
|
55
55
|
login_fixture_librarian
|
|
56
56
|
|
|
57
57
|
it "assigns the requested inventory_file as @inventory_file" do
|
|
58
|
-
get :show, :id
|
|
58
|
+
get :show, params: { id: 1 }
|
|
59
59
|
expect(assigns(:inventory_file)).to eq(InventoryFile.find(1))
|
|
60
60
|
end
|
|
61
61
|
end
|
|
@@ -64,14 +64,14 @@ describe InventoryFilesController do
|
|
|
64
64
|
login_fixture_user
|
|
65
65
|
|
|
66
66
|
it "assigns the requested inventory_file as @inventory_file" do
|
|
67
|
-
get :show, :id
|
|
67
|
+
get :show, params: { id: 1 }
|
|
68
68
|
expect(assigns(:inventory_file)).to eq(InventoryFile.find(1))
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
72
72
|
describe "When not logged in" do
|
|
73
73
|
it "assigns the requested inventory_file as @inventory_file" do
|
|
74
|
-
get :show, :id
|
|
74
|
+
get :show, params: { id: 1 }
|
|
75
75
|
expect(assigns(:inventory_file)).to eq(InventoryFile.find(1))
|
|
76
76
|
expect(response).to redirect_to(new_user_session_url)
|
|
77
77
|
end
|
|
@@ -123,7 +123,7 @@ describe InventoryFilesController do
|
|
|
123
123
|
login_fixture_librarian
|
|
124
124
|
|
|
125
125
|
it "should create inventory_file" do
|
|
126
|
-
post :create, :inventory_file
|
|
126
|
+
post :create, params: { inventory_file: {inventory: fixture_file_upload("/../../examples/inventory_file_sample.tsv", 'text/csv') } }
|
|
127
127
|
assigns(:inventory_file).save!
|
|
128
128
|
expect(assigns(:inventory_file)).to be_valid
|
|
129
129
|
expect(assigns(:inventory_file).user.username).to eq @user.username
|
|
@@ -135,14 +135,14 @@ describe InventoryFilesController do
|
|
|
135
135
|
login_fixture_user
|
|
136
136
|
|
|
137
137
|
it "should be forbidden" do
|
|
138
|
-
post :create, :inventory_file
|
|
138
|
+
post :create, params: { inventory_file: {inventory: fixture_file_upload("/../../examples/inventory_file_sample.tsv", 'text/csv') } }
|
|
139
139
|
expect(response).to be_forbidden
|
|
140
140
|
end
|
|
141
141
|
end
|
|
142
142
|
|
|
143
143
|
describe "When not logged in" do
|
|
144
144
|
it "should be redirect to new session url" do
|
|
145
|
-
post :create, :inventory_file
|
|
145
|
+
post :create, params: { inventory_file: {inventory: fixture_file_upload("/../../examples/inventory_file_sample.tsv", 'text/csv') } }
|
|
146
146
|
expect(response).to redirect_to new_user_session_url
|
|
147
147
|
end
|
|
148
148
|
end
|
|
@@ -154,7 +154,7 @@ describe InventoryFilesController do
|
|
|
154
154
|
|
|
155
155
|
it "assigns the requested inventory_file as @inventory_file" do
|
|
156
156
|
inventory_file = inventory_files(:inventory_file_00001)
|
|
157
|
-
get :edit, :id
|
|
157
|
+
get :edit, params: { id: inventory_file.id }
|
|
158
158
|
expect(assigns(:inventory_file)).to eq(inventory_file)
|
|
159
159
|
end
|
|
160
160
|
end
|
|
@@ -164,7 +164,7 @@ describe InventoryFilesController do
|
|
|
164
164
|
|
|
165
165
|
it "assigns the requested inventory_file as @inventory_file" do
|
|
166
166
|
inventory_file = inventory_files(:inventory_file_00001)
|
|
167
|
-
get :edit, :id
|
|
167
|
+
get :edit, params: { id: inventory_file.id }
|
|
168
168
|
expect(assigns(:inventory_file)).to eq(inventory_file)
|
|
169
169
|
end
|
|
170
170
|
end
|
|
@@ -174,7 +174,7 @@ describe InventoryFilesController do
|
|
|
174
174
|
|
|
175
175
|
it "assigns the requested inventory_file as @inventory_file" do
|
|
176
176
|
inventory_file = inventory_files(:inventory_file_00001)
|
|
177
|
-
get :edit, :id
|
|
177
|
+
get :edit, params: { id: inventory_file.id }
|
|
178
178
|
expect(response).to be_forbidden
|
|
179
179
|
end
|
|
180
180
|
end
|
|
@@ -182,7 +182,7 @@ describe InventoryFilesController do
|
|
|
182
182
|
describe "When not logged in" do
|
|
183
183
|
it "should not assign the requested inventory_file as @inventory_file" do
|
|
184
184
|
inventory_file = inventory_files(:inventory_file_00001)
|
|
185
|
-
get :edit, :id
|
|
185
|
+
get :edit, params: { id: inventory_file.id }
|
|
186
186
|
expect(response).to redirect_to(new_user_session_url)
|
|
187
187
|
end
|
|
188
188
|
end
|
|
@@ -193,7 +193,7 @@ describe InventoryFilesController do
|
|
|
193
193
|
login_fixture_admin
|
|
194
194
|
|
|
195
195
|
it "should update inventory_file" do
|
|
196
|
-
put :update, :id
|
|
196
|
+
put :update, params: { id: inventory_files(:inventory_file_00003).id, inventory_file: { note: "test" } }
|
|
197
197
|
expect(response).to redirect_to inventory_file_url(assigns(:inventory_file))
|
|
198
198
|
end
|
|
199
199
|
end
|
|
@@ -202,7 +202,7 @@ describe InventoryFilesController do
|
|
|
202
202
|
login_fixture_librarian
|
|
203
203
|
|
|
204
204
|
it "should update inventory_file" do
|
|
205
|
-
put :update, :id
|
|
205
|
+
put :update, params: { id: inventory_files(:inventory_file_00003).id, inventory_file: { note: "test" } }
|
|
206
206
|
expect(response).to redirect_to inventory_file_url(assigns(:inventory_file))
|
|
207
207
|
end
|
|
208
208
|
end
|
|
@@ -211,14 +211,14 @@ describe InventoryFilesController do
|
|
|
211
211
|
login_fixture_user
|
|
212
212
|
|
|
213
213
|
it "should not update inventory_file" do
|
|
214
|
-
put :update, :id
|
|
214
|
+
put :update, params: { id: inventory_files(:inventory_file_00003).id, inventory_file: { note: "test" } }
|
|
215
215
|
expect(response).to be_forbidden
|
|
216
216
|
end
|
|
217
217
|
end
|
|
218
218
|
|
|
219
219
|
describe "When not logged in" do
|
|
220
220
|
it "should not update inventory_file" do
|
|
221
|
-
put :update, :id
|
|
221
|
+
put :update, params: { id: inventory_files(:inventory_file_00003).id, inventory_file: { note: "test" } }
|
|
222
222
|
expect(response).to redirect_to new_user_session_url
|
|
223
223
|
end
|
|
224
224
|
end
|
|
@@ -233,11 +233,11 @@ describe InventoryFilesController do
|
|
|
233
233
|
login_fixture_admin
|
|
234
234
|
|
|
235
235
|
it "destroys the requested inventory_file" do
|
|
236
|
-
delete :destroy, :id
|
|
236
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
237
237
|
end
|
|
238
238
|
|
|
239
239
|
it "redirects to the inventory_files list" do
|
|
240
|
-
delete :destroy, :id
|
|
240
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
241
241
|
expect(response).to redirect_to(inventory_files_url)
|
|
242
242
|
end
|
|
243
243
|
end
|
|
@@ -246,11 +246,11 @@ describe InventoryFilesController do
|
|
|
246
246
|
login_fixture_librarian
|
|
247
247
|
|
|
248
248
|
it "destroys the requested inventory_file" do
|
|
249
|
-
delete :destroy, :id
|
|
249
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
250
250
|
end
|
|
251
251
|
|
|
252
252
|
it "redirects to the inventory_files list" do
|
|
253
|
-
delete :destroy, :id
|
|
253
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
254
254
|
expect(response).to redirect_to(inventory_files_url)
|
|
255
255
|
end
|
|
256
256
|
end
|
|
@@ -259,22 +259,22 @@ describe InventoryFilesController do
|
|
|
259
259
|
login_fixture_user
|
|
260
260
|
|
|
261
261
|
it "destroys the requested inventory_file" do
|
|
262
|
-
delete :destroy, :id
|
|
262
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
263
263
|
end
|
|
264
264
|
|
|
265
265
|
it "should be forbidden" do
|
|
266
|
-
delete :destroy, :id
|
|
266
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
267
267
|
expect(response).to be_forbidden
|
|
268
268
|
end
|
|
269
269
|
end
|
|
270
270
|
|
|
271
271
|
describe "When not logged in" do
|
|
272
272
|
it "destroys the requested inventory_file" do
|
|
273
|
-
delete :destroy, :id
|
|
273
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
274
274
|
end
|
|
275
275
|
|
|
276
276
|
it "should be forbidden" do
|
|
277
|
-
delete :destroy, :id
|
|
277
|
+
delete :destroy, params: { id: @inventory_file.id }
|
|
278
278
|
expect(response).to redirect_to(new_user_session_url)
|
|
279
279
|
end
|
|
280
280
|
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
describe ItemsController do
|
|
4
|
+
fixtures :all
|
|
5
|
+
|
|
6
|
+
def valid_attributes
|
|
7
|
+
FactoryBot.attributes_for(:item)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
describe 'GET index', solr: true do
|
|
11
|
+
before do
|
|
12
|
+
Item.reindex
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
describe 'When logged in as Librarian' do
|
|
16
|
+
login_fixture_librarian
|
|
17
|
+
|
|
18
|
+
it 'should not get index with inventory_file_id' do
|
|
19
|
+
get :index, params: { inventory_file_id: 1 }
|
|
20
|
+
expect(response).to be_success
|
|
21
|
+
assigns(:inventory_file).should eq InventoryFile.find(1)
|
|
22
|
+
expect(assigns(:items)).to eq Item.inventory_items(assigns(:inventory_file), 'not_on_shelf').order('items.id').page(1)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
describe 'When logged in as User' do
|
|
27
|
+
login_fixture_user
|
|
28
|
+
|
|
29
|
+
it 'should not get index with inventory_file_id' do
|
|
30
|
+
get :index, params: { inventory_file_id: 1 }
|
|
31
|
+
expect(response).to be_forbidden
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe 'When not logged in' do
|
|
36
|
+
|
|
37
|
+
it 'should not get index with inventory_file_id' do
|
|
38
|
+
get :index, params: { inventory_file_id: 1 }
|
|
39
|
+
expect(response).to redirect_to new_user_session_url
|
|
40
|
+
assigns(:inventory_file).should_not be_nil
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
class User < ActiveRecord::Base
|
|
2
2
|
devise :database_authenticatable, #:registerable,
|
|
3
|
-
:recoverable, :rememberable, :trackable,
|
|
4
|
-
:lockable, :
|
|
3
|
+
:recoverable, :rememberable, :trackable, # , :validatable
|
|
4
|
+
:lockable, lock_strategy: :none, unlock_strategy: :none
|
|
5
5
|
|
|
6
6
|
include EnjuSeed::EnjuUser
|
|
7
7
|
end
|
|
8
|
+
|
|
9
|
+
Item.include(EnjuInventory::EnjuItem)
|