enju_leaf 1.1.0.rc12 → 1.1.0.rc13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/enju.css +0 -1
- data/app/controllers/my_accounts_controller.rb +26 -18
- data/app/controllers/page_controller.rb +6 -6
- data/app/controllers/profiles_controller.rb +155 -0
- data/app/controllers/roles_controller.rb +5 -5
- data/app/controllers/user_export_files_controller.rb +100 -0
- data/app/controllers/user_groups_controller.rb +11 -11
- data/app/controllers/user_import_files_controller.rb +22 -11
- data/app/controllers/user_import_results_controller.rb +1 -1
- data/app/mailers/notifier.rb +7 -7
- data/app/models/enju_leaf/ability.rb +14 -13
- data/app/models/profile.rb +63 -16
- data/app/models/role.rb +2 -2
- data/app/models/user_export_file.rb +52 -0
- data/app/models/user_export_file_state_machine.rb +15 -0
- data/app/models/user_export_file_transition.rb +20 -0
- data/app/models/user_group.rb +3 -3
- data/app/models/user_has_role.rb +2 -2
- data/app/models/user_import_file.rb +139 -53
- data/app/views/kaminari/_first_page.html.erb +1 -1
- data/app/views/kaminari/_last_page.html.erb +1 -1
- data/app/views/kaminari/_next_page.html.erb +1 -1
- data/app/views/kaminari/_page.html.erb +1 -1
- data/app/views/kaminari/_prev_page.html.erb +1 -1
- data/app/views/kaminari/enju_leaf_mobile/_next_page.html.erb +1 -1
- data/app/views/kaminari/enju_leaf_mobile/_page.html.erb +1 -1
- data/app/views/kaminari/enju_leaf_mobile/_prev_page.html.erb +1 -1
- data/app/views/layouts/application.html.erb +4 -4
- data/app/views/my_accounts/_edit_credential.html.erb +67 -59
- data/app/views/my_accounts/edit.html.erb +6 -46
- data/app/views/my_accounts/show.html.erb +8 -8
- data/app/views/page/_add.html.erb +2 -2
- data/app/views/page/_footer.html.erb +3 -2
- data/app/views/page/_footer.mobile.erb +1 -1
- data/app/views/page/_header.html.erb +4 -4
- data/app/views/page/_include.html.erb +1 -1
- data/app/views/page/_index.html.erb +8 -8
- data/app/views/page/_index.mobile.erb +4 -4
- data/app/views/page/_menu.html.erb +9 -6
- data/app/views/page/_msie_acceralator.html.erb +1 -1
- data/app/views/page/_position.html.erb +2 -2
- data/app/views/page/_search_form.html.erb +2 -2
- data/app/views/page/_search_form.mobile.erb +2 -2
- data/app/views/page/_select_locale.html.erb +2 -2
- data/app/views/page/about.en.html.erb +2 -2
- data/app/views/page/about.ja.html.erb +2 -2
- data/app/views/page/advanced_search.html.erb +8 -8
- data/app/views/page/configuration.html.erb +5 -3
- data/app/views/page/export.html.erb +7 -17
- data/app/views/page/import.html.erb +1 -4
- data/app/views/page/index.html.erb +2 -2
- data/app/views/page/msie_acceralator.builder +1 -1
- data/app/views/page/opensearch.builder +2 -2
- data/app/views/profiles/_edit_credential.html.erb +78 -0
- data/app/views/profiles/_edit_profile.html.erb +42 -0
- data/app/views/{users → profiles}/_form.html.erb +0 -0
- data/app/views/{users → profiles}/_show.html.erb +0 -0
- data/app/views/profiles/edit.html.erb +36 -0
- data/app/views/profiles/index.html.erb +61 -0
- data/app/views/{users → profiles}/new.html.erb +34 -36
- data/app/views/{users → profiles}/show.html.erb +24 -22
- data/app/views/{users → profiles}/show.mobile.erb +0 -0
- data/app/views/roles/_form.html.erb +1 -1
- data/app/views/roles/edit.html.erb +1 -1
- data/app/views/roles/index.html.erb +2 -2
- data/app/views/roles/new.html.erb +1 -1
- data/app/views/roles/show.html.erb +1 -1
- data/app/views/user_export_files/_form.html.erb +22 -0
- data/app/views/user_export_files/edit.html.erb +6 -0
- data/app/views/user_export_files/index.html.erb +44 -0
- data/app/views/user_export_files/new.html.erb +16 -0
- data/app/views/user_export_files/show.html.erb +31 -0
- data/app/views/user_groups/_form.html.erb +5 -5
- data/app/views/user_groups/edit.html.erb +1 -1
- data/app/views/user_groups/index.html.erb +14 -8
- data/app/views/user_groups/new.html.erb +1 -1
- data/app/views/user_groups/show.html.erb +3 -3
- data/app/views/user_import_files/index.html.erb +11 -10
- data/app/views/user_import_files/new.html.erb +15 -3
- data/app/views/user_import_files/show.html.erb +13 -3
- data/app/views/user_import_results/index.html.erb +7 -7
- data/app/views/user_import_results/{index.tsv.erb → index.txt.erb} +1 -1
- data/app/views/user_import_results/show.html.erb +2 -2
- data/app/workers/user_export_file_queue.rb +7 -0
- data/config/initializers/mime_types.rb +1 -1
- data/config/locales/devise.en.yml +19 -18
- data/config/locales/devise.ja.yml +45 -42
- data/config/locales/en.yml +214 -0
- data/config/locales/ja.yml +10 -6
- data/config/locales/translation_en.yml +34 -5
- data/config/locales/translation_ja.yml +35 -6
- data/config/routes.rb +4 -7
- data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +0 -9
- data/db/migrate/20140122054321_create_profiles.rb +1 -1
- data/db/migrate/20140709113413_create_user_export_files.rb +11 -0
- data/db/migrate/20140709113905_create_user_export_file_transitions.rb +14 -0
- data/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +5 -0
- data/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +5 -0
- data/db/migrate/20140811031145_add_expired_at_to_profile.rb +5 -0
- data/lib/enju_leaf/calculate_stat.rb +9 -0
- data/lib/enju_leaf/controller.rb +1 -1
- data/lib/enju_leaf/export_file.rb +26 -0
- data/lib/enju_leaf/import_file.rb +25 -0
- data/lib/enju_leaf/master_model.rb +15 -6
- data/lib/enju_leaf/url_validator.rb +4 -2
- data/lib/enju_leaf/user.rb +74 -68
- data/lib/enju_leaf/version.rb +1 -1
- data/lib/enju_leaf.rb +23 -24
- data/lib/generators/enju_leaf/quick_install/quick_install_generator.rb +2 -1
- data/lib/generators/enju_leaf/setup/setup_generator.rb +6 -0
- data/lib/generators/enju_leaf/setup/templates/db/fixtures/user_groups.yml +1 -1
- data/lib/generators/enju_leaf/setup/templates/db/seeds.rb +5 -4
- data/lib/tasks/enju_leaf_tasks.rake +18 -9
- data/lib/tasks/profile.rb +15 -0
- data/spec/controllers/my_accounts_controller_spec.rb +61 -43
- data/spec/controllers/page_controller_spec.rb +20 -20
- data/spec/controllers/profiles_controller_spec.rb +530 -0
- data/spec/controllers/roles_controller_spec.rb +19 -19
- data/spec/controllers/user_export_files_controller_spec.rb +297 -0
- data/spec/controllers/user_groups_controller_spec.rb +48 -48
- data/spec/controllers/user_import_files_controller_spec.rb +45 -41
- data/spec/controllers/user_import_results_controller_spec.rb +9 -9
- data/spec/dummy/app/models/user.rb +3 -0
- data/spec/dummy/config/application.rb +3 -1
- data/spec/dummy/config/environments/test.rb +2 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/{001_create_patrons.rb → 001_create_agents.rb} +1 -2
- data/spec/dummy/db/migrate/005_create_manifestations.rb +5 -17
- data/spec/dummy/db/migrate/006_create_items.rb +2 -3
- data/spec/dummy/db/migrate/032_create_checkins.rb +17 -0
- data/spec/dummy/db/migrate/033_create_checkouts.rb +25 -0
- data/spec/dummy/db/migrate/035_create_reserves.rb +27 -0
- data/spec/dummy/db/migrate/055_create_bookmarks.rb +22 -0
- data/spec/dummy/db/migrate/059_create_libraries.rb +5 -1
- data/spec/dummy/db/migrate/069_create_shelves.rb +5 -1
- data/spec/dummy/db/migrate/080_create_library_groups.rb +0 -2
- data/spec/dummy/db/migrate/113_create_events.rb +23 -0
- data/spec/dummy/db/migrate/114_create_event_categories.rb +16 -0
- data/spec/dummy/db/migrate/121_create_checked_items.rb +17 -0
- data/spec/dummy/db/migrate/127_create_use_restrictions.rb +16 -0
- data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +16 -0
- data/spec/dummy/db/migrate/130_create_request_status_types.rb +5 -1
- data/spec/dummy/db/migrate/131_create_request_types.rb +5 -1
- data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +16 -0
- data/spec/dummy/db/migrate/149_create_message_templates.rb +18 -0
- data/spec/dummy/db/migrate/154_create_messages.rb +23 -0
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +18 -0
- data/spec/dummy/db/migrate/{20080905191442_create_patron_types.rb → 20080905191442_create_agent_types.rb} +1 -1
- data/spec/dummy/db/migrate/{20081028083142_create_patron_import_files.rb → 20081028083142_create_agent_import_files.rb} +2 -4
- data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -3
- data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +17 -0
- data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +25 -0
- data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +18 -0
- data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +17 -0
- data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +16 -0
- data/spec/dummy/db/migrate/20081212151614_create_bookmark_stats.rb +16 -0
- data/spec/dummy/db/migrate/20081212151820_create_bookmark_stat_has_manifestations.rb +13 -0
- data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +16 -0
- data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +17 -0
- data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +17 -0
- data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +16 -0
- data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +16 -0
- data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +17 -0
- data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +27 -0
- data/spec/dummy/db/migrate/{20090812151902_create_patron_relationship_types.rb → 20090812151902_create_agent_relationship_types.rb} +1 -1
- data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +21 -0
- data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +0 -1
- data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20100525171356_acts_as_taggable_on_migration.rb +30 -0
- data/spec/dummy/db/migrate/{20100606073747_create_patron_relationships.rb → 20100606073747_create_agent_relationships.rb} +1 -1
- data/spec/dummy/db/migrate/{20100814091104_add_position_to_patron_relationship.rb → 20100814091104_add_position_to_agent_relationship.rb} +1 -1
- data/spec/dummy/db/migrate/{20100925074559_create_patron_import_results.rb → 20100925074559_create_agent_import_results.rb} +1 -1
- data/spec/dummy/db/migrate/{20110301121550_add_birth_date_and_death_date_to_patron.rb → 20110301121550_add_birth_date_and_death_date_to_agent.rb} +1 -1
- data/spec/dummy/db/migrate/20110301134521_add_expire_date_to_reserve.rb +9 -0
- data/spec/dummy/db/migrate/20110328130826_add_current_checkout_count_to_user_group_has_checkout_type.rb +9 -0
- data/spec/dummy/db/migrate/20110618091240_add_periodical_to_series_statement.rb +1 -1
- data/spec/dummy/db/migrate/20110621093332_remove_expire_date_from_reserve.rb +9 -0
- data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +11 -0
- data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +11 -0
- data/spec/dummy/db/migrate/20111217234412_add_save_checkout_history_to_user.rb +5 -0
- data/spec/dummy/db/migrate/20111218002349_add_checkout_icalendar_token_to_user.rb +6 -0
- data/spec/dummy/db/migrate/20111231145823_add_share_bookmarks_to_user.rb +5 -0
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
- data/spec/dummy/db/migrate/{20120413161403_add_fingerprint_to_patron_import_file.rb → 20120413161403_add_fingerprint_to_agent_import_file.rb} +1 -1
- data/spec/dummy/db/migrate/{20120413170720_add_error_message_to_patron_import_file.rb → 20120413170720_add_error_message_to_agent_import_file.rb} +1 -1
- data/spec/dummy/db/migrate/20120418121539_add_save_search_history_to_user.rb +5 -0
- data/spec/dummy/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +5 -0
- data/spec/dummy/db/migrate/{20120511072422_add_patron_identifier_to_patron.rb → 20120511072422_add_agent_identifier_to_agent.rb} +1 -1
- data/spec/dummy/db/migrate/{20120602141129_add_edit_mode_to_patron_import_file.rb → 20120602141129_add_edit_mode_to_agent_import_file.rb} +1 -1
- data/spec/dummy/db/migrate/20130303104849_add_state_index_to_reserve.rb +5 -0
- data/spec/dummy/db/migrate/20130303124821_add_retained_at_to_reserve.rb +5 -0
- data/spec/dummy/db/migrate/20130304015019_add_postponed_at_to_reserve.rb +5 -0
- data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +8 -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/20130509185724_add_statement_of_responsibility_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +5 -0
- data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +5 -0
- data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +14 -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/20140524135607_create_bookmark_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140524142813_add_taggings_count_to_tag.rb +5 -0
- data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140529014410_create_item_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/20140810061942_add_user_id_to_stat.rb +12 -0
- data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +6 -0
- data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +5 -0
- data/spec/dummy/db/migrate/20140811132912_add_save_search_history_to_profile.rb +5 -0
- data/spec/dummy/db/migrate/20140812093836_add_share_bookmarks_to_profile.rb +5 -0
- data/spec/dummy/db/schema.rb +632 -57
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/private/system/user_import_files/user_imports/980/190/963/original/user_delete_file.tsv +4 -0
- data/spec/dummy/private/system/user_import_files/user_imports/980/190/963/original/user_import_file_sample.tsv +7 -7
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/003/original/user_export_file_20140815-3963-1s1td26.txt +8 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/003/original/user_export_file_20140815-69229-i0rcty.txt +8 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/003/original/user_export_file_20140816-21120-1w731r8.txt +8 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140711-28652-1dj3e98.txt +148 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140711-29117-13jb6ol.txt +148 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140721-65743-1tnagd4.txt +8 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140815-3963-1kk8o87.txt +8 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140815-69229-188nwub.txt +8 -0
- data/spec/dummy/public/system/user_export_files/user_exports/000/000/004/original/user_export_file_20140816-21120-twzfb6.txt +8 -0
- data/spec/dummy/solr/default/data/index/_4h.fdt +0 -0
- data/spec/dummy/solr/default/data/index/{_3h.fdx → _4h.fdx} +0 -0
- data/spec/dummy/solr/default/data/index/{_3h.fnm → _4h.fnm} +0 -0
- data/spec/dummy/solr/default/data/index/{_3h.nvd → _4h.nvd} +0 -0
- data/spec/dummy/solr/default/data/index/{_3h.nvm → _4h.nvm} +0 -0
- data/spec/dummy/solr/default/data/index/{_3h.si → _4h.si} +0 -0
- data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.doc +0 -0
- data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.pos +0 -0
- data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.tim +0 -0
- data/spec/dummy/solr/default/data/index/_4h_Lucene41_0.tip +0 -0
- data/spec/dummy/solr/default/data/index/segments.gen +0 -0
- data/spec/dummy/solr/default/data/index/segments_97 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000320 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000321 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000322 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000323 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000324 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000325 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000326 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000327 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000328 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000329 +0 -0
- data/spec/dummy/tmp/cache/4F7/F90/default_role +0 -0
- data/spec/dummy/tmp/cache/ACB/B20/manifestation_search_total +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/154f7b83f2da0e86effbe25f32135177 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/1b984bdbd3204a51a82d0e01a1569e2d +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3054c50144654f9c7e57bb0639a276e9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3bd7a263237ba366f64d938fe5303757 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/62899096da1a3e67660f3b88068be8c9 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/65b2e4f67eab21b30217e29075f433b2 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/87d24a3f43f175d4d17babe9203c79a7 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d38d8658b30de1d068603968227680d4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/stdout +246 -279
- data/spec/dummy/tmp/pids/redis-test.pid +1 -1
- data/spec/factories/profile.rb +9 -0
- data/spec/factories/user.rb +0 -13
- data/spec/fixtures/agent_import_files.yml +0 -3
- data/spec/fixtures/agents.yml +54 -54
- data/spec/fixtures/baskets.yml +4 -4
- data/spec/fixtures/carrier_type_has_checkout_types.yml +30 -0
- data/spec/fixtures/checked_items.yml +34 -0
- data/spec/fixtures/checkins.yml +54 -0
- data/spec/fixtures/checkout_stat_has_manifestations.yml +23 -0
- data/spec/fixtures/checkout_stat_has_users.yml +23 -0
- data/spec/fixtures/checkout_types.yml +33 -0
- data/spec/fixtures/checkouts.yml +162 -0
- data/spec/fixtures/circulation_statuses.yml +119 -0
- data/spec/fixtures/event_categories.yml +55 -0
- data/spec/fixtures/events.yml +142 -0
- data/spec/fixtures/exemplifies.yml +12 -0
- data/spec/fixtures/import_requests.yml +0 -2
- data/spec/fixtures/item_has_use_restrictions.yml +60 -0
- data/spec/fixtures/items.yml +101 -11
- data/spec/fixtures/lending_policies.yml +98 -0
- data/spec/fixtures/libraries.yml +26 -25
- data/spec/fixtures/library_groups.yml +6 -8
- data/spec/fixtures/manifestation_checkout_stats.yml +30 -0
- data/spec/fixtures/manifestation_reserve_stats.yml +30 -0
- data/spec/fixtures/manifestations.yml +69 -207
- data/spec/fixtures/message_requests.yml +27 -0
- data/spec/fixtures/message_templates.yml +105 -0
- data/spec/fixtures/profiles.yml +98 -0
- data/spec/fixtures/request_status_types.yml +63 -0
- data/spec/fixtures/request_types.yml +55 -0
- data/spec/fixtures/reserve_stat_has_manifestations.yml +23 -0
- data/spec/fixtures/reserve_stat_has_users.yml +23 -0
- data/spec/fixtures/reserve_transitions.yml +88 -0
- data/spec/fixtures/reserves.yml +162 -0
- data/spec/fixtures/resource_import_files.yml +0 -3
- data/spec/fixtures/roles.yml +0 -4
- data/spec/fixtures/shelves.yml +2 -3
- data/spec/fixtures/use_restrictions.yml +92 -0
- data/spec/fixtures/user_checkout_stats.yml +30 -0
- data/spec/fixtures/user_export_files.yml +26 -0
- data/spec/fixtures/user_group_has_checkout_types.yml +110 -0
- data/spec/fixtures/user_import_files.yml +2 -0
- data/spec/fixtures/user_reserve_stats.yml +30 -0
- data/spec/fixtures/users.yml +1 -101
- data/spec/models/profile_spec.rb +66 -0
- data/spec/models/user_export_file_spec.rb +31 -0
- data/spec/models/user_import_file_spec.rb +42 -20
- data/spec/models/user_spec.rb +1 -18
- data/spec/requests/{users_spec.rb → profiles_spec.rb} +3 -3
- data/spec/routing/accounts_spec.rb +1 -1
- data/spec/routing/profiles_routing_spec.rb +35 -0
- data/spec/support/resque.rb +1 -0
- data/spec/views/{users → profiles}/edit.html.erb_spec.rb +5 -7
- data/spec/views/{users → profiles}/index.html.erb_spec.rb +3 -3
- data/spec/views/{users → profiles}/new.html.erb_spec.rb +5 -5
- data/spec/views/profiles/show.html.erb_spec.rb +20 -0
- data/vendor/assets/javascripts/jquery.colorbox.js +4 -3
- data/vendor/assets/stylesheets/colorbox.css +1 -1
- metadata +416 -132
- data/app/controllers/users_controller.rb +0 -195
- data/app/models/user_sweeper.rb +0 -18
- data/app/views/users/_edit_credential.html.erb +0 -79
- data/app/views/users/edit.html.erb +0 -76
- data/app/views/users/index.html.erb +0 -56
- data/lib/enju_leaf/expire_editable_fragment.rb +0 -30
- data/lib/enju_leaf/expire_fragment_cache.rb +0 -17
- data/spec/controllers/users_controller_spec.rb +0 -539
- data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +0 -13
- data/spec/dummy/db/migrate/20120415060308_rename_resource_import_file_imported_at_to_executed_at.rb +0 -9
- data/spec/dummy/db/migrate/20120415060323_rename_patron_import_file_imported_at_to_executed_at.rb +0 -9
- data/spec/dummy/db/migrate/20121119153944_add_manifestation_id_to_item.rb +0 -5
- data/spec/dummy/solr/default/data/index/_3h.fdt +0 -0
- data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.doc +0 -0
- data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.pos +0 -0
- data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.tim +0 -0
- data/spec/dummy/solr/default/data/index/_3h_Lucene41_0.tip +0 -0
- data/spec/dummy/solr/default/data/index/segments_71 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000242 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000243 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000244 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000245 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000246 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000247 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000248 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000249 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000250 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000251 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/3f8d795856d1fdf902b0be679120571a +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5998e66e374537d52eed3fe1ca5f2bfc +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/5ea4a1824e1d67da6c4fb9aeef9f49f4 +0 -0
- data/spec/dummy/tmp/cache/assets/test/sprockets/87f0cb69a0df1355e33cce3949919d5a +0 -0
- data/spec/routing/users_routing_spec.rb +0 -35
- data/spec/views/users/show.html.erb_spec.rb +0 -15
@@ -1,195 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
class UsersController < ApplicationController
|
3
|
-
load_and_authorize_resource :except => :index
|
4
|
-
authorize_resource :only => :index
|
5
|
-
before_filter :get_agent, :only => :new
|
6
|
-
before_filter :store_location, :only => [:index]
|
7
|
-
before_filter :clear_search_sessions, :only => [:show]
|
8
|
-
after_filter :solr_commit, :only => [:create, :update, :destroy]
|
9
|
-
cache_sweeper :user_sweeper, :only => [:create, :update, :destroy]
|
10
|
-
|
11
|
-
# GET /users
|
12
|
-
# GET /users.json
|
13
|
-
def index
|
14
|
-
query = flash[:query] = params[:query].to_s
|
15
|
-
@query = query.dup
|
16
|
-
@count = {}
|
17
|
-
|
18
|
-
sort = {:sort_by => 'created_at', :order => 'desc'}
|
19
|
-
case params[:sort_by]
|
20
|
-
when 'username'
|
21
|
-
sort[:sort_by] = 'username'
|
22
|
-
end
|
23
|
-
case params[:order]
|
24
|
-
when 'asc'
|
25
|
-
sort[:order] = 'asc'
|
26
|
-
when 'desc'
|
27
|
-
sort[:order] = 'desc'
|
28
|
-
end
|
29
|
-
|
30
|
-
query = params[:query]
|
31
|
-
page = params[:page] || 1
|
32
|
-
role = current_user.try(:role) || Role.default_role
|
33
|
-
|
34
|
-
search = User.search
|
35
|
-
search.build do
|
36
|
-
fulltext query if query
|
37
|
-
order_by sort[:sort_by], sort[:order]
|
38
|
-
with(:required_role_id).less_than_or_equal_to role.id
|
39
|
-
end
|
40
|
-
search.query.paginate(page.to_i, User.default_per_page)
|
41
|
-
@users = search.execute!.results
|
42
|
-
@count[:query_result] = @users.total_entries
|
43
|
-
|
44
|
-
respond_to do |format|
|
45
|
-
format.html # index.html.erb
|
46
|
-
format.json { render :json => @users }
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
# GET /users/1
|
51
|
-
# GET /users/1.json
|
52
|
-
def show
|
53
|
-
if @user == current_user
|
54
|
-
redirect_to my_account_url
|
55
|
-
return
|
56
|
-
end
|
57
|
-
|
58
|
-
session[:user_return_to] = nil
|
59
|
-
#unless @user.agent
|
60
|
-
# redirect_to new_user_agent_url(@user); return
|
61
|
-
#end
|
62
|
-
if defined?(EnjuBookmark)
|
63
|
-
@tags = @user.bookmarks.tag_counts.sort{|a,b| a.count <=> b.count}.reverse
|
64
|
-
end
|
65
|
-
|
66
|
-
@manifestation = Manifestation.pickup(@user.keyword_list.to_s.split.sort_by{rand}.first) rescue nil
|
67
|
-
|
68
|
-
respond_to do |format|
|
69
|
-
format.html # show.html.erb
|
70
|
-
format.json { render :json => @user }
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
# GET /users/new
|
75
|
-
# GET /users/new.json
|
76
|
-
def new
|
77
|
-
unless current_user.try(:has_role?, 'Librarian')
|
78
|
-
access_denied; return
|
79
|
-
end
|
80
|
-
@user = User.new
|
81
|
-
prepare_options
|
82
|
-
@user_groups = UserGroup.all
|
83
|
-
if @agent.try(:user)
|
84
|
-
flash[:notice] = t('user.already_activated')
|
85
|
-
redirect_to @agent
|
86
|
-
return
|
87
|
-
end
|
88
|
-
@user.agent_id = @agent.id if @agent
|
89
|
-
@user.library = current_user.library
|
90
|
-
@user.locale = current_user.locale
|
91
|
-
end
|
92
|
-
|
93
|
-
# GET /agents/1/edit
|
94
|
-
def edit
|
95
|
-
if @user == current_user
|
96
|
-
redirect_to edit_my_account_url
|
97
|
-
return
|
98
|
-
end
|
99
|
-
|
100
|
-
if defined?(EnjuCirculation)
|
101
|
-
if params[:mode] == 'feed_token'
|
102
|
-
if params[:disable] == 'true'
|
103
|
-
@user.delete_checkout_icalendar_token
|
104
|
-
else
|
105
|
-
@user.reset_checkout_icalendar_token
|
106
|
-
end
|
107
|
-
render :partial => 'users/feed_token'
|
108
|
-
return
|
109
|
-
end
|
110
|
-
end
|
111
|
-
prepare_options
|
112
|
-
end
|
113
|
-
|
114
|
-
# POST /users
|
115
|
-
# POST /users.json
|
116
|
-
def create
|
117
|
-
@user = User.new
|
118
|
-
@user.assign_attributes(params[:user], :as => :admin)
|
119
|
-
@user.operator = current_user
|
120
|
-
@user.set_auto_generated_password
|
121
|
-
|
122
|
-
respond_to do |format|
|
123
|
-
if @user.save
|
124
|
-
role = Role.where(:name => 'User').first
|
125
|
-
user_has_role = UserHasRole.new
|
126
|
-
user_has_role.assign_attributes({:user_id => @user.id, :role_id => role.id}, :as => :admin)
|
127
|
-
user_has_role.save
|
128
|
-
flash[:temporary_password] = @user.password
|
129
|
-
format.html { redirect_to @user, :notice => t('controller.successfully_created', :model => t('activerecord.models.user')) }
|
130
|
-
format.json { render :json => @user, :status => :created, :location => @user }
|
131
|
-
else
|
132
|
-
prepare_options
|
133
|
-
flash[:error] = t('user.could_not_setup_account')
|
134
|
-
format.html { render :action => "new" }
|
135
|
-
format.json { render :json => @user.errors, :status => :unprocessable_entity }
|
136
|
-
end
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
# PUT /users/1
|
141
|
-
# PUT /users/1.json
|
142
|
-
def update
|
143
|
-
if current_user.has_role?('Librarian')
|
144
|
-
@user.assign_attributes(params[:user], :as => :admin)
|
145
|
-
else
|
146
|
-
@user.assign_attributes(params[:user])
|
147
|
-
end
|
148
|
-
if @user.auto_generated_password == "1"
|
149
|
-
@user.set_auto_generated_password
|
150
|
-
flash[:temporary_password] = @user.password
|
151
|
-
end
|
152
|
-
|
153
|
-
respond_to do |format|
|
154
|
-
@user.save
|
155
|
-
if @user.errors.empty?
|
156
|
-
format.html { redirect_to @user, :notice => t('controller.successfully_updated', :model => t('activerecord.models.user')) }
|
157
|
-
format.json { head :no_content }
|
158
|
-
else
|
159
|
-
prepare_options
|
160
|
-
format.html { render :action => "edit" }
|
161
|
-
format.json { render :json => @user.errors, :status => :unprocessable_entity }
|
162
|
-
end
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
# DELETE /users/1
|
167
|
-
# DELETE /users/1.json
|
168
|
-
def destroy
|
169
|
-
if @user.deletable_by(current_user)
|
170
|
-
@user.destroy
|
171
|
-
else
|
172
|
-
flash[:notice] = @user.errors[:base].join(' ')
|
173
|
-
redirect_to current_user
|
174
|
-
return
|
175
|
-
end
|
176
|
-
|
177
|
-
respond_to do |format|
|
178
|
-
format.html { redirect_to(users_url) }
|
179
|
-
format.json { head :no_content }
|
180
|
-
end
|
181
|
-
end
|
182
|
-
|
183
|
-
private
|
184
|
-
def prepare_options
|
185
|
-
@user_groups = UserGroup.all
|
186
|
-
@roles = Role.all
|
187
|
-
@libraries = Library.all_cache
|
188
|
-
@languages = Language.all_cache
|
189
|
-
if @user.active_for_authentication?
|
190
|
-
@user.locked = '0'
|
191
|
-
else
|
192
|
-
@user.locked = '1'
|
193
|
-
end
|
194
|
-
end
|
195
|
-
end
|
data/app/models/user_sweeper.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
class UserSweeper < ActionController::Caching::Sweeper
|
2
|
-
observe User
|
3
|
-
|
4
|
-
def after_save(record)
|
5
|
-
case record.class.to_s.to_sym
|
6
|
-
when :User
|
7
|
-
I18n.available_locales.each do |locale|
|
8
|
-
['menu'].each do |name|
|
9
|
-
expire_fragment(:controller => :page, :user => record.username, :role => record.role.try(:name), :page => name, :locale => locale)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def after_destroy(record)
|
16
|
-
after_save(record)
|
17
|
-
end
|
18
|
-
end
|
@@ -1,79 +0,0 @@
|
|
1
|
-
<div id="left_pane_detail">
|
2
|
-
|
3
|
-
<div class="field">
|
4
|
-
<%= f.label :username -%><br />
|
5
|
-
<%= user.username -%>
|
6
|
-
</div>
|
7
|
-
|
8
|
-
<%- if current_user.has_role?('Librarian') -%>
|
9
|
-
<div class="field">
|
10
|
-
<%= f.label :email -%><br />
|
11
|
-
<%= f.email_field :email, :class => 'resource_email' -%>
|
12
|
-
</div>
|
13
|
-
|
14
|
-
<div class="field">
|
15
|
-
<%= f.label t('user.set_auto_generated_password') -%>
|
16
|
-
<%= f.check_box :auto_generated_password -%>
|
17
|
-
</div>
|
18
|
-
<%- end -%>
|
19
|
-
|
20
|
-
<div class="field">
|
21
|
-
<%= f.label :expired_at -%><br />
|
22
|
-
<%- if current_user.has_role?('Librarian') -%>
|
23
|
-
<%= f.text_field :expired_at, :value => user.expired_at.try(:strftime, "%Y-%m-%d"), :class => 'date_text_field', :placeholder => "#{t('page.example')}: 2011-04-12"-%>
|
24
|
-
<%- else -%>
|
25
|
-
<%= l(user.expired_at) if user.expired_at -%>
|
26
|
-
<%- end -%>
|
27
|
-
</div>
|
28
|
-
|
29
|
-
<div class="field">
|
30
|
-
<%= f.check_box :locked -%>
|
31
|
-
<%= f.label :locked -%>
|
32
|
-
</div>
|
33
|
-
|
34
|
-
</div>
|
35
|
-
|
36
|
-
<div id="right_pane_detail">
|
37
|
-
<%- if current_user.has_role?('Librarian') -%>
|
38
|
-
<div class="field">
|
39
|
-
<%= f.label t('activerecord.models.user_group') -%><br />
|
40
|
-
<%= f.select(:user_group_id, @user_groups.collect{|u| [u.display_name.localize, u.id]}) -%>
|
41
|
-
</div>
|
42
|
-
<%- end -%>
|
43
|
-
|
44
|
-
<div class="field">
|
45
|
-
<%= f.label t('activerecord.models.role') -%><br />
|
46
|
-
<%= f.fields_for :user_has_role do |u| %>
|
47
|
-
<%- if current_user.has_role?('Administrator') and current_user != user -%>
|
48
|
-
<%= u.select :role_id, @roles.collect{|r| [r.display_name.localize, r.id]} %>
|
49
|
-
<% else %>
|
50
|
-
<%= u.select(:role_id, @roles.collect{|r| [r.display_name.localize, r.id]}, {}, {:disabled => 'disabled'}) -%>
|
51
|
-
<% end %>
|
52
|
-
<% end %>
|
53
|
-
</div>
|
54
|
-
|
55
|
-
<div class="field">
|
56
|
-
<%= f.label :user_number -%><br />
|
57
|
-
<%- if current_user.has_role?('Librarian') -%>
|
58
|
-
<%= f.text_field :user_number, :class => 'resource_user_number' -%>
|
59
|
-
<%- else -%>
|
60
|
-
<%= user.user_number -%>
|
61
|
-
<%- end -%>
|
62
|
-
</div>
|
63
|
-
|
64
|
-
<%- if current_user.has_role?('Librarian') -%>
|
65
|
-
<div class="field">
|
66
|
-
<%= f.label t('activerecord.models.library') -%><br />
|
67
|
-
<%= f.select(:library_id, @libraries.collect{|l| [l.display_name.localize, l.id]}) -%>
|
68
|
-
</div>
|
69
|
-
|
70
|
-
<div class="field">
|
71
|
-
<%= f.label t('role.required_role') -%><br />
|
72
|
-
<%= f.select(:required_role_id, @roles.collect{|r| [r.display_name.localize, r.id]}) -%>
|
73
|
-
</div>
|
74
|
-
<%- end -%>
|
75
|
-
<div class="field">
|
76
|
-
<%= f.label :locale -%><br />
|
77
|
-
<%= f.select(:locale, @available_languages.collect{|language| [language.display_name.localize, language.iso_639_1]}) -%>
|
78
|
-
</div>
|
79
|
-
</div>
|
@@ -1,76 +0,0 @@
|
|
1
|
-
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.edit_user_profile', :login_name => @user.username) -%></h1>
|
3
|
-
<div id="content_list">
|
4
|
-
<%= render 'page/required_field' %>
|
5
|
-
<%= simple_form_for(@user, :validate => true) do |f| -%>
|
6
|
-
<%= f.error_messages -%>
|
7
|
-
|
8
|
-
<%= render :partial => 'users/edit_credential', :locals => {:f => f, :user => @user} -%>
|
9
|
-
|
10
|
-
<div class="actions">
|
11
|
-
<%= f.submit %>
|
12
|
-
</div>
|
13
|
-
<div style="clear: both">
|
14
|
-
<div class="field">
|
15
|
-
<%= f.label :keyword_list -%><br />
|
16
|
-
<%= f.text_area :keyword_list, :class => 'resource_textarea' -%>
|
17
|
-
</div>
|
18
|
-
|
19
|
-
<% if defined?(EnjuCirculation) %>
|
20
|
-
<div class="field">
|
21
|
-
<%= f.label t('user.checkout_history_icalendar_url') -%><br />
|
22
|
-
<div id="feed_token">
|
23
|
-
<%- if @user.checkout_icalendar_token? -%>
|
24
|
-
<%= link_to checkouts_url(:icalendar_token => @user.checkout_icalendar_token, :format => :ics), checkouts_url(:icalendar_token => @user.checkout_icalendar_token, :format => :ics) -%>
|
25
|
-
<%= f.hidden_field :checkout_icalendar_token -%>
|
26
|
-
<%- end -%>
|
27
|
-
<br />
|
28
|
-
<input onclick="$.ajax({data:'authenticity_token=' + encodeURIComponent('<%= form_authenticity_token %>'), success:function(request){$('#feed_token').html(request);}, type:'get', url:'<%= edit_user_path(@user, :mode => 'feed_token') %>'});" type="button" value="<%= t('page.reset') %>" />
|
29
|
-
<input onclick="$.ajax({data:'authenticity_token=' + encodeURIComponent('<%= form_authenticity_token %>'), success:function(request){$('#feed_token').html(request);}, type:'get', url:'<%= edit_user_path(@user, :disable => true, :mode => 'feed_token') %>'});" type="button" value="<%= t('page.delete') %>" />
|
30
|
-
</div>
|
31
|
-
<br />
|
32
|
-
</div>
|
33
|
-
<% end %>
|
34
|
-
|
35
|
-
<% if defined?(EnjuSearchLog) %>
|
36
|
-
<div class="field">
|
37
|
-
<%= f.check_box :save_search_history %>
|
38
|
-
<%= f.label :save_search_history %>
|
39
|
-
</div>
|
40
|
-
<% end %>
|
41
|
-
|
42
|
-
<% if defined?(EnjuCirculation) %>
|
43
|
-
<div class="field">
|
44
|
-
<%= f.check_box :save_checkout_history %>
|
45
|
-
<%= f.label :save_checkout_history %>
|
46
|
-
</div>
|
47
|
-
<% end %>
|
48
|
-
|
49
|
-
<% if current_user.has_role?('Librarian') %>
|
50
|
-
<div class="field">
|
51
|
-
<%= f.label :note -%><br />
|
52
|
-
<%= f.text_area :note, :class => 'resource_textarea' -%>
|
53
|
-
</div>
|
54
|
-
<% end %>
|
55
|
-
|
56
|
-
<div class="actions">
|
57
|
-
<%= f.submit %>
|
58
|
-
</div>
|
59
|
-
|
60
|
-
</div>
|
61
|
-
<%- end -%>
|
62
|
-
|
63
|
-
</div>
|
64
|
-
</div>
|
65
|
-
|
66
|
-
<div id="submenu" class="ui-corner-all ui-widget-content">
|
67
|
-
<ul>
|
68
|
-
<li><%= link_to t('page.show'), @user -%></li>
|
69
|
-
<li><%= link_to t('page.listing', :model => t('activerecord.models.user')), users_path -%></li>
|
70
|
-
<%- if current_user.has_role?('Librarian') -%>
|
71
|
-
<%- unless current_user == @user -%>
|
72
|
-
<li><%= link_to t('page.destroy'), @user, :data => {:confirm => t('page.are_you_sure')}, :method => :delete -%></li>
|
73
|
-
<%- end -%>
|
74
|
-
<%- end -%>
|
75
|
-
</ul>
|
76
|
-
</div>
|
@@ -1,56 +0,0 @@
|
|
1
|
-
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.listing', :model => t('activerecord.models.user')) -%></h1>
|
3
|
-
<div id="content_list">
|
4
|
-
|
5
|
-
<div class="search_form">
|
6
|
-
<%= form_for :users, :url => users_path, :html => {:method => 'get'} do -%>
|
7
|
-
<p>
|
8
|
-
<%= label_tag :query, t('page.search_term') -%>: <%= search_field_tag 'query', h(@query), :class => 'search_form', :placeholder => t('page.search_term') -%>
|
9
|
-
<%= submit_tag t('page.search') -%>
|
10
|
-
</p>
|
11
|
-
<%- end -%>
|
12
|
-
</div>
|
13
|
-
|
14
|
-
<table class="table table-striped index">
|
15
|
-
<tr>
|
16
|
-
<th>
|
17
|
-
<%= t('activerecord.attributes.user.username') -%>
|
18
|
-
<%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc')), url_for(params.merge(:sort_by => 'username', :order => 'asc', :only_path => true)) -%>
|
19
|
-
<%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc')), url_for(params.merge(:sort_by => 'username', :order => 'desc', :only_path => true)) -%>
|
20
|
-
</th>
|
21
|
-
<th><%= t('activerecord.attributes.user.user_number') -%></th>
|
22
|
-
<th>
|
23
|
-
<%= t('page.created_at') -%>
|
24
|
-
<%= link_to image_tag('icons/arrow_up.png', :size => '16x16', :alt => t('page.asc')), url_for(params.merge(:sort_by => 'created_at', :order => 'asc', :only_path => true)) -%>
|
25
|
-
<%= link_to image_tag('icons/arrow_down.png', :size => '16x16', :alt => t('page.desc')), url_for(params.merge(:sort_by => 'created_at', :order => 'desc', :only_path => true)) -%>
|
26
|
-
</th>
|
27
|
-
<th></th>
|
28
|
-
</tr>
|
29
|
-
|
30
|
-
<%- @users.each_with_index do |user, i| -%>
|
31
|
-
<tr class="line<%= cycle("0", "1") -%>">
|
32
|
-
<td>
|
33
|
-
<%= link_to user.username, user -%>
|
34
|
-
</td>
|
35
|
-
<td><%= user.user_number -%></td>
|
36
|
-
<td><%= l(user.created_at) if user.created_at -%></td>
|
37
|
-
<td>
|
38
|
-
<%= link_to t('user.edit_account'), edit_user_path(user) -%>
|
39
|
-
</td>
|
40
|
-
</tr>
|
41
|
-
<%- end -%>
|
42
|
-
</table>
|
43
|
-
|
44
|
-
<br />
|
45
|
-
<%= paginate(@users) -%>
|
46
|
-
|
47
|
-
</div>
|
48
|
-
</div>
|
49
|
-
|
50
|
-
<div id="submenu" class="ui-corner-all ui-widget-content">
|
51
|
-
<ul>
|
52
|
-
<%- if user_signed_in? && current_user.has_role?('Librarian') -%>
|
53
|
-
<li><%= link_to t('page.new', :model => t('activerecord.models.user')), new_user_path -%></li>
|
54
|
-
<%- end -%>
|
55
|
-
</ul>
|
56
|
-
</div>
|
@@ -1,30 +0,0 @@
|
|
1
|
-
module ExpireEditableFragment
|
2
|
-
def expire_editable_fragment(record, fragments = [])
|
3
|
-
fragments.uniq!
|
4
|
-
if record.is_a?(Manifestation)
|
5
|
-
if fragments.empty?
|
6
|
-
fragments = %w[manifestation_html show_detail_user_html show_detail_librarian_html pickup_html title_html title_mobile index_sru list_identifiers_oai list_records_oai]
|
7
|
-
end
|
8
|
-
expire_manifestation_cache(record, fragments)
|
9
|
-
else
|
10
|
-
I18n.available_locales.each do |locale|
|
11
|
-
Role.all_cache.each do |role|
|
12
|
-
fragments.each do |fragment|
|
13
|
-
expire_fragment(":#{record.class.to_s.downcase}" => record.id, :fragment => fragment, :role => role.name, :locale => locale)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
def expire_manifestation_cache(manifestation, fragments = [])
|
22
|
-
I18n.available_locales.each do |locale|
|
23
|
-
Role.all_cache.each do |role|
|
24
|
-
fragments.uniq.each do |fragment|
|
25
|
-
expire_fragment(:manifestation => manifestation.id, :fragment => fragment, :role => role.name, :locale => locale)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
class ExpireFragmentCache
|
2
|
-
def self.expire_fragment_cache(record, fragments = [])
|
3
|
-
if record.is_a?(Manifestation)
|
4
|
-
if fragments.empty?
|
5
|
-
fragments = %w[manifestation_html show_detail_user_html show_detail_librarian_html pickup_html title_html title_mobile index_sru]
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
I18n.available_locales.each do |locale|
|
10
|
-
Role.all_cache.each do |role|
|
11
|
-
fragments.each do |fragment|
|
12
|
-
Rails.cache.delete(":#{record.class.to_s.downcase}" => record.id, :fragment => fragment, :role => role.name, :locale => locale)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|