enju_inventory 0.2.0 → 0.3.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.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)
|