enju_circulation 0.1.0.pre36 → 0.1.0.pre37
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/carrier_type_has_checkout_types_controller.rb +11 -11
- data/app/controllers/checked_items_controller.rb +13 -13
- data/app/controllers/checkins_controller.rb +14 -15
- data/app/controllers/checkout_types_controller.rb +10 -10
- data/app/controllers/checkouts_controller.rb +18 -19
- data/app/controllers/item_has_use_restrictions_controller.rb +10 -10
- data/app/controllers/lending_policies_controller.rb +1 -1
- data/app/controllers/manifestation_checkout_stats_controller.rb +15 -13
- data/app/controllers/manifestation_reserve_stats_controller.rb +15 -13
- data/app/controllers/reserves_controller.rb +27 -28
- data/app/controllers/user_checkout_stats_controller.rb +15 -13
- data/app/controllers/user_group_has_checkout_types_controller.rb +11 -11
- data/app/controllers/user_reserve_stats_controller.rb +15 -13
- data/app/models/carrier_type_has_checkout_type.rb +6 -6
- data/app/models/checked_item.rb +20 -18
- data/app/models/checkin.rb +13 -14
- data/app/models/checkout.rb +20 -21
- data/app/models/checkout_stat_has_manifestation.rb +2 -2
- data/app/models/checkout_stat_has_user.rb +2 -2
- data/app/models/checkout_type.rb +9 -9
- data/app/models/circulation_status.rb +13 -3
- data/app/models/enju_circulation/ability.rb +1 -1
- data/app/models/item_has_use_restriction.rb +3 -3
- data/app/models/lending_policy.rb +4 -4
- data/app/models/manifestation_checkout_stat.rb +4 -3
- data/app/models/manifestation_checkout_stat_transition.rb +13 -0
- data/app/models/manifestation_reserve_stat.rb +4 -3
- data/app/models/manifestation_reserve_stat_transition.rb +13 -0
- data/app/models/reserve.rb +123 -157
- data/app/models/reserve_stat_has_manifestation.rb +2 -2
- data/app/models/reserve_stat_has_user.rb +2 -2
- data/app/models/reserve_state_machine.rb +93 -0
- data/app/models/reserve_transition.rb +20 -0
- data/app/models/use_restriction.rb +5 -5
- data/app/models/user_checkout_stat.rb +4 -3
- data/app/models/user_checkout_stat_transition.rb +13 -0
- data/app/models/user_group_has_checkout_type.rb +8 -8
- data/app/models/user_reserve_stat.rb +4 -3
- data/app/models/user_reserve_stat_transition.rb +13 -0
- data/app/views/carrier_type_has_checkout_types/_form.html.erb +3 -3
- data/app/views/carrier_type_has_checkout_types/edit.html.erb +1 -1
- data/app/views/carrier_type_has_checkout_types/index.html.erb +3 -3
- data/app/views/carrier_type_has_checkout_types/new.html.erb +1 -1
- data/app/views/carrier_type_has_checkout_types/show.html.erb +1 -1
- data/app/views/carrier_types/_checkout_form.html.erb +1 -1
- data/app/views/checked_items/_checked_item.html.erb +3 -3
- data/app/views/checked_items/_checkout.html.erb +3 -3
- data/app/views/checked_items/_list.html.erb +3 -3
- data/app/views/checked_items/edit.html.erb +1 -1
- data/app/views/checked_items/index.html.erb +1 -1
- data/app/views/checked_items/new.html.erb +3 -3
- data/app/views/checked_items/show.html.erb +1 -1
- data/app/views/checkins/_checkin.html.erb +3 -3
- data/app/views/checkins/_form.html.erb +1 -1
- data/app/views/checkins/_list.html.erb +2 -2
- data/app/views/checkins/edit.html.erb +1 -1
- data/app/views/checkins/index.html.erb +2 -2
- data/app/views/checkins/new.html.erb +3 -3
- data/app/views/checkins/show.html.erb +1 -1
- data/app/views/checkout_types/_form.html.erb +2 -2
- data/app/views/checkout_types/edit.html.erb +1 -1
- data/app/views/checkout_types/index.html.erb +4 -4
- data/app/views/checkout_types/new.html.erb +1 -1
- data/app/views/checkout_types/show.html.erb +2 -2
- data/app/views/checkouts/_index.html.erb +7 -7
- data/app/views/checkouts/_index_item.html.erb +5 -5
- data/app/views/checkouts/_index_overdue.html.erb +7 -7
- data/app/views/checkouts/_index_user.html.erb +13 -13
- data/app/views/checkouts/_list.html.erb +5 -5
- data/app/views/checkouts/_reserved_facet.html.erb +2 -2
- data/app/views/checkouts/edit.html.erb +8 -8
- data/app/views/checkouts/index.atom.builder +3 -3
- data/app/views/checkouts/index.html.erb +3 -3
- data/app/views/checkouts/index.rss.builder +9 -9
- data/app/views/checkouts/index.txt.erb +4 -0
- data/app/views/checkouts/new.html.erb +2 -2
- data/app/views/checkouts/show.html.erb +7 -7
- data/app/views/circulation_statuses/_form.html.erb +2 -2
- data/app/views/circulation_statuses/edit.html.erb +1 -1
- data/app/views/circulation_statuses/index.html.erb +3 -3
- data/app/views/circulation_statuses/new.html.erb +1 -1
- data/app/views/circulation_statuses/show.html.erb +1 -1
- data/app/views/item_has_use_restrictions/edit.html.erb +1 -1
- data/app/views/item_has_use_restrictions/index.html.erb +4 -4
- data/app/views/item_has_use_restrictions/new.html.erb +2 -2
- data/app/views/item_has_use_restrictions/show.html.erb +1 -1
- data/app/views/lending_policies/_form.html.erb +1 -1
- data/app/views/lending_policies/edit.html.erb +1 -1
- data/app/views/lending_policies/index.html.erb +2 -2
- data/app/views/lending_policies/new.html.erb +1 -1
- data/app/views/lending_policies/show.html.erb +2 -2
- data/app/views/manifestation_checkout_stats/_form.html.erb +1 -1
- data/app/views/manifestation_checkout_stats/edit.html.erb +1 -1
- data/app/views/manifestation_checkout_stats/index.html.erb +3 -4
- data/app/views/manifestation_checkout_stats/new.html.erb +1 -1
- data/app/views/manifestation_checkout_stats/show.html.erb +3 -4
- data/app/views/manifestation_checkout_stats/show.txt.erb +4 -0
- data/app/views/manifestation_reserve_stats/_form.html.erb +1 -1
- data/app/views/manifestation_reserve_stats/edit.html.erb +1 -1
- data/app/views/manifestation_reserve_stats/index.html.erb +3 -4
- data/app/views/manifestation_reserve_stats/new.html.erb +1 -1
- data/app/views/manifestation_reserve_stats/show.html.erb +3 -4
- data/app/views/manifestation_reserve_stats/show.txt.erb +4 -0
- data/app/views/my_accounts/_feed_token.html.erb +3 -3
- data/app/views/reserves/_form.html.erb +1 -1
- data/app/views/reserves/_new.html.erb +9 -9
- data/app/views/reserves/_new_user.html.erb +13 -13
- data/app/views/reserves/_state_facet.html.erb +2 -2
- data/app/views/reserves/_title.html.erb +1 -1
- data/app/views/reserves/edit.html.erb +7 -7
- data/app/views/reserves/index.atom.builder +3 -3
- data/app/views/reserves/index.html.erb +26 -26
- data/app/views/reserves/index.rss.builder +10 -10
- data/app/views/reserves/index.txt.erb +4 -0
- data/app/views/reserves/show.html.erb +9 -9
- data/app/views/use_restrictions/_form.html.erb +2 -2
- data/app/views/use_restrictions/edit.html.erb +1 -1
- data/app/views/use_restrictions/index.html.erb +3 -3
- data/app/views/use_restrictions/new.html.erb +1 -1
- data/app/views/use_restrictions/show.html.erb +1 -1
- data/app/views/user_checkout_stats/_form.html.erb +1 -1
- data/app/views/user_checkout_stats/edit.html.erb +1 -1
- data/app/views/user_checkout_stats/index.html.erb +3 -4
- data/app/views/user_checkout_stats/new.html.erb +1 -1
- data/app/views/user_checkout_stats/show.html.erb +3 -4
- data/app/views/user_checkout_stats/show.txt.erb +4 -0
- data/app/views/user_group_has_checkout_types/edit.html.erb +7 -7
- data/app/views/user_group_has_checkout_types/index.html.erb +3 -3
- data/app/views/user_group_has_checkout_types/new.html.erb +9 -9
- data/app/views/user_group_has_checkout_types/show.html.erb +1 -1
- data/app/views/user_groups/_checkout_form.html.erb +6 -6
- data/app/views/user_reserve_stats/_form.html.erb +1 -1
- data/app/views/user_reserve_stats/edit.html.erb +1 -1
- data/app/views/user_reserve_stats/index.html.erb +3 -4
- data/app/views/user_reserve_stats/new.html.erb +1 -1
- data/app/views/user_reserve_stats/show.html.erb +3 -4
- data/app/views/user_reserve_stats/show.txt.erb +4 -0
- data/app/views/users/_feed_token.html.erb +3 -3
- data/config/initializers/inflections.rb +3 -0
- data/config/locales/translation_en.yml +6 -0
- data/config/locales/translation_ja.yml +6 -0
- data/config/routes.rb +8 -10
- data/db/migrate/035_create_reserves.rb +0 -1
- data/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +0 -1
- data/db/migrate/20081215094302_create_user_checkout_stats.rb +0 -1
- data/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +0 -1
- data/db/migrate/20081220023628_create_user_reserve_stats.rb +0 -1
- data/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +0 -4
- data/db/migrate/20140518050147_create_reserve_transitions.rb +14 -0
- data/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +12 -0
- data/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +6 -0
- data/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +5 -0
- data/lib/enju_circulation/engine.rb +0 -4
- data/lib/enju_circulation/item.rb +4 -4
- data/lib/enju_circulation/manifestation.rb +2 -2
- data/lib/enju_circulation/profile.rb +26 -0
- data/lib/enju_circulation/user.rb +1 -1
- data/lib/enju_circulation/version.rb +1 -1
- data/lib/enju_circulation.rb +2 -0
- data/lib/generators/enju_circulation/setup/setup_generator.rb +2 -0
- data/lib/generators/enju_circulation/setup/templates/db/fixtures/circulation_statuses.yml +48 -25
- data/lib/generators/enju_circulation/setup/templates/db/fixtures/use_restrictions.yml +39 -13
- data/lib/tasks/circulation_status.rb +6 -0
- data/lib/tasks/enju_circulation_tasks.rake +14 -0
- data/lib/tasks/reserve.rb +5 -0
- data/lib/tasks/use_restriction.rb +6 -0
- data/spec/controllers/carrier_type_has_checkout_types_controller_spec.rb +21 -21
- data/spec/controllers/checkins_controller_spec.rb +22 -22
- data/spec/controllers/checkout_types_controller_spec.rb +21 -21
- data/spec/controllers/checkouts_controller_spec.rb +14 -14
- data/spec/controllers/circulation_statuses_controller_spec.rb +21 -21
- data/spec/controllers/item_has_use_restrictions_controller_spec.rb +21 -21
- data/spec/controllers/lending_policies_controller_spec.rb +21 -21
- data/spec/controllers/manifestation_checkout_stats_controller_spec.rb +21 -21
- data/spec/controllers/manifestation_reserve_stats_controller_spec.rb +21 -21
- data/spec/controllers/reserves_controller_spec.rb +32 -32
- data/spec/controllers/use_restrictions_controller_spec.rb +21 -21
- data/spec/controllers/user_checkout_stats_controller_spec.rb +21 -21
- data/spec/controllers/user_group_has_checkout_types_controller_spec.rb +21 -21
- data/spec/controllers/user_reserve_stats_controller_spec.rb +21 -21
- data/spec/dummy/app/models/user.rb +2 -46
- data/spec/dummy/config/environments/test.rb +2 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/001_create_agents.rb +0 -8
- data/spec/dummy/db/migrate/005_create_manifestations.rb +7 -12
- data/spec/dummy/db/migrate/006_create_items.rb +0 -6
- data/spec/dummy/db/migrate/112_create_frequencies.rb +12 -0
- data/spec/dummy/db/migrate/117_create_form_of_works.rb +12 -0
- data/spec/dummy/db/migrate/154_create_messages.rb +0 -1
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +0 -2
- data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +20 -0
- data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +20 -0
- data/spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb +15 -0
- data/spec/dummy/db/migrate/20090705212043_add_attachments_attachment_to_manifestation.rb +15 -0
- data/spec/dummy/db/migrate/20090719201843_create_extents.rb +12 -0
- data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +12 -0
- data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +12 -0
- data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +12 -0
- data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +14 -0
- data/spec/dummy/db/migrate/20100925043847_create_resource_import_results.rb +15 -0
- data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +12 -0
- data/spec/dummy/db/migrate/20110603184217_add_edit_mode_to_resource_import_file.rb +9 -0
- data/spec/dummy/db/migrate/20110620173525_add_bookstore_id_to_item.rb +11 -0
- data/spec/dummy/db/migrate/20111201155456_devise_create_users.rb +42 -0
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
- data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +6 -0
- data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +6 -0
- data/spec/dummy/db/migrate/20120410104851_add_year_of_publication_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20120413072700_add_picture_meta_to_picture_file.rb +5 -0
- data/spec/dummy/db/migrate/20120413100352_add_fingerprint_to_picture_file.rb +5 -0
- data/spec/dummy/db/migrate/20120413161340_add_fingerprint_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20120413161403_add_fingerprint_to_agent_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20120413170705_add_error_message_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20120413170720_add_error_message_to_agent_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20120415164821_add_attachment_meta_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20120418081407_add_month_of_publication_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb +6 -0
- data/spec/dummy/db/migrate/20120602141129_add_edit_mode_to_agent_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +16 -0
- data/spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb +7 -0
- data/spec/dummy/db/migrate/20130421164124_add_series_master_to_series_statement.rb +5 -0
- data/spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb +6 -0
- data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +20 -0
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +11 -0
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +8 -0
- data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +6 -0
- data/spec/dummy/db/migrate/20140811031145_add_expired_at_to_profile.rb +5 -0
- data/spec/dummy/db/schema.rb +315 -56
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/solr/conf/admin-extra.html +31 -0
- data/spec/dummy/solr/conf/elevate.xml +36 -0
- data/spec/dummy/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
- data/spec/dummy/solr/conf/protwords.txt +21 -0
- data/spec/dummy/solr/conf/schema.xml +255 -0
- data/spec/dummy/solr/conf/scripts.conf +24 -0
- data/spec/dummy/solr/conf/solrconfig.xml +667 -0
- data/spec/dummy/solr/conf/spellings.txt +2 -0
- data/spec/dummy/solr/conf/stopwords.txt +58 -0
- data/spec/dummy/solr/conf/synonyms.txt +31 -0
- data/spec/dummy/solr/default/data/index/_7f0.fdt +0 -0
- data/spec/dummy/solr/default/data/index/_7f0.fdx +0 -0
- data/spec/dummy/solr/default/data/index/_7f0.fnm +0 -0
- data/spec/dummy/solr/default/data/index/_7f0.nvd +0 -0
- data/spec/dummy/solr/default/data/index/_7f0.nvm +0 -0
- data/spec/dummy/solr/default/data/index/_7f0.si +0 -0
- data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.doc +0 -0
- data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.pos +0 -0
- data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.tim +0 -0
- data/spec/dummy/solr/default/data/index/_7f0_Lucene41_0.tip +0 -0
- data/spec/dummy/solr/default/data/index/segments.gen +0 -0
- data/spec/dummy/solr/default/data/index/segments_bvw +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015394 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015395 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015396 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015397 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015398 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015399 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015400 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015401 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000015402 +0 -0
- data/spec/dummy/solr/development/data/index/segments.gen +0 -0
- data/spec/dummy/solr/development/data/index/segments_1 +0 -0
- data/spec/dummy/solr/solr.xml +8 -0
- data/spec/dummy/solr/test/data/index/segments.gen +0 -0
- data/spec/dummy/solr/test/data/index/segments_1 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0007f9aec08cc2727b3d00cd62cf1d0f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0440b81b0aae840cf287a686585a8cec +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/0e3e358e4fe4601ba5e435f6d0c86f12 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/129cec5384c0f26fcfb0ce65048298c5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1572dfd6f1e555f4be1aa60ddc3cb0c0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/181c975b1296d7ebe81714d5e64bc098 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1c1fbab93e4552626da626e0dbe70c74 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1e58a07a3701da9fb9c176d67162af2b +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2b35ad8fee7e1228e205669278e2adda +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2f09f58943a88f21e3a0318621391785 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2ffe508d0533d0afd2a37bb574eda40d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3753d928863ee65118b9f2da1c6e504d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/40e90f0c329b14292a9ff1a2fe907b39 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/45f3c74e1e31b58d9bda6908d5623290 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/49a3464eb6bcffb3d9f5b47b133edabb +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/49d32c13d390c1b80d8b2705aac86579 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/4aa18096a209e515f5f1df487622cdf4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/50e64f45f0cb4cee52fd3f3908f89a82 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/51f7d34a9e9bebb47b7201cfebfec34d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5995180d1cfd7cad71ec6d9e1a538f0e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/604e0e4b3c01d488d6fb087e9fdaeb94 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6401fc09d2b894df2ad251b007df145a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/65a8d4d288e5f082f0166aa7be7a2464 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6f5d66df18892df6af39c9cfd784f0f5 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6fcdd2234a7c25f9d4179ca12fd9f7b4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/6fdb4513af157010ef79b56df44d665e +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/750439d8043ed022910956fbb55faa65 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/811e5198d0dc4efe02d28c0c2215e207 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/83ea20e0b25e77f5dce5bf733b088292 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9604073a83f822f13caaabd7e157bbbb +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/98d02556564ee10aef4c3397bb94d5b9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/9cfe4d48f5258863dbfb3623c797fb15 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/a296264dcc89e1f8ab6382e678ffbe38 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/aa2e1ada35daa496bb08e85fcb817536 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/abee2d4cb18d15789dcdc9c680f3e6de +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c1ab0ecf3cf57db41d9e4cd9306d8829 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/c4a984c6feb506f3e1f9120a8d029bda +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/ccdcb26ebc6ef3b684368b368edf4f99 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d34b5413caa9407126db68d5d590804a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d4ac74c17332ad931b72f42d7997fcc0 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/dd672deb061233e0db1d2f413d27213f +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e1fcfb0faa3c12467a1c35251e04c8b1 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e2d21478696ac96ad895f7c3b8d31594 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e577e9ce00153ad2e59111f761d0fb15 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e9738177de2083b68d42e053a1529244 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/e9ce2df3f0160329df69b22a911dbd04 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f2e83d3b5fe984832bfeff09b0e3b8d2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f90eee17e0e5eaea50e6064ded54617c +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fa8e81ce1d45228121b9df5618542190 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/fbdc1d9347cb228f06807b76c6c2974e +0 -0
- data/spec/dummy/tmp/cache/stdout +1262 -0
- data/spec/dummy/tmp/pids/redis-test.pid +1 -0
- data/spec/factories/profile.rb +9 -0
- data/spec/factories/reserve.rb +7 -1
- data/spec/factories/user.rb +3 -9
- data/spec/fixtures/agents.yml +0 -12
- data/spec/fixtures/checkouts.yml +12 -1
- data/spec/fixtures/items.yml +48 -25
- data/spec/fixtures/manifestation_checkout_stats.yml +3 -4
- data/spec/fixtures/manifestation_reserve_stats.yml +3 -4
- data/spec/fixtures/message_requests.yml +0 -3
- data/spec/fixtures/message_templates.yml +41 -20
- data/spec/fixtures/profiles.yml +83 -0
- data/spec/fixtures/reserve_transitions.yml +88 -0
- data/spec/fixtures/reserves.yml +1 -18
- data/spec/fixtures/user_checkout_stats.yml +3 -4
- data/spec/fixtures/user_groups.yml +3 -3
- data/spec/fixtures/user_reserve_stats.yml +3 -4
- data/spec/fixtures/users.yml +0 -55
- data/spec/models/checked_item_spec.rb +2 -1
- data/spec/models/checkout_spec.rb +0 -1
- data/spec/models/manifestation_checkout_stat_spec.rb +4 -2
- data/spec/models/manifestation_reserve_stat_spec.rb +4 -2
- data/spec/models/reserve_spec.rb +9 -11
- data/spec/models/user_checkout_stat_spec.rb +4 -2
- data/spec/models/user_reserve_stat_spec.rb +4 -2
- data/spec/support/resque.rb +25 -22
- metadata +325 -92
- data/app/controllers/checkout_stat_has_manifestations_controller.rb +0 -81
- data/app/controllers/checkout_stat_has_users_controller.rb +0 -81
- data/app/controllers/reserve_stat_has_manifestations_controller.rb +0 -81
- data/app/controllers/reserve_stat_has_users_controller.rb +0 -81
- data/app/models/circulation_sweeper.rb +0 -24
- data/app/views/checkout_stat_has_manifestations/_form.html.erb +0 -15
- data/app/views/checkout_stat_has_manifestations/edit.html.erb +0 -13
- data/app/views/checkout_stat_has_manifestations/index.html.erb +0 -33
- data/app/views/checkout_stat_has_manifestations/new.html.erb +0 -12
- data/app/views/checkout_stat_has_manifestations/show.html.erb +0 -28
- data/app/views/checkout_stat_has_users/_form.html.erb +0 -15
- data/app/views/checkout_stat_has_users/edit.html.erb +0 -13
- data/app/views/checkout_stat_has_users/index.html.erb +0 -33
- data/app/views/checkout_stat_has_users/new.html.erb +0 -12
- data/app/views/checkout_stat_has_users/show.html.erb +0 -28
- data/app/views/checkouts/index.csv.erb +0 -4
- data/app/views/manifestation_checkout_stats/show.csv.erb +0 -4
- data/app/views/manifestation_reserve_stats/show.csv.erb +0 -4
- data/app/views/reserve_stat_has_manifestations/_form.html.erb +0 -15
- data/app/views/reserve_stat_has_manifestations/edit.html.erb +0 -13
- data/app/views/reserve_stat_has_manifestations/index.html.erb +0 -33
- data/app/views/reserve_stat_has_manifestations/new.html.erb +0 -12
- data/app/views/reserve_stat_has_manifestations/show.html.erb +0 -28
- data/app/views/reserve_stat_has_users/_form.html.erb +0 -15
- data/app/views/reserve_stat_has_users/edit.html.erb +0 -13
- data/app/views/reserve_stat_has_users/index.html.erb +0 -33
- data/app/views/reserve_stat_has_users/new.html.erb +0 -12
- data/app/views/reserve_stat_has_users/show.html.erb +0 -28
- data/app/views/reserves/index.csv.erb +0 -4
- data/app/views/user_checkout_stats/show.csv.erb +0 -4
- data/app/views/user_reserve_stats/show.csv.erb +0 -4
- data/db/fixtures/carrier_type_has_checkout_types.yml +0 -8
- data/db/fixtures/checkout_types.yml +0 -22
- data/db/fixtures/circulation_statuses.yml +0 -92
- data/db/fixtures/use_restrictions.yml +0 -79
- data/db/migrate/20130303104849_add_state_index_to_reserve.rb +0 -5
- data/spec/controllers/checkout_stat_has_manifestations_controller_spec.rb +0 -441
- data/spec/controllers/checkout_stat_has_users_controller_spec.rb +0 -441
- data/spec/controllers/reserve_stat_has_manifestations_controller_spec.rb +0 -441
- data/spec/controllers/reserve_stat_has_users_controller_spec.rb +0 -441
- data/spec/dummy/app/mailers/notifier.rb +0 -29
- data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +0 -13
- data/spec/dummy/db/migrate/20111201155456_create_users.rb +0 -16
- data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +0 -44
@@ -1,14 +1,13 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
class ReservesController < ApplicationController
|
3
|
-
before_filter :store_location, :
|
4
|
-
load_and_authorize_resource :
|
5
|
-
authorize_resource :
|
6
|
-
before_filter :get_user, :
|
3
|
+
before_filter :store_location, only: [:index, :new]
|
4
|
+
load_and_authorize_resource except: :index
|
5
|
+
authorize_resource only: :index
|
6
|
+
before_filter :get_user, only: [:index, :new]
|
7
7
|
before_filter :store_page
|
8
8
|
helper_method :get_manifestation
|
9
9
|
helper_method :get_item
|
10
|
-
after_filter :convert_charset, :
|
11
|
-
cache_sweeper :circulation_sweeper, :only => [:create, :update, :destroy]
|
10
|
+
after_filter :convert_charset, only: :index
|
12
11
|
|
13
12
|
# GET /reserves
|
14
13
|
# GET /reserves.json
|
@@ -16,7 +15,7 @@ class ReservesController < ApplicationController
|
|
16
15
|
unless current_user.has_role?('Librarian')
|
17
16
|
if @user
|
18
17
|
if current_user == @user
|
19
|
-
redirect_to reserves_url(:
|
18
|
+
redirect_to reserves_url(format: params[:format])
|
20
19
|
return
|
21
20
|
else
|
22
21
|
access_denied; return
|
@@ -36,7 +35,7 @@ class ReservesController < ApplicationController
|
|
36
35
|
sort_column = :created_at
|
37
36
|
order = :desc
|
38
37
|
end
|
39
|
-
if params[:format].to_s.downcase == '
|
38
|
+
if params[:format].to_s.downcase == 'txt'
|
40
39
|
page = 1
|
41
40
|
per_page = 65534
|
42
41
|
else
|
@@ -104,10 +103,10 @@ class ReservesController < ApplicationController
|
|
104
103
|
|
105
104
|
respond_to do |format|
|
106
105
|
format.html # index.html.erb
|
107
|
-
format.json { render :
|
108
|
-
format.rss { render :
|
106
|
+
format.json { render json: @reserves }
|
107
|
+
format.rss { render layout: false }
|
109
108
|
format.atom
|
110
|
-
format.
|
109
|
+
format.txt
|
111
110
|
end
|
112
111
|
end
|
113
112
|
|
@@ -116,7 +115,7 @@ class ReservesController < ApplicationController
|
|
116
115
|
def show
|
117
116
|
respond_to do |format|
|
118
117
|
format.html # show.html.erb
|
119
|
-
format.json { render :
|
118
|
+
format.json { render json: @reserve }
|
120
119
|
end
|
121
120
|
end
|
122
121
|
|
@@ -133,7 +132,7 @@ class ReservesController < ApplicationController
|
|
133
132
|
access_denied; return
|
134
133
|
end
|
135
134
|
end
|
136
|
-
@reserve.user_number = current_user.user_number
|
135
|
+
@reserve.user_number = current_user.profile.user_number
|
137
136
|
end
|
138
137
|
|
139
138
|
get_manifestation
|
@@ -175,13 +174,13 @@ class ReservesController < ApplicationController
|
|
175
174
|
|
176
175
|
respond_to do |format|
|
177
176
|
if @reserve.save
|
178
|
-
@reserve.
|
177
|
+
@reserve.transition_to!(:requested)
|
179
178
|
|
180
|
-
format.html { redirect_to @reserve, :
|
181
|
-
format.json { render :
|
179
|
+
format.html { redirect_to @reserve, notice: t('controller.successfully_created', model: t('activerecord.models.reserve')) }
|
180
|
+
format.json { render json: @reserve, status: :created, location: reserve_url(@reserve) }
|
182
181
|
else
|
183
|
-
format.html { render :
|
184
|
-
format.json { render :
|
182
|
+
format.html { render action: "new" }
|
183
|
+
format.json { render json: @reserve.errors, status: :unprocessable_entity }
|
185
184
|
end
|
186
185
|
end
|
187
186
|
end
|
@@ -190,40 +189,40 @@ class ReservesController < ApplicationController
|
|
190
189
|
# PUT /reserves/1.json
|
191
190
|
def update
|
192
191
|
if current_user.has_role?('Librarian')
|
193
|
-
@reserve.assign_attributes(params[:reserve], :
|
192
|
+
@reserve.assign_attributes(params[:reserve], as: :admin)
|
194
193
|
else
|
195
194
|
if @reserve.user != current_user
|
196
195
|
access_denied; return
|
197
196
|
end
|
198
|
-
@reserve.assign_attributes(params[:reserve], :
|
197
|
+
@reserve.assign_attributes(params[:reserve], as: :user_update)
|
199
198
|
end
|
200
199
|
|
201
200
|
if @reserve.valid?
|
202
201
|
if params[:mode] == 'cancel'
|
203
|
-
@reserve.
|
202
|
+
@reserve.transition_to!(:canceled)
|
204
203
|
else
|
205
204
|
if @reserve.retained?
|
206
205
|
if @reserve.item_identifier and @reserve.force_retaining == '1'
|
207
|
-
@reserve.
|
206
|
+
@reserve.transition_to!(:retained)
|
208
207
|
end
|
209
208
|
else
|
210
|
-
@reserve.
|
209
|
+
@reserve.transition_to!(:retained) if @reserve.item_identifier
|
211
210
|
end
|
212
211
|
end
|
213
212
|
end
|
214
213
|
|
215
214
|
respond_to do |format|
|
216
215
|
if @reserve.save
|
217
|
-
if @reserve.
|
216
|
+
if @reserve.current_state == 'canceled'
|
218
217
|
flash[:notice] = t('reserve.reservation_was_canceled')
|
219
218
|
else
|
220
|
-
flash[:notice] = t('controller.successfully_updated', :
|
219
|
+
flash[:notice] = t('controller.successfully_updated', model: t('activerecord.models.reserve'))
|
221
220
|
end
|
222
221
|
format.html { redirect_to @reserve }
|
223
222
|
format.json { head :no_content }
|
224
223
|
else
|
225
|
-
format.html { render :
|
226
|
-
format.json { render :
|
224
|
+
format.html { render action: "edit" }
|
225
|
+
format.json { render json: @reserve.errors, status: :unprocessable_entity }
|
227
226
|
end
|
228
227
|
end
|
229
228
|
end
|
@@ -244,7 +243,7 @@ class ReservesController < ApplicationController
|
|
244
243
|
end
|
245
244
|
|
246
245
|
respond_to do |format|
|
247
|
-
format.html { redirect_to reserves_url, :
|
246
|
+
format.html { redirect_to reserves_url, notice: t('controller.successfully_deleted', model: t('activerecord.models.reserve')) }
|
248
247
|
format.json { head :no_content }
|
249
248
|
end
|
250
249
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class UserCheckoutStatsController < ApplicationController
|
2
2
|
load_and_authorize_resource
|
3
|
-
after_filter :convert_charset, :
|
3
|
+
after_filter :convert_charset, only: :show
|
4
4
|
|
5
5
|
# GET /user_checkout_stats
|
6
6
|
# GET /user_checkout_stats.json
|
@@ -9,14 +9,14 @@ class UserCheckoutStatsController < 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: @user_checkout_stats }
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
# GET /user_checkout_stats/1
|
17
17
|
# GET /user_checkout_stats/1.json
|
18
18
|
def show
|
19
|
-
if params[:format] == '
|
19
|
+
if params[:format] == 'txt'
|
20
20
|
per_page = 65534
|
21
21
|
else
|
22
22
|
per_page = CheckoutStatHasUser.default_per_page
|
@@ -25,8 +25,8 @@ class UserCheckoutStatsController < ApplicationController
|
|
25
25
|
|
26
26
|
respond_to do |format|
|
27
27
|
format.html # show.html.erb
|
28
|
-
format.json { render :
|
29
|
-
format.
|
28
|
+
format.json { render json: @user_checkout_stat }
|
29
|
+
format.txt
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -37,7 +37,7 @@ class UserCheckoutStatsController < ApplicationController
|
|
37
37
|
|
38
38
|
respond_to do |format|
|
39
39
|
format.html # new.html.erb
|
40
|
-
format.json { render :
|
40
|
+
format.json { render json: @user_checkout_stat }
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
@@ -49,14 +49,16 @@ class UserCheckoutStatsController < ApplicationController
|
|
49
49
|
# POST /user_checkout_stats.json
|
50
50
|
def create
|
51
51
|
@user_checkout_stat = UserCheckoutStat.new(params[:user_checkout_stat])
|
52
|
+
@user_checkout_stat.user = current_user
|
52
53
|
|
53
54
|
respond_to do |format|
|
54
55
|
if @user_checkout_stat.save
|
55
|
-
|
56
|
-
format.
|
56
|
+
Resque.enqueue(UserCheckoutStatQueue, @user_checkout_stat.id)
|
57
|
+
format.html { redirect_to @user_checkout_stat, notice: t('statistic.successfully_created', model: t('activerecord.models.user_checkout_stat')) }
|
58
|
+
format.json { render json: @user_checkout_stat, status: :created, location: @user_checkout_stat }
|
57
59
|
else
|
58
|
-
format.html { render :
|
59
|
-
format.json { render :
|
60
|
+
format.html { render action: "new" }
|
61
|
+
format.json { render json: @user_checkout_stat.errors, status: :unprocessable_entity }
|
60
62
|
end
|
61
63
|
end
|
62
64
|
end
|
@@ -69,11 +71,11 @@ class UserCheckoutStatsController < ApplicationController
|
|
69
71
|
if @user_checkout_stat.mode == 'import'
|
70
72
|
Resque.enqueue(UserCheckoutStatQueue, @user_checkout_stat.id)
|
71
73
|
end
|
72
|
-
format.html { redirect_to @user_checkout_stat, :
|
74
|
+
format.html { redirect_to @user_checkout_stat, notice: t('controller.successfully_updated', model: t('activerecord.models.user_checkout_stat')) }
|
73
75
|
format.json { head :no_content }
|
74
76
|
else
|
75
|
-
format.html { render :
|
76
|
-
format.json { render :
|
77
|
+
format.html { render action: "edit" }
|
78
|
+
format.json { render json: @user_checkout_stat.errors, status: :unprocessable_entity }
|
77
79
|
end
|
78
80
|
end
|
79
81
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class UserGroupHasCheckoutTypesController < ApplicationController
|
2
2
|
load_and_authorize_resource
|
3
3
|
helper_method :get_user_group, :get_checkout_type
|
4
|
-
before_filter :prepare_options, :
|
4
|
+
before_filter :prepare_options, only: [:new, :edit]
|
5
5
|
|
6
6
|
# GET /user_group_has_checkout_types
|
7
7
|
# GET /user_group_has_checkout_types.json
|
@@ -10,7 +10,7 @@ class UserGroupHasCheckoutTypesController < ApplicationController
|
|
10
10
|
|
11
11
|
respond_to do |format|
|
12
12
|
format.html # index.html.erb
|
13
|
-
format.json { render :
|
13
|
+
format.json { render json: @user_group_has_checkout_types }
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -19,7 +19,7 @@ class UserGroupHasCheckoutTypesController < ApplicationController
|
|
19
19
|
def show
|
20
20
|
respond_to do |format|
|
21
21
|
format.html # show.html.erb
|
22
|
-
format.json { render :
|
22
|
+
format.json { render json: @user_group_has_checkout_type }
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -33,7 +33,7 @@ class UserGroupHasCheckoutTypesController < ApplicationController
|
|
33
33
|
|
34
34
|
respond_to do |format|
|
35
35
|
format.html # new.html.erb
|
36
|
-
format.json { render :
|
36
|
+
format.json { render json: @user_group_has_checkout_type }
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -48,12 +48,12 @@ class UserGroupHasCheckoutTypesController < ApplicationController
|
|
48
48
|
|
49
49
|
respond_to do |format|
|
50
50
|
if @user_group_has_checkout_type.save
|
51
|
-
format.html { redirect_to(@user_group_has_checkout_type, :
|
52
|
-
format.json { render :
|
51
|
+
format.html { redirect_to(@user_group_has_checkout_type, notice: t('controller.successfully_created', model: t('activerecord.models.user_group_has_checkout_type'))) }
|
52
|
+
format.json { render json: @user_group_has_checkout_type, status: :created, location: @user_group_has_checkout_type }
|
53
53
|
else
|
54
54
|
prepare_options
|
55
|
-
format.html { render :
|
56
|
-
format.json { render :
|
55
|
+
format.html { render action: "new" }
|
56
|
+
format.json { render json: @user_group_has_checkout_type.errors, status: :unprocessable_entity }
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -63,12 +63,12 @@ class UserGroupHasCheckoutTypesController < ApplicationController
|
|
63
63
|
def update
|
64
64
|
respond_to do |format|
|
65
65
|
if @user_group_has_checkout_type.update_attributes(params[:user_group_has_checkout_type])
|
66
|
-
format.html { redirect_to @user_group_has_checkout_type, :
|
66
|
+
format.html { redirect_to @user_group_has_checkout_type, notice: t('controller.successfully_updated', model: t('activerecord.models.user_group_has_checkout_type')) }
|
67
67
|
format.json { head :no_content }
|
68
68
|
else
|
69
69
|
prepare_options
|
70
|
-
format.html { render :
|
71
|
-
format.json { render :
|
70
|
+
format.html { render action: "edit" }
|
71
|
+
format.json { render json: @user_group_has_checkout_type.errors, status: :unprocessable_entity }
|
72
72
|
end
|
73
73
|
end
|
74
74
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class UserReserveStatsController < ApplicationController
|
2
2
|
load_and_authorize_resource
|
3
|
-
after_filter :convert_charset, :
|
3
|
+
after_filter :convert_charset, only: :show
|
4
4
|
|
5
5
|
# GET /user_reserve_stats
|
6
6
|
# GET /user_reserve_stats.json
|
@@ -9,14 +9,14 @@ class UserReserveStatsController < 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: @user_reserve_stats }
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
# GET /user_reserve_stats/1
|
17
17
|
# GET /user_reserve_stats/1.json
|
18
18
|
def show
|
19
|
-
if params[:format] == '
|
19
|
+
if params[:format] == 'txt'
|
20
20
|
per_page = 65534
|
21
21
|
else
|
22
22
|
per_page = ReserveStatHasUser.default_per_page
|
@@ -25,8 +25,8 @@ class UserReserveStatsController < ApplicationController
|
|
25
25
|
|
26
26
|
respond_to do |format|
|
27
27
|
format.html # show.html.erb
|
28
|
-
format.json { render :
|
29
|
-
format.
|
28
|
+
format.json { render json: @user_reserve_stat }
|
29
|
+
format.txt
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -37,7 +37,7 @@ class UserReserveStatsController < ApplicationController
|
|
37
37
|
|
38
38
|
respond_to do |format|
|
39
39
|
format.html # new.html.erb
|
40
|
-
format.json { render :
|
40
|
+
format.json { render json: @user_reserve_stat }
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
@@ -49,14 +49,16 @@ class UserReserveStatsController < ApplicationController
|
|
49
49
|
# POST /user_reserve_stats.json
|
50
50
|
def create
|
51
51
|
@user_reserve_stat = UserReserveStat.new(params[:user_reserve_stat])
|
52
|
+
@user_reserve_stat.user = current_user
|
52
53
|
|
53
54
|
respond_to do |format|
|
54
55
|
if @user_reserve_stat.save
|
55
|
-
|
56
|
-
format.
|
56
|
+
Resque.enqueue(UserReserveStatQueue, @user_reserve_stat.id)
|
57
|
+
format.html { redirect_to @user_reserve_stat, notice: t('statistic.successfully_created', model: t('activerecord.models.user_reserve_stat')) }
|
58
|
+
format.json { render json: @user_reserve_stat, status: :created, location: @user_reserve_stat }
|
57
59
|
else
|
58
|
-
format.html { render :
|
59
|
-
format.json { render :
|
60
|
+
format.html { render action: "new" }
|
61
|
+
format.json { render json: @user_reserve_stat.errors, status: :unprocessable_entity }
|
60
62
|
end
|
61
63
|
end
|
62
64
|
end
|
@@ -69,11 +71,11 @@ class UserReserveStatsController < ApplicationController
|
|
69
71
|
if @user_reserve_stat.mode == 'import'
|
70
72
|
Resque.enqueue(UserReserveStatQueue, @user_reserve_stat.id)
|
71
73
|
end
|
72
|
-
format.html { redirect_to @user_reserve_stat, :
|
74
|
+
format.html { redirect_to @user_reserve_stat, notice: t('controller.successfully_updated', model: t('activerecord.models.user_reserve_stat')) }
|
73
75
|
format.json { head :no_content }
|
74
76
|
else
|
75
|
-
format.html { render :
|
76
|
-
format.json { render :
|
77
|
+
format.html { render action: "edit" }
|
78
|
+
format.json { render json: @user_reserve_stat.errors, status: :unprocessable_entity }
|
77
79
|
end
|
78
80
|
end
|
79
81
|
end
|
@@ -1,16 +1,16 @@
|
|
1
1
|
class CarrierTypeHasCheckoutType < ActiveRecord::Base
|
2
2
|
attr_accessible :carrier_type_id, :checkout_type_id, :note
|
3
|
-
scope :available_for_carrier_type, lambda {|carrier_type| {:include => :carrier_type, :
|
4
|
-
scope :available_for_user_group, lambda {|user_group| {:include => {:checkout_type => :user_groups}, :
|
3
|
+
scope :available_for_carrier_type, lambda {|carrier_type| {:include => :carrier_type, conditions: ['carrier_types.name = ?', carrier_type.name]}}
|
4
|
+
scope :available_for_user_group, lambda {|user_group| {:include => {:checkout_type => :user_groups}, conditions: ['user_groups.name = ?', user_group.name]}}
|
5
5
|
|
6
|
-
belongs_to :carrier_type, :
|
7
|
-
belongs_to :checkout_type, :
|
6
|
+
belongs_to :carrier_type, validate: true
|
7
|
+
belongs_to :checkout_type, validate: true
|
8
8
|
|
9
9
|
validates_presence_of :carrier_type, :checkout_type
|
10
10
|
validates_associated :carrier_type, :checkout_type
|
11
|
-
validates_uniqueness_of :checkout_type_id, :
|
11
|
+
validates_uniqueness_of :checkout_type_id, scope: :carrier_type_id
|
12
12
|
|
13
|
-
acts_as_list :
|
13
|
+
acts_as_list scope: :carrier_type_id
|
14
14
|
end
|
15
15
|
|
16
16
|
# == Schema Information
|
data/app/models/checked_item.rb
CHANGED
@@ -1,36 +1,38 @@
|
|
1
1
|
class CheckedItem < ActiveRecord::Base
|
2
2
|
attr_accessible :item_identifier, :ignore_restriction, :due_date_string
|
3
|
-
belongs_to :item #, :
|
4
|
-
belongs_to :basket #, :
|
5
|
-
belongs_to :librarian, :
|
6
|
-
|
7
|
-
validates_associated :item, :basket, :
|
8
|
-
validates_presence_of :item, :basket, :due_date, :
|
9
|
-
validates_uniqueness_of :item_id, :
|
10
|
-
validate :available_for_checkout?, :
|
11
|
-
validates :due_date_string, :
|
3
|
+
belongs_to :item #, validate: true
|
4
|
+
belongs_to :basket #, validate: true
|
5
|
+
belongs_to :librarian, class_name: 'User' #, validate: true
|
6
|
+
|
7
|
+
validates_associated :item, :basket, on: :update
|
8
|
+
validates_presence_of :item, :basket, :due_date, on: :update
|
9
|
+
validates_uniqueness_of :item_id, scope: :basket_id
|
10
|
+
validate :available_for_checkout?, on: :create
|
11
|
+
validates :due_date_string, format: {with: /\A\[{0,1}\d+([\/-]\d{0,2}){0,2}\]{0,1}\z/}, allow_blank: true
|
12
12
|
validate :check_due_date
|
13
13
|
|
14
14
|
before_validation :set_item
|
15
|
-
before_validation :set_due_date, :
|
15
|
+
before_validation :set_due_date, on: :create
|
16
16
|
normalize_attributes :item_identifier
|
17
17
|
|
18
18
|
attr_protected :user_id
|
19
19
|
attr_accessor :item_identifier, :ignore_restriction, :due_date_string
|
20
20
|
|
21
21
|
def available_for_checkout?
|
22
|
-
if
|
22
|
+
if item.blank?
|
23
23
|
errors[:base] << I18n.t('activerecord.errors.messages.checked_item.item_not_found')
|
24
24
|
return false
|
25
25
|
end
|
26
26
|
|
27
27
|
if item.rent?
|
28
|
-
|
28
|
+
unless item.circulation_status.name == 'Missing'
|
29
|
+
errors[:base] << I18n.t('activerecord.errors.messages.checked_item.already_checked_out')
|
30
|
+
end
|
29
31
|
end
|
30
32
|
|
31
33
|
unless item.available_for_checkout?
|
32
34
|
if item.circulation_status.name == 'Missing'
|
33
|
-
item.circulation_status = CirculationStatus.where(:
|
35
|
+
item.circulation_status = CirculationStatus.where(name: 'Available On Shelf').first
|
34
36
|
item.save
|
35
37
|
set_due_date
|
36
38
|
else
|
@@ -45,15 +47,15 @@ class CheckedItem < ActiveRecord::Base
|
|
45
47
|
end
|
46
48
|
# ここまでは絶対に貸出ができない場合
|
47
49
|
|
48
|
-
return true if
|
50
|
+
return true if ignore_restriction == "1"
|
49
51
|
|
50
52
|
if item.not_for_loan?
|
51
53
|
errors[:base] << I18n.t('activerecord.errors.messages.checked_item.not_available_for_checkout')
|
52
54
|
end
|
53
55
|
|
54
56
|
if item.reserved?
|
55
|
-
if
|
56
|
-
|
57
|
+
if item.manifestation.next_reservation.user == basket.user
|
58
|
+
item.manifestation.next_reservation.transition_to!(:completed)
|
57
59
|
else
|
58
60
|
errors[:base] << I18n.t('activerecord.errors.messages.checked_item.reserved_item_included')
|
59
61
|
end
|
@@ -74,7 +76,7 @@ class CheckedItem < ActiveRecord::Base
|
|
74
76
|
|
75
77
|
def item_checkout_type
|
76
78
|
if item and basket
|
77
|
-
basket.user.user_group.user_group_has_checkout_types.available_for_item(item).first
|
79
|
+
basket.user.profile.user_group.user_group_has_checkout_types.available_for_item(item).first
|
78
80
|
end
|
79
81
|
end
|
80
82
|
|
@@ -108,7 +110,7 @@ class CheckedItem < ActiveRecord::Base
|
|
108
110
|
def set_item
|
109
111
|
identifier = item_identifier.to_s.strip
|
110
112
|
if identifier.present?
|
111
|
-
item = Item.where(:
|
113
|
+
item = Item.where(item_identifier: identifier).first
|
112
114
|
self.item = item
|
113
115
|
end
|
114
116
|
end
|
data/app/models/checkin.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
class Checkin < ActiveRecord::Base
|
2
2
|
attr_accessible :item_identifier
|
3
|
-
default_scope :
|
4
|
-
scope :on, lambda {|date| {:
|
3
|
+
default_scope order: 'checkins.id DESC'
|
4
|
+
scope :on, lambda {|date| {conditions: ['created_at >= ? AND created_at < ?', date.beginning_of_day, date.tomorrow.beginning_of_day]}}
|
5
5
|
has_one :checkout
|
6
6
|
belongs_to :item
|
7
|
-
belongs_to :librarian, :
|
7
|
+
belongs_to :librarian, class_name: 'User'
|
8
8
|
belongs_to :basket
|
9
9
|
|
10
|
-
validates_uniqueness_of :item_id, :
|
10
|
+
validates_uniqueness_of :item_id, scope: :basket_id
|
11
11
|
validates_presence_of :item_id, :basket_id
|
12
|
-
validate :available_for_checkin?, :
|
12
|
+
validate :available_for_checkin?, on: :create
|
13
13
|
before_validation :set_item
|
14
14
|
|
15
15
|
attr_accessor :item_identifier
|
@@ -34,19 +34,18 @@ class Checkin < ActiveRecord::Base
|
|
34
34
|
def item_checkin(current_user)
|
35
35
|
message = ''
|
36
36
|
Checkin.transaction do
|
37
|
-
checkouts = Checkout.not_returned.where(:item_id => item_id).select(
|
38
|
-
[:id, :item_id, :user_id, :basket_id, :due_date, :lock_version, :created_at, :checkout_renewal_count]
|
39
|
-
)
|
40
37
|
item.checkin!
|
41
|
-
|
38
|
+
Checkout.not_returned.where(item_id: item_id).select(
|
39
|
+
[:id, :item_id, :user_id, :basket_id, :due_date, :lock_version, :created_at, :checkout_renewal_count]
|
40
|
+
).each do |checkout|
|
42
41
|
# TODO: ILL時の処理
|
43
42
|
checkout.checkin = self
|
44
43
|
checkout.operator = current_user
|
45
|
-
unless checkout.user.try(:save_checkout_history)
|
44
|
+
unless checkout.user.profile.try(:save_checkout_history)
|
46
45
|
checkout.user = nil
|
47
46
|
end
|
48
|
-
checkout.save(:
|
49
|
-
unless checkout.item.shelf.library == current_user.library
|
47
|
+
checkout.save(validate: false)
|
48
|
+
unless checkout.item.shelf.library == current_user.profile.library
|
50
49
|
message << I18n.t('checkin.other_library_item')
|
51
50
|
end
|
52
51
|
end
|
@@ -67,7 +66,7 @@ class Checkin < ActiveRecord::Base
|
|
67
66
|
|
68
67
|
# メールとメッセージの送信
|
69
68
|
#ReservationNotifier.deliver_reserved(item.manifestation.reserves.first.user, item.manifestation)
|
70
|
-
#Message.create(:
|
69
|
+
#Message.create(sender: current_user, receiver: item.manifestation.next_reservation.user, subject: message_template.title, body: message_template.body, recipient: item.manifestation.next_reservation.user)
|
71
70
|
end
|
72
71
|
if message.present?
|
73
72
|
message
|
@@ -79,7 +78,7 @@ class Checkin < ActiveRecord::Base
|
|
79
78
|
def set_item
|
80
79
|
identifier = item_identifier.to_s.strip
|
81
80
|
if identifier.present?
|
82
|
-
item = Item.where(:
|
81
|
+
item = Item.where(item_identifier: identifier).first
|
83
82
|
self.item = item
|
84
83
|
end
|
85
84
|
end
|
data/app/models/checkout.rb
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
class Checkout < ActiveRecord::Base
|
2
2
|
attr_accessible :due_date
|
3
|
-
default_scope :
|
3
|
+
default_scope order: 'checkouts.id DESC'
|
4
4
|
scope :not_returned, where(:checkin_id => nil)
|
5
5
|
scope :returned, where('checkin_id IS NOT NULL')
|
6
|
-
scope :overdue, lambda {|date| {:
|
6
|
+
scope :overdue, lambda {|date| {conditions: ['checkin_id IS NULL AND due_date < ?', date]}}
|
7
7
|
scope :due_date_on, lambda {|date| where(:checkin_id => nil, :due_date => date.beginning_of_day .. date.end_of_day)}
|
8
|
-
scope :completed, lambda {|start_date, end_date| {:
|
9
|
-
scope :on, lambda {|date| {:
|
8
|
+
scope :completed, lambda {|start_date, end_date| {conditions: ['created_at >= ? AND created_at < ?', start_date, end_date]}}
|
9
|
+
scope :on, lambda {|date| {conditions: ['created_at >= ? AND created_at < ?', date.beginning_of_day, date.tomorrow.beginning_of_day]}}
|
10
10
|
|
11
|
-
belongs_to :user
|
11
|
+
belongs_to :user
|
12
12
|
delegate :username, :user_number, :to => :user, :prefix => true
|
13
|
-
belongs_to :item
|
14
|
-
belongs_to :checkin
|
15
|
-
belongs_to :librarian, :
|
16
|
-
belongs_to :basket
|
13
|
+
belongs_to :item
|
14
|
+
belongs_to :checkin
|
15
|
+
belongs_to :librarian, class_name: 'User'
|
16
|
+
belongs_to :basket
|
17
17
|
|
18
18
|
validates_associated :user, :item, :librarian, :checkin #, :basket
|
19
19
|
# TODO: 貸出履歴を保存しない場合は、ユーザ名を削除する
|
20
20
|
#validates_presence_of :user, :item, :basket
|
21
21
|
validates_presence_of :item_id, :basket_id, :due_date
|
22
|
-
validates_uniqueness_of :item_id, :
|
23
|
-
validate :is_not_checked?, :
|
24
|
-
validate :renewable?, :
|
22
|
+
validates_uniqueness_of :item_id, scope: [:basket_id, :user_id]
|
23
|
+
validate :is_not_checked?, on: :create
|
24
|
+
validate :renewable?, on: :update
|
25
25
|
validates_date :due_date
|
26
26
|
|
27
27
|
searchable do
|
@@ -29,7 +29,7 @@ class Checkout < ActiveRecord::Base
|
|
29
29
|
user.try(:username)
|
30
30
|
end
|
31
31
|
string :user_number do
|
32
|
-
user.try(:user_number)
|
32
|
+
user.try(:profile).try(:user_number)
|
33
33
|
end
|
34
34
|
string :item_identifier do
|
35
35
|
item.try(:item_identifier)
|
@@ -49,7 +49,7 @@ class Checkout < ActiveRecord::Base
|
|
49
49
|
paginates_per 10
|
50
50
|
|
51
51
|
def is_not_checked?
|
52
|
-
checkout = Checkout.not_returned.where(:
|
52
|
+
checkout = Checkout.not_returned.where(item_id: item_id)
|
53
53
|
unless checkout.empty?
|
54
54
|
errors[:base] << I18n.t('activerecord.errors.messages.checkin.already_checked_out')
|
55
55
|
end
|
@@ -115,7 +115,7 @@ class Checkout < ActiveRecord::Base
|
|
115
115
|
end
|
116
116
|
|
117
117
|
def self.manifestations_count(start_date, end_date, manifestation)
|
118
|
-
completed(start_date, end_date).where(:
|
118
|
+
completed(start_date, end_date).where(item_id: manifestation.items.pluck('items.id')).count
|
119
119
|
end
|
120
120
|
|
121
121
|
def self.send_due_date_notification
|
@@ -123,9 +123,9 @@ class Checkout < ActiveRecord::Base
|
|
123
123
|
queues = []
|
124
124
|
User.find_each do |user|
|
125
125
|
# 未来の日時を指定する
|
126
|
-
checkouts = user.checkouts.due_date_on(user.user_group.number_of_day_to_notify_due_date.days.from_now.beginning_of_day)
|
126
|
+
checkouts = user.checkouts.due_date_on(user.profile.user_group.number_of_day_to_notify_due_date.days.from_now.beginning_of_day)
|
127
127
|
unless checkouts.empty?
|
128
|
-
queues << user.send_message(template, :
|
128
|
+
queues << user.send_message(template, manifestations: checkouts.collect(&:item).collect(&:manifestation))
|
129
129
|
end
|
130
130
|
end
|
131
131
|
queues.size
|
@@ -135,10 +135,10 @@ class Checkout < ActiveRecord::Base
|
|
135
135
|
template = 'recall_overdue_item'
|
136
136
|
queues = []
|
137
137
|
User.find_each do |user|
|
138
|
-
user.user_group.number_of_time_to_notify_overdue.times do |i|
|
139
|
-
checkouts = user.checkouts.due_date_on((user.user_group.number_of_day_to_notify_overdue * (i + 1)).days.ago.beginning_of_day)
|
138
|
+
user.profile.user_group.number_of_time_to_notify_overdue.times do |i|
|
139
|
+
checkouts = user.checkouts.due_date_on((user.profile.user_group.number_of_day_to_notify_overdue * (i + 1)).days.ago.beginning_of_day)
|
140
140
|
unless checkouts.empty?
|
141
|
-
queues << user.send_message(template, :
|
141
|
+
queues << user.profile.user.send_message(template, manifestations: checkouts.collect(&:item).collect(&:manifestation))
|
142
142
|
end
|
143
143
|
end
|
144
144
|
end
|
@@ -166,4 +166,3 @@ end
|
|
166
166
|
# created_at :datetime not null
|
167
167
|
# updated_at :datetime not null
|
168
168
|
#
|
169
|
-
|