From 161d692d15788db89a107651337c9a26f340f9ba Mon Sep 17 00:00:00 2001 From: Chris Burton Date: Thu, 16 Jul 2020 20:52:42 -0400 Subject: [PATCH] LP1778972 A slew of updates Including fixes to ensure pages are valid and an entire reimagining of the My Account interface Also brings everything up to a more visible area and adds FontAwesome5 Iconography Bookbag Action Fix and minor other misc Signed-off-by: Chris Burton Signed-off-by: Ruth Frasur Signed-off-by: Galen Charlton Signed-off-by: Jane Sandberg --- .../src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm | 1 + Open-ILS/src/templates-bootstrap/opac/ReadMe.txt | 20 + Open-ILS/src/templates-bootstrap/opac/advanced.tt2 | 14 +- Open-ILS/src/templates-bootstrap/opac/browse.tt2 | 13 +- Open-ILS/src/templates-bootstrap/opac/cnbrowse.tt2 | 3 - .../opac/css/mediaQuery.css.tt2 | 749 +++ .../src/templates-bootstrap/opac/css/style.css.tt2 | 198 +- Open-ILS/src/templates-bootstrap/opac/home.tt2 | 6 +- Open-ILS/src/templates-bootstrap/opac/library.tt2 | 12 + Open-ILS/src/templates-bootstrap/opac/login.tt2 | 17 + Open-ILS/src/templates-bootstrap/opac/mylist.tt2 | 10 +- .../src/templates-bootstrap/opac/mylist/clear.tt2 | 26 +- .../src/templates-bootstrap/opac/mylist/email.tt2 | 45 +- .../src/templates-bootstrap/opac/mylist/print.tt2 | 44 +- .../templates-bootstrap/opac/myopac/charges.tt2 | 239 + .../opac/myopac/circ_history.tt2 | 99 +- .../opac/myopac/circ_history/export.tt2 | 38 + .../src/templates-bootstrap/opac/myopac/circs.tt2 | 79 +- .../opac/myopac/ebook_checkout.tt2 | 10 +- .../opac/myopac/ebook_circs.tt2 | 26 +- .../opac/myopac/ebook_holds.tt2 | 28 +- .../opac/myopac/ebook_holds_ready.tt2 | 28 +- .../opac/myopac/ebook_place_hold.tt2 | 33 + .../opac/myopac/hold_history.tt2 | 91 +- .../src/templates-bootstrap/opac/myopac/holds.tt2 | 139 +- .../templates-bootstrap/opac/myopac/holds/edit.tt2 | 124 +- .../templates-bootstrap/opac/myopac/list/print.tt2 | 1 + .../opac/myopac/list/update.tt2 | 37 + .../src/templates-bootstrap/opac/myopac/lists.tt2 | 182 +- .../src/templates-bootstrap/opac/myopac/main.tt2 | 288 +- .../templates-bootstrap/opac/myopac/main_pay.tt2 | 9 +- .../opac/myopac/main_pay_init.tt2 | 15 + .../opac/myopac/main_payment_form.tt2 | 41 +- .../opac/myopac/main_payments.tt2 | 32 +- .../templates-bootstrap/opac/myopac/messages.tt2 | 16 + .../opac/myopac/messages/list.tt2 | 89 +- .../opac/myopac/messages/single_message.tt2 | 63 +- .../src/templates-bootstrap/opac/myopac/prefs.tt2 | 90 +- .../opac/myopac/prefs_my_lists.tt2 | 32 +- .../opac/myopac/prefs_notify.tt2 | 9 +- .../opac/myopac/prefs_settings.tt2 | 27 +- .../opac/myopac/receipt_email.tt2 | 21 + .../opac/myopac/receipt_print.tt2 | 26 + .../opac/myopac/reservations.tt2 | 39 + .../opac/myopac/update_email.tt2 | 2 +- .../opac/myopac/update_password.tt2 | 2 +- .../opac/myopac/update_password_msg.tt2 | 3 + .../opac/myopac/update_username.tt2 | 2 +- .../src/templates-bootstrap/opac/parts/acjs.tt2 | 76 + .../opac/parts/advanced/expert.tt2 | 30 +- .../opac/parts/advanced/global_row.tt2 | 16 +- .../opac/parts/advanced/numeric.tt2 | 22 +- .../opac/parts/advanced/search.tt2 | 244 +- .../templates-bootstrap/opac/parts/anon_list.tt2 | 71 +- .../src/templates-bootstrap/opac/parts/base.tt2 | 34 +- .../opac/parts/bookbag_actions.tt2 | 8 +- .../src/templates-bootstrap/opac/parts/cart.tt2 | 30 + .../templates-bootstrap/opac/parts/cart_nav.tt2 | 21 +- .../opac/parts/check_value_selector.tt2 | 64 + .../templates-bootstrap/opac/parts/chilifresh.tt2 | 17 + .../opac/parts/coded_value_selector.tt2 | 0 .../opac/parts/config-fresh.tt2 | 0 .../src/templates-bootstrap/opac/parts/config.tt2 | 0 .../templates-bootstrap/opac/parts/css/colors.tt2 | 27 +- .../templates-bootstrap/opac/parts/css/fonts.tt2 | 0 .../opac/parts/ebook_api/avail.tt2 | 41 + .../opac/parts/ebook_api/base_js.tt2 | 95 + .../opac/parts/ebook_api/login_js.tt2 | 41 + .../opac/parts/filter_group_selector.tt2 | 28 + .../templates-bootstrap/opac/parts/filtersort.tt2 | 29 + .../src/templates-bootstrap/opac/parts/footer.tt2 | 56 +- .../opac/parts/goog_analytics.tt2 | 18 + .../src/templates-bootstrap/opac/parts/header.tt2 | 0 .../opac/parts/hold_error_messages.tt2 | 40 + .../templates-bootstrap/opac/parts/hold_status.tt2 | 0 .../templates-bootstrap/opac/parts/homesearch.tt2 | 0 Open-ILS/src/templates-bootstrap/opac/parts/js.tt2 | 191 + .../opac/parts/library/core_info.tt2 | 58 + .../opac/parts/library/hours.tt2 | 105 + .../opac/parts/library_name_link.tt2 | 0 .../opac/parts/library_name_link_from_ou.tt2 | 22 + .../opac/parts/locale_picker.tt2 | 4 +- .../opac/parts/location_name_link.tt2 | 0 .../templates-bootstrap/opac/parts/login/form.tt2 | 48 +- .../templates-bootstrap/opac/parts/login/help.tt2 | 4 +- .../opac/parts/login/login_modal.tt2 | 38 +- .../opac/parts/login/password_hint.tt2 | 0 .../opac/parts/login/username_hint.tt2 | 4 +- .../opac/parts/metarecord_hold_filters.tt2 | 29 +- .../templates-bootstrap/opac/parts/misc_util.tt2 | 32 +- .../opac/parts/multi_hold_select.tt2 | 15 + .../templates-bootstrap/opac/parts/myopac/base.tt2 | 132 +- .../opac/parts/myopac/column_sort_support.tt2 | 36 + .../opac/parts/myopac/main_base.tt2 | 85 +- .../opac/parts/myopac/main_refund_policy.tt2 | 18 + .../opac/parts/myopac/prefs_base.tt2 | 47 - .../opac/parts/myopac/prefs_hints.tt2 | 5 + .../opac/parts/org_selector.tt2 | 0 .../templates-bootstrap/opac/parts/place_hold.tt2 | 133 +- .../opac/parts/place_hold_result.tt2 | 44 +- .../opac/parts/pref_lib_display.tt2 | 7 + .../opac/parts/pref_locale_picker.tt2 | 0 .../opac/parts/preserve_params.tt2 | 9 + .../opac/parts/qtype_selector.tt2 | 3 +- .../opac/parts/record/addedcontent.tt2 | 0 .../opac/parts/record/authors.tt2 | 196 + .../opac/parts/record/awards.tt2 | 0 .../templates-bootstrap/opac/parts/record/body.tt2 | 0 .../opac/parts/record/cnbrowse.tt2 | 29 +- .../opac/parts/record/contents.tt2 | 217 + .../opac/parts/record/copy_counts.tt2 | 5 +- .../opac/parts/record/copy_table.tt2 | 2 +- .../opac/parts/record/extras.tt2 | 4 +- .../opac/parts/record/issues-db.tt2 | 199 + .../opac/parts/record/issues-mfhd.tt2 | 43 + .../opac/parts/record/issues.tt2 | 8 + .../opac/parts/record/navigation.tt2 | 4 +- .../opac/parts/record/refworks.tt2 | 20 + .../opac/parts/record/series.tt2 | 0 .../opac/parts/record/subjects.tt2 | 144 + .../opac/parts/record/summary.tt2 | 114 +- .../opac/parts/record/summaryplus.tt2 | 20 + .../templates-bootstrap/opac/parts/relators.tt2 | 276 ++ .../opac/parts/result/adv_filter.tt2 | 0 .../opac/parts/result/copy_counts.tt2 | 41 + .../opac/parts/result/facets-hz.tt2 | 0 .../opac/parts/result/facets.tt2 | 2 +- .../opac/parts/result/lowhits.tt2 | 5 +- .../opac/parts/result/lowhits_purchase.tt2 | 6 + .../opac/parts/result/paginate.tt2 | 0 .../opac/parts/result/table.tt2 | 298 +- .../templates-bootstrap/opac/parts/searchbar.tt2 | 40 +- .../opac/parts/sms_carrier_selector.tt2 | 0 .../opac/parts/sms_number_textbox.tt2 | 5 + .../opac/parts/staff_saved_searches.tt2 | 4 +- .../src/templates-bootstrap/opac/parts/stripe.tt2 | 35 + .../src/templates-bootstrap/opac/parts/tips.tt2 | 11 + .../src/templates-bootstrap/opac/parts/topnav.tt2 | 9 +- .../opac/parts/topnav_links.tt2 | 106 +- .../templates-bootstrap/opac/parts/topnav_logo.tt2 | 0 .../opac/parts/topnav_subnav.tt2 | 11 +- .../templates-bootstrap/opac/password_reset.tt2 | 62 +- .../opac/password_reset_msg.tt2 | 3 + .../src/templates-bootstrap/opac/place_hold.tt2 | 19 + Open-ILS/src/templates-bootstrap/opac/record.tt2 | 5 +- .../src/templates-bootstrap/opac/record/email.tt2 | 32 + .../src/templates-bootstrap/opac/record/print.tt2 | 0 Open-ILS/src/templates-bootstrap/opac/register.tt2 | 33 +- Open-ILS/src/templates-bootstrap/opac/results.tt2 | 8 +- Open-ILS/src/templates-bootstrap/opac/sms_cn.tt2 | 52 + .../src/templates-bootstrap/opac/temp_warn.tt2 | 27 + .../web/css/datepicker/bootstrap-datepicker.css | 477 ++ .../css/datepicker/bootstrap-datepicker.css.map | 1 + .../css/datepicker/bootstrap-datepicker.min.css | 7 + .../datepicker/bootstrap-datepicker.standalone.css | 510 ++ .../bootstrap-datepicker.standalone.css.map | 1 + .../bootstrap-datepicker.standalone.min.css | 7 + .../web/css/datepicker/bootstrap-datepicker3.css | 683 +++ .../css/datepicker/bootstrap-datepicker3.css.map | 1 + .../css/datepicker/bootstrap-datepicker3.min.css | 7 + .../bootstrap-datepicker3.standalone.css | 712 +++ .../bootstrap-datepicker3.standalone.css.map | 1 + .../bootstrap-datepicker3.standalone.min.css | 7 + Open-ILS/web/css/fontawesome/all.css | 4586 ++++++++++++++++++ Open-ILS/web/css/fontawesome/all.min.css | 5 + Open-ILS/web/css/fontawesome/brands.css | 15 + Open-ILS/web/css/fontawesome/brands.min.css | 5 + Open-ILS/web/css/fontawesome/fontawesome.css | 4552 ++++++++++++++++++ Open-ILS/web/css/fontawesome/fontawesome.min.css | 5 + Open-ILS/web/css/fontawesome/regular.css | 15 + Open-ILS/web/css/fontawesome/regular.min.css | 5 + Open-ILS/web/css/fontawesome/solid.css | 16 + Open-ILS/web/css/fontawesome/solid.min.css | 5 + Open-ILS/web/css/fontawesome/svg-with-js.css | 371 ++ Open-ILS/web/css/fontawesome/svg-with-js.min.css | 5 + Open-ILS/web/css/fontawesome/v4-shims.css | 2172 +++++++++ Open-ILS/web/css/fontawesome/v4-shims.min.css | 5 + Open-ILS/web/css/webfonts/fa-brands-400.eot | Bin 0 -> 134622 bytes Open-ILS/web/css/webfonts/fa-brands-400.svg | 3637 ++++++++++++++ Open-ILS/web/css/webfonts/fa-brands-400.ttf | Bin 0 -> 134316 bytes Open-ILS/web/css/webfonts/fa-brands-400.woff | Bin 0 -> 90672 bytes Open-ILS/web/css/webfonts/fa-brands-400.woff2 | Bin 0 -> 77400 bytes Open-ILS/web/css/webfonts/fa-regular-400.eot | Bin 0 -> 34350 bytes Open-ILS/web/css/webfonts/fa-regular-400.svg | 805 ++++ Open-ILS/web/css/webfonts/fa-regular-400.ttf | Bin 0 -> 34052 bytes Open-ILS/web/css/webfonts/fa-regular-400.woff | Bin 0 -> 16780 bytes Open-ILS/web/css/webfonts/fa-regular-400.woff2 | Bin 0 -> 13600 bytes Open-ILS/web/css/webfonts/fa-solid-900.eot | Bin 0 -> 204266 bytes Open-ILS/web/css/webfonts/fa-solid-900.svg | 5015 ++++++++++++++++++++ Open-ILS/web/css/webfonts/fa-solid-900.ttf | Bin 0 -> 203980 bytes Open-ILS/web/css/webfonts/fa-solid-900.woff | Bin 0 -> 104004 bytes Open-ILS/web/css/webfonts/fa-solid-900.woff2 | Bin 0 -> 80148 bytes Open-ILS/web/js/bootstrap/jquery-3.5.1.min.js | 2 + Open-ILS/web/js/bootstrap/popper.min.js | 5 + Open-ILS/web/js/bootstrap/popper.min.js.map | 1 + Open-ILS/web/js/datepicker/bootstrap-datepicker.js | 2039 ++++++++ .../web/js/datepicker/bootstrap-datepicker.min.js | 8 + Open-ILS/web/js/ui/default/opac/copyloc.js | 42 + .../web/js/ui/default/opac/ebook_api/loggedin.js | 28 +- Open-ILS/web/js/ui/default/opac/simple.js | 26 +- 200 files changed, 30963 insertions(+), 2111 deletions(-) create mode 100644 Open-ILS/src/templates-bootstrap/opac/ReadMe.txt mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/advanced.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/browse.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/cnbrowse.tt2 create mode 100644 Open-ILS/src/templates-bootstrap/opac/css/mediaQuery.css.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/css/style.css.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/home.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/library.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/login.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/mylist.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/mylist/clear.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/mylist/email.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/mylist/print.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/charges.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/circ_history.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/circ_history/export.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/circs.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/ebook_checkout.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/ebook_circs.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/ebook_holds.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/ebook_holds_ready.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/ebook_place_hold.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/hold_history.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/holds.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/holds/edit.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/list/print.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/list/update.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/lists.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/main.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/main_pay.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/main_pay_init.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/main_payment_form.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/main_payments.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/messages.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/messages/list.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/messages/single_message.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/prefs.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/prefs_my_lists.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/prefs_notify.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/prefs_settings.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/receipt_email.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/receipt_print.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/reservations.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/update_email.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/update_password.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/myopac/update_password_msg.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/myopac/update_username.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/acjs.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/advanced/expert.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/advanced/global_row.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/advanced/numeric.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/advanced/search.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/anon_list.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/base.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/bookbag_actions.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/cart.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/cart_nav.tt2 create mode 100644 Open-ILS/src/templates-bootstrap/opac/parts/check_value_selector.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/chilifresh.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/coded_value_selector.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/config-fresh.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/config.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/css/colors.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/css/fonts.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/ebook_api/avail.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/ebook_api/base_js.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/ebook_api/login_js.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/filter_group_selector.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/filtersort.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/footer.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/goog_analytics.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/header.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/hold_error_messages.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/hold_status.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/homesearch.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/js.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/library/core_info.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/library/hours.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/library_name_link.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/library_name_link_from_ou.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/locale_picker.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/location_name_link.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/login/form.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/login/help.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/login/login_modal.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/login/password_hint.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/login/username_hint.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/metarecord_hold_filters.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/misc_util.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/multi_hold_select.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/myopac/base.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/myopac/column_sort_support.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/myopac/main_base.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/myopac/main_refund_policy.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/myopac/prefs_base.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/myopac/prefs_hints.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/org_selector.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/place_hold.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/place_hold_result.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/pref_lib_display.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/pref_locale_picker.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/preserve_params.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/qtype_selector.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/addedcontent.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/authors.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/awards.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/body.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/cnbrowse.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/contents.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/copy_counts.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/copy_table.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/extras.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/issues-db.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/issues-mfhd.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/issues.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/navigation.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/refworks.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/series.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/subjects.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/summary.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/record/summaryplus.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/relators.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/adv_filter.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/copy_counts.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/facets-hz.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/facets.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits_purchase.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/paginate.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/result/table.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/searchbar.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/sms_carrier_selector.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/sms_number_textbox.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/staff_saved_searches.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/stripe.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/parts/tips.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/topnav.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/topnav_links.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/topnav_logo.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/parts/topnav_subnav.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/password_reset.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/password_reset_msg.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/place_hold.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/record.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/record/email.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/record/print.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/register.tt2 mode change 100644 => 100755 Open-ILS/src/templates-bootstrap/opac/results.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/sms_cn.tt2 create mode 100755 Open-ILS/src/templates-bootstrap/opac/temp_warn.tt2 create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker.css create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker.css.map create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker.min.css create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker.standalone.css create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker.standalone.css.map create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker.standalone.min.css create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker3.css create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker3.css.map create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker3.min.css create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker3.standalone.css create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker3.standalone.css.map create mode 100644 Open-ILS/web/css/datepicker/bootstrap-datepicker3.standalone.min.css create mode 100644 Open-ILS/web/css/fontawesome/all.css create mode 100644 Open-ILS/web/css/fontawesome/all.min.css create mode 100644 Open-ILS/web/css/fontawesome/brands.css create mode 100644 Open-ILS/web/css/fontawesome/brands.min.css create mode 100644 Open-ILS/web/css/fontawesome/fontawesome.css create mode 100644 Open-ILS/web/css/fontawesome/fontawesome.min.css create mode 100644 Open-ILS/web/css/fontawesome/regular.css create mode 100644 Open-ILS/web/css/fontawesome/regular.min.css create mode 100644 Open-ILS/web/css/fontawesome/solid.css create mode 100644 Open-ILS/web/css/fontawesome/solid.min.css create mode 100644 Open-ILS/web/css/fontawesome/svg-with-js.css create mode 100644 Open-ILS/web/css/fontawesome/svg-with-js.min.css create mode 100644 Open-ILS/web/css/fontawesome/v4-shims.css create mode 100644 Open-ILS/web/css/fontawesome/v4-shims.min.css create mode 100644 Open-ILS/web/css/webfonts/fa-brands-400.eot create mode 100644 Open-ILS/web/css/webfonts/fa-brands-400.svg create mode 100644 Open-ILS/web/css/webfonts/fa-brands-400.ttf create mode 100644 Open-ILS/web/css/webfonts/fa-brands-400.woff create mode 100644 Open-ILS/web/css/webfonts/fa-brands-400.woff2 create mode 100644 Open-ILS/web/css/webfonts/fa-regular-400.eot create mode 100644 Open-ILS/web/css/webfonts/fa-regular-400.svg create mode 100644 Open-ILS/web/css/webfonts/fa-regular-400.ttf create mode 100644 Open-ILS/web/css/webfonts/fa-regular-400.woff create mode 100644 Open-ILS/web/css/webfonts/fa-regular-400.woff2 create mode 100644 Open-ILS/web/css/webfonts/fa-solid-900.eot create mode 100644 Open-ILS/web/css/webfonts/fa-solid-900.svg create mode 100644 Open-ILS/web/css/webfonts/fa-solid-900.ttf create mode 100644 Open-ILS/web/css/webfonts/fa-solid-900.woff create mode 100644 Open-ILS/web/css/webfonts/fa-solid-900.woff2 create mode 100644 Open-ILS/web/js/bootstrap/jquery-3.5.1.min.js create mode 100644 Open-ILS/web/js/bootstrap/popper.min.js create mode 100644 Open-ILS/web/js/bootstrap/popper.min.js.map create mode 100644 Open-ILS/web/js/datepicker/bootstrap-datepicker.js create mode 100644 Open-ILS/web/js/datepicker/bootstrap-datepicker.min.js diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm index 7388d79706..c458848523 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm @@ -213,6 +213,7 @@ sub load { return $self->load_myopac_payments if $path =~ m|opac/myopac/main_payments|; return $self->load_myopac_pay_init if $path =~ m|opac/myopac/main_pay_init|; return $self->load_myopac_pay if $path =~ m|opac/myopac/main_pay|; + return $self->load_myopac_main if $path =~ m|opac/myopac/charges|; return $self->load_myopac_main if $path =~ m|opac/myopac/main|; return $self->load_myopac_receipt_email if $path =~ m|opac/myopac/receipt_email|; return $self->load_myopac_receipt_print if $path =~ m|opac/myopac/receipt_print|; diff --git a/Open-ILS/src/templates-bootstrap/opac/ReadMe.txt b/Open-ILS/src/templates-bootstrap/opac/ReadMe.txt new file mode 100644 index 0000000000..5fd954adf0 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/ReadMe.txt @@ -0,0 +1,20 @@ +/////////////////////DATEPICKER/////////////////////////////////////////// +
+ +
+ +
+
+ +/////////////////////TOOLTIPS/////////////////////////////////////////// + + + + + + + diff --git a/Open-ILS/src/templates-bootstrap/opac/advanced.tt2 b/Open-ILS/src/templates-bootstrap/opac/advanced.tt2 old mode 100644 new mode 100755 index 1d6b412f3c..30d27ab1ea --- a/Open-ILS/src/templates-bootstrap/opac/advanced.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/advanced.tt2 @@ -10,16 +10,6 @@ [% l('Advanced Search') %]
- [% IF pane == 'advanced' %] -

Advanced Search

-

Refine your search by filling out one or more fields to search by below.

- [% ELSIF pane == 'numeric' %] -

Numeric Search

-

Search by a field and numeric identifier.

- [% ELSIF pane == 'expert' %] -

Expert Search

-

Search the MARC record.

- [% END %]
-
+
[% IF pane == 'advanced' %] [% INCLUDE "opac/parts/advanced/search.tt2" %] @@ -50,7 +41,6 @@ [% INCLUDE "opac/parts/advanced/expert.tt2" %] [% END %]
-
diff --git a/Open-ILS/src/templates-bootstrap/opac/browse.tt2 b/Open-ILS/src/templates-bootstrap/opac/browse.tt2 old mode 100644 new mode 100755 index bf34c23b6d..dfc3ea929f --- a/Open-ILS/src/templates-bootstrap/opac/browse.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/browse.tt2 @@ -32,7 +32,7 @@

[% l('Catalog Browse') %]

-
+
@@ -50,19 +50,19 @@ arialabel=l('Select holding library') %] [% l('Browse for [_1] starting with [_2] in [_3]', control_qtype, control_bterm, control_locg) %] - +
-
+
[% BLOCK browse_pager %] -
+
[% IF ctx.back_pivot %] - ← [%l ('Back') %] + ← [%l ('Back') %] [% END %] [% IF ctx.pager_shortcuts; current_qtype = CGI.param('qtype') || 'title' %] @@ -77,7 +77,7 @@ class="hidden" style="width: 16px; height: 16px;" alt="[% l('Search in progress icon') %]" /> [% IF ctx.forward_pivot %] - [%l ('Next') %] → + [%l ('Next') %] → [% END %] @@ -207,7 +207,6 @@ [% PROCESS browse_pager id=1 %]
-
diff --git a/Open-ILS/src/templates-bootstrap/opac/cnbrowse.tt2 b/Open-ILS/src/templates-bootstrap/opac/cnbrowse.tt2 old mode 100644 new mode 100755 index 86454e9e34..ece7916bff --- a/Open-ILS/src/templates-bootstrap/opac/cnbrowse.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/cnbrowse.tt2 @@ -10,11 +10,8 @@ [% l('Call Number Browse') %] [% INCLUDE "opac/parts/searchbar.tt2" %]
-
[% INCLUDE "opac/parts/record/cnbrowse.tt2" %]
-
-
[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/css/mediaQuery.css.tt2 b/Open-ILS/src/templates-bootstrap/opac/css/mediaQuery.css.tt2 new file mode 100644 index 0000000000..e7fc9092ef --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/css/mediaQuery.css.tt2 @@ -0,0 +1,749 @@ +/* +Mini Table Styling +*/ +@media +only screen and (max-width: 650px) { + .miniTable{ + width: 100% !important; + } + + /* Force table to not be like tables anymore */ + .miniTable table, .miniTable thead, .miniTable tbody, .miniTable th, .miniTable td, .miniTable tr + { + display: block; + } + + .miniTable th{ + display:none; + } + + /* Hide table headers (but not display: none;, for accessibility) */ + .miniTable thead tr{ + position: absolute; + top: -9999px; + left: -9999px; + } + + .miniTable tr + { + border: 1px solid #ccc; + margin: 10px 0px; + } + + + .miniTable td + { + border: none; + border-bottom: 1px solid #eee; + position: relative; + padding-left: 50%; + min-height:45px; + text-align: right; + } + + .miniTable td:before + { + left: 6px; + width: 45%; + padding-right: 10px; + white-space: nowrap; + position: absolute; + } + .copyTable tr:nth-of-type(1):before { content: "Copy #1"; display: block; text-align:center; } + .copyTable tr:nth-of-type(2):before { content: "Copy #2"; display: block; text-align:center;} + .copyTable tr:nth-of-type(3):before { content: "Copy #3"; display: block; text-align:center;} + .copyTable tr:nth-of-type(4):before { content: "Copy #4"; display: block; text-align:center;} + .copyTable tr:nth-of-type(5):before { content: "Copy #5"; display: block; text-align:center;} + .copyTable tr:nth-of-type(6):before { content: "Copy #6"; display: block; text-align:center;} + .copyTable tr:nth-of-type(7):before { content: "Copy #7"; display: block; text-align:center;} + .copyTable tr:nth-of-type(8):before { content: "Copy #8"; display: block; text-align:center;} + .copyTable tr:nth-of-type(9):before { content: "Copy #9"; display: block; text-align:center;} + .copyTable tr:nth-of-type(10):before { content: "Copy #10"; display: block; text-align:center;} + + .copyTable td:nth-of-type(1):before { content: "Library"; display: flex; } + .copyTable td:nth-of-type(2):before { content: "Call Number"; display: flex; } + .copyTable td:nth-of-type(3):before { content: "Barcode"; display: flex;} + .copyTable td:nth-of-type(4):before { content: "Shelving Location"; display: flex;} + .copyTable td:nth-of-type(5):before { content: "Status"; display: flex;} + .copyTable td:nth-of-type(6):before { content: "Due Date"; display: flex;} + + .holdingsTable tr:nth-of-type(1):before { content: "Copy #1"; display: block; text-align:center; } + .holdingsTable tr:nth-of-type(2):before { content: "Copy #2"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(3):before { content: "Copy #3"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(4):before { content: "Copy #4"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(5):before { content: "Copy #5"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(6):before { content: "Copy #6"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(7):before { content: "Copy #7"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(8):before { content: "Copy #8"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(9):before { content: "Copy #9"; display: block; text-align:center;} + .holdingsTable tr:nth-of-type(10):before { content: "Copy #10"; display: block; text-align:center;} + + + .holdingsTable td:nth-of-type(1):before { content: "Library"; display: flex; } + .holdingsTable td:nth-of-type(2):before { content: "Shelving location"; display: flex; } + .holdingsTable td:nth-of-type(3):before { content: "Call number"; display: flex;} + .holdingsTable td:nth-of-type(4):before { content: "Status"; display: flex;} + + .chargesTable td:nth-of-type(1):before { content: "Select"; display: flex; } + .chargesTable td:nth-of-type(2):before { content: "Owed"; display: flex; } + .chargesTable td:nth-of-type(3):before { content: "Billing Type"; display: flex;} + .chargesTable td:nth-of-type(4):before { content: "Note"; display: flex;} + .chargesTable td:nth-of-type(5):before { content: "Date"; display: flex;} + + .chargesMainTable td:nth-of-type(1):before { content: "Select"; display: flex; } + .chargesMainTable td:nth-of-type(2):before { content: "Owed"; display: flex; } + .chargesMainTable td:nth-of-type(3):before { content: "Billing Type"; display: flex;} + .chargesMainTable td:nth-of-type(4):before { content: "Title"; display: flex;} + .chargesMainTable td:nth-of-type(5):before { content: "Checkout"; display: flex;} + .chargesMainTable td:nth-of-type(6):before { content: "Due"; display: flex;} + .chargesMainTable td:nth-of-type(7):before { content: "Returned/Renewed"; display: flex;} + + .activeHoldstable td:nth-of-type(1):before { content: "Select"; display: flex; } + .activeHoldstable td:nth-of-type(2):before { content: "Title"; display: flex; } + .activeHoldstable td:nth-of-type(3):before { content: "Author"; display: flex;} + .activeHoldstable td:nth-of-type(4):before { content: "Format"; display: flex;} + .activeHoldstable td:nth-of-type(5):before { content: "Pickup Location"; display: flex;} + .activeHoldstable td:nth-of-type(6):before { content: "Cancel If Not Filled By"; display: flex;} + .activeHoldstable td:nth-of-type(7):before { content: "Status"; display: flex;} + .activeHoldstable td:nth-of-type(8):before { content: "Notes"; display: flex;} + + .holdHistoryTable td:nth-of-type(1):before { content: "Title"; display: flex; } + .holdHistoryTable td:nth-of-type(2):before { content: "Author"; display: flex; } + .holdHistoryTable td:nth-of-type(3):before { content: "Format"; display: flex; } + .holdHistoryTable td:nth-of-type(4):before { content: "Pickup Location"; display: flex; } + .holdHistoryTable td:nth-of-type(5):before { content: "Status"; display: flex; } + + .paymentTable td:nth-of-type(1):before { content: "Payment Date"; display: flex; } + .paymentTable td:nth-of-type(2):before { content: "Payment For"; display: flex; } + .paymentTable td:nth-of-type(3):before { content: "Amount"; display: flex; } + .paymentTable td:nth-of-type(4):before { content: "Receipt"; display: flex; } + + .messagesTable td:nth-of-type(1):before { content: "Select"; display: flex; } + .messagesTable td:nth-of-type(2):before { content: "Date"; display: flex; } + .messagesTable td:nth-of-type(3):before { content: "Library"; display: flex; } + .messagesTable td:nth-of-type(4):before { content: "Subject"; display: flex; } + .messagesTable td:nth-of-type(5):before { content: ""; display: flex; } + + .circTable td:nth-of-type(1):before { content: "Select"; display: flex; } + .circTable td:nth-of-type(2):before { content: "Title"; display: flex; } + .circTable td:nth-of-type(3):before { content: "Author"; display: flex; } + .circTable td:nth-of-type(4):before { content: "Renewals Left"; display: flex; } + .circTable td:nth-of-type(5):before { content: "Due Date"; display: flex; } + .circTable td:nth-of-type(6):before { content: "Barcode"; display: flex; } + .circTable td:nth-of-type(7):before { content: "Call Number"; display: flex; } + + .circHistTable td:nth-of-type(1):before { content: "Select"; display: flex; } + .circHistTable td:nth-of-type(2):before { content: "Title"; display: flex; } + .circHistTable td:nth-of-type(3):before { content: "Author"; display: flex; } + .circHistTable td:nth-of-type(4):before { content: "Checkout Date"; display: flex; } + .circHistTable td:nth-of-type(5):before { content: "Due Date"; display: flex; } + .circHistTable td:nth-of-type(6):before { content: "Date Returned"; display: flex; } + .circHistTable td:nth-of-type(7):before { content: "Barcode"; display: flex; } + .circHistTable td:nth-of-type(8):before { content: "Call Number"; display: flex; } + + .bookbagTable td:nth-of-type(1):before { content: ""; display: flex; } + .bookbagTable td:nth-of-type(2):before { content: "Title"; display: flex; } + .bookbagTable td:nth-of-type(3):before { content: "Author(s)"; display: flex; } + .bookbagTable td:nth-of-type(4):before { content: "Local Call number"; display: flex; } + .bookbagTable td:nth-of-type(5):before { content: "Publication Date"; display: flex; } + .bookbagTable td:nth-of-type(6):before { content: "Format"; display: flex; } + .bookbagTable td:nth-of-type(7):before { content: "Notes"; display: flex; } + + .eholdsTable td:nth-of-type(1):before { content: "Title"; display: flex; } + .eholdsTable td:nth-of-type(2):before { content: "Author"; display: flex; } + .eholdsTable td:nth-of-type(3):before { content: "Expire Date"; display: flex; } + .eholdsTable td:nth-of-type(4):before { content: "Status"; display: flex; } + .eholdsTable td:nth-of-type(5):before { content: "Actions"; display: flex; } + + .eholdsreadyTable td:nth-of-type(1):before { content: "Title"; display: flex; } + .eholdsreadyTable td:nth-of-type(2):before { content: "Author"; display: flex; } + .eholdsreadyTable td:nth-of-type(3):before { content: "Expire Date"; display: flex; } + .eholdsreadyTable td:nth-of-type(4):before { content: "Actions"; display: flex; } + + .echeckoutTable td:nth-of-type(1):before { content: "Title"; display: flex; } + .echeckoutTable td:nth-of-type(2):before { content: "Author"; display: flex; } + .echeckoutTable td:nth-of-type(3):before { content: "Due Date"; display: flex; } + .echeckoutTable td:nth-of-type(4):before { content: "Actions"; display: flex; } + + .ecircsTable td:nth-of-type(1):before { content: "Title"; display: flex; } + .ecircsTable td:nth-of-type(2):before { content: "Author"; display: flex; } + .ecircsTable td:nth-of-type(3):before { content: "Due Date"; display: flex; } + .ecircsTable td:nth-of-type(4):before { content: "Actions"; display: flex; } + + .bucketTable td:nth-of-type(2):before { content: "Title"; display: flex; text-align:left; } + .bucketTable td:nth-of-type(3):before { content: "Author"; display: flex; text-align:left; } + .bucketTable td:nth-of-type(4):before { content: "Call Number"; display: flex; text-align:left; } + + /*Media Style Additions*/ + .fullRow{ + padding: 5px !important; + text-align: center !important; + width: 100%; + } + + .paginateText{ + display:none; + } + + .modal-dialog { + max-width: 600px !important; + } + +}/*Micro Tables End*/ + +@media only screen and (max-width: 600px) { + input, select { + font-size: [% css_fonts.size_big %]; + } + span .nav_arrow_fix { + display: none; + } + #header { + padding: 0px; + margin: 0px; + } + #homesearch_main_logo img { + width:75%; + } + #format_selector { + display:none; + } + #your-acct-login { + padding: 0px; + padding-top: 5px; + } + #your-acct-login a { + margin: 0px; + padding: 5px; + } + #topnav_logo { + margin: 0; + } + #topnav_logo img { + width: 200px; + } + + #gold-links-holder { + display: none; + } + #simple-detail-view-links { + display: none; + } + #acct_tabs a, #acct_fines_tabs a { + [% IF rtl == 't' -%] + border-radius: 6px 0px 0px 6px; + margin: 0px 0px 0px 5px; + [% ELSE -%] + border-radius: 6px 6px 0px 0px; + margin: 0px 5px 0px 0px; + [% END -%] + padding: 2px 4px 3px 4px; + font-size: [% css_fonts.size_base %]; + } + .bookbag-controls-title-block { + [% IF rtl == 't' -%] + clear:right; + [% ELSE -%] + clear:left; + [% END -%] + width:90%; + } + .bookbag-controls-button-block { + [% IF rtl == 't' -%] + clear:right; + [% ELSE -%] + clear:left; + [% END -%] + width;90%; + } + .bookbag-specific { + [% IF rtl == 't' -%] + margin-right: 0px; + [% ELSE -%] + margin-left: 0px; + [% END -%] + } + .bookbag-specific div.sort { + [% IF rtl == 't' -%] + float: right; + text-align: right; + [% ELSE -%] + float: left; + text-align: left; + [% END -%] + width: 95%; + margin: 5px 0px 5px 0px; + border: 1px solid [% css_colors.accent_light %]; + padding:5px; + } + .bookbag-specific div.meta { + [% IF rtl == 't' -%] + float: right; + margin-right:0px; + text-align: right; + [% ELSE -%] + float: left; + margin-left:0px; + text-align: left; + [% END -%] + width: 95%; + margin-bottom:5px; + padding:5px; + } + #bbag-edit-name { + [% IF rtl == 't' -%] + float: right; + [% ELSE -%] + float: left; + [% END -%] + width: 220px; + } + #bbag-edit-description { + width: 220px; + margin-top:5px; + } + .bbag-content { + padding:5px; + border:1px solid [% css_colors.accent_light %]; + } + .bbag-action { + [% IF rtl == 't' -%] + margin-right:0px; + [% ELSE -%] + margin-left:0px; + [% END -%] + margin-bottom:5px; + } + .bbag-action-field { + width:230px; + } + .bookbag-specific div.sort select { + width:180px; + } + .bookbag-specific tr { + display: block; + border-bottom: 1px solid [% css_colors.border_standard %]; + } + .bookbag-specific td.list_checkbox { + [% IF rtl == 't' -%] + padding-right: 0px !important; + [% ELSE -%] + padding-left: 0px !important; + [% END -%] + } + .bookbag-specific td.list_entry { + display: inline-block; + min-width: 5em; + [% IF rtl == 't' -%] + padding-right: 40% !important; + [% ELSE -%] + padding-left: 40% !important; + [% END -%] + } + .bookbag-specific td.list_entry:before { + content: attr(data-label); + position: absolute; + [% IF rtl == 't' -%] + right: 10px; + [% ELSE -%] + left: 10px; + [% END -%] + } + .bbag-navigate-list { + display: none; + } + .bbag-navigate-list-pages { + [% IF rtl == 't' -%] + text-align:left; + float:left; + [% ELSE -%] + text-align:right; + float:right; + [% END -%] + } + #dash_wrapper div { + background-color: transparent; + padding: 0px; + } + #dash_wrapper { + position: static; + top: auto; + } + #dash_wrapper .opac-button { + top: 0px; + } + .small_view_only, #filter_hits { + display: inline !important; + } + #dash_identity a { + [% IF rtl == 't' -%] + float:right; + [% ELSE -%] + float:left; + [% END -%] + } + + #holds_box form blockquote { + [% IF rtl == 't' -%] + margin-right: 10px; + margin-left: 2px; + [% ELSE -%] + margin-left: 10px; + margin-right: 2px; + [% END -%] + } + #holds_box form blockquote select { + width: 100%; + } + #myopac_sum_fines_placehold { + display:none; + } + #myopac_sum_fines { + display: none; + } + #list_description, #list_create_name { + width: 170px; + } + .results_header_lbl { + display: none; + } + .results_header_nav1 span.h1 { + display: none; + } + .preflib { + display: none; + } + .start_end_links_span { + display: block; + } + .invisible { + display: none; + } + .result_table_pic_header { + [% IF rtl == 't' -%] + padding-right: 0px !important; + padding-left: 5px; + [% ELSE -%] + padding-left: 0px !important; + padding-right: 5px; + [% END -%] + width: 0px !important; + margin: 0px; + } + .result_table_pic { + width: 55px; + padding: 0px; + margin: 0px; + } + tr[name=results_isbn_tr], tr[name=results_phys_desc_tr], tr[name=results_pub_tr] strong, .result_count { + display: none; + } + tr.result_table_title_cell[name=bib_cn_list] .result_holdings_table th:nth-child(4), + tr.result_table_title_cell[name=bib_cn_list] .result_holdings_table td:nth-child(4) { + display:none; + } + #results_header_bar { + background-color: inherit; + } + .results_header_btns a { + margin: 0.3em; + } + .adv_filter_results_hide { + display: none; + } + .adv_filter_results_show { + display: block; + } + .adv_filter_results_block_label { + display: block; + } + .adv_filter_results_group_wrapper { + display: block; + } + #main-content { + margin: 0 1px; + } + #rdetails_status thead { + display: none; + } + #rdetails_status tr { + display: block; + margin-top: 3px; + } + #rdetails_status td { + display: block; + padding: 1px; + } + .copy_details_row { + background-color: [% css_colors.accent_lightest %]; + } + .copy_details_offers_row { + background-color: [% css_colors.accent_lightest %]; + } + select#pickup_lib.search-wrapper-locg { + width: 100%; + } + #search-wrapper #search-box { + width: 85%; + padding-top: 5px; + } + #main-content-home { + padding: 0px; + margin: 0px; + } + /* Make use of full width in mobile mode */ + .facet_box_wrapper .box_wrapper .box, + .facet_template .facet, + .facet_box_temp { + width: inherit; + } + .facet_template .count { + [% IF rtl == 't' -%] + padding-right: 1em; + [% ELSE -%] + padding-left: 1em; + [% END -%] + } + #facet_sidebar { + margin-top: 0.5em; + } + #adv_search_parent { + font-size: [% css_fonts.size_smaller %]; + } + #adv_search_filters { + position: relative; + width: 300px; + } + #format_actions { + [% IF rtl == 't' -%] + float: right; + [% ELSE -%] + float: left; + [% END -%] + } + .rdetail_aux_utils { + padding: 0px; + border: none; + } + .result_metadata { + width: inherit; + } + div#rdetail_actions_div { + float: none; + } + h2.rdetail_uris { + clear: both; + } + #metarecord_population { + overflow: hidden; + width: 100%; + } + .metarecord_population_span_link { + } + .metarecord_population_item_lang { + float: none; + } + .search_catalog_lbl { + [% IF rtl == 't' -%] + margin-right: 0; + [% ELSE -%] + margin-left: 0; + [% END -%] + white-space: nowrap; + } + .adv_search_catalog_lbl { + margin-top: 0; + white-space: nowrap; + } + .browse_the_catalog_lbl { + white-space: nowrap; + } + .mobile_hide { + display: none; + } + #dash_user { + display: block; + padding: 0.5em; + font-size: 18px; + text-align: center; + } + .dash_divider { + display: none; + } + .dash_account_buttons { + display: block; + } + .searchbar { line-height: 1.5em; } + #browse-controls { line-height: 1.5em; } + #search_query_label, #search_qtype_label, #search_itype_label, #search_locg_label { + display: block; + } + .bookshelf td { + display: block; + width: 100%; + } + .bookshelf table thead tr { + display: block; + } + #lowhits_help { width: inherit; } + #adv_search_tabs a{ + font-size: [% css_fonts.size_small %]; + margin: 2px 2px 0px 2px; + padding: 2px 2px 5px 2px; + [% IF rtl == 't' -%] + border-radius: 7px 0px 0px 7px; + [% ELSE -%] + border-radius: 7px 7px 0px 0px; + [% END -%] + } + #adv_global_tbody td { + border-bottom: thin solid [% css_colors.accent_light %]; + } + #adv_global_addrow td { + border-bottom: none; + } + /* Force table to not be like tables anymore */ + table#acct_checked_main_header thead tr th, table#acct_holds_main_header thead tr th, table#acct_checked_hist_header thead tr th, table#acct_holds_hist_header thead tr th, table#ebook_circs_main_table thead tr th, table#ebook_holds_main_table thead tr th { + display: none; + } + table#acct_checked_main_header tbody tr td, table#acct_holds_main_header tbody tr td, table#acct_checked_hist_header tbody tr td, table#acct_holds_hist_header tbody tr td, table#ebook_circs_main_table tbody tr td, table#ebook_holds_main_table tbody tr td { + display: block; + } + + /* Hide table headers (but not display: none;, for accessibility) */ + /* thead tr { + position: absolute; + top: -9999px; + [% IF rtl == 't' -%] + right: -9999px; + [% ELSE -%] + left: -9999px; + [% END -%] + }*/ + + table#acct_checked_main_header, table#acct_holds_main_header, table#acct_checked_hist_header, table#acct_holds_hist_header, table#ebook_circs_main_table, table#ebook_holds_main_table { + width: 90%; + } + + table#acct_checked_main_header tr, table#acct_holds_main_header tr, table#acct_checked_hist_header tr { border: 1px solid #ddd; } + + /* Holds history gets large white border to mimic header cell on other + account screens that provide visual cue for next title. We should do + the same for ebook tables too since we have no actions on those + tables. If actions get added, we should move those tables out of + here. */ + + table#ebook_circs_main_table tr, table#ebook_holds_main_table tr { border-top: 25px solid #fff; } + table#acct_holds_hist_header tr{ border-top: 2px solid #bbb; } + + table#acct_checked_main_header td, table#acct_holds_main_header td, table#acct_checked_hist_header td, table#acct_holds_hist_header td, table#ebook_circs_main_table td, table#ebook_holds_main_table td { + /* Behave like a "row" */ + border: none; + border-bottom: 1px solid #eee; + position: relative; + [% IF rtl == 't' -%] + padding-right: 40%; + [% ELSE -%] + padding-left: 40%; + [% END -%] + } + + table#acct_checked_main_header td:before, table#acct_holds_main_header td:before, table#acct_checked_hist_header td:before, table#acct_holds_hist_header td:before, table#ebook_circs_main_table td:before, table#ebook_holds_main_table td:before { + /* Now like a table header */ + position: absolute; + /* Top/left values mimic padding */ + top: 2px; + width: 40%; + [% IF rtl == 't' -%] + right: 2px; + padding-left: 10px; + [% ELSE -%] + left: 2px; + padding-right: 10px; + [% END -%] + white-space: nowrap; + } + + table#acct_checked_main_header td:nth-of-type(1) { border-top: 5px solid #aaa; padding-top: 15px; background-color: #fff;} + table#acct_checked_main_header td:nth-of-type(2):before { content: "[% l('Title') %]";} + table#acct_checked_main_header td:nth-of-type(3):before { content: "[% l('Author') %]"; } + table#acct_checked_main_header td:nth-of-type(4):before { content: "[% l('Renewals Left') %]"; } + table#acct_checked_main_header td:nth-of-type(5):before { content: "[% l('Due Date') %]"; } + table#acct_checked_main_header td:nth-of-type(6):before { content: "[% l('Barcode') %]"; } + table#acct_checked_main_header td:nth-of-type(7):before { content: "[% l('Call number') %]"; } + + table#acct_checked_hist_header td:nth-of-type(1) { border-top: 5px solid #aaa; padding-top: 15px; background-color: #fff;} + table#acct_checked_hist_header td:nth-of-type(2):before { content: "[% l('Title') %]";} + table#acct_checked_hist_header td:nth-of-type(3):before { content: "[% l('Author') %]"; } + table#acct_checked_hist_header td:nth-of-type(4):before { content: "[% l('Checkout Date') %]"; } + table#acct_checked_hist_header td:nth-of-type(5):before { content: "[% l('Due Date') %]"; } + table#acct_checked_hist_header td:nth-of-type(6):before { content: "[% l('Date Returned') %]"; } + table#acct_checked_hist_header td:nth-of-type(7):before { content: "[% l('Barcode') %]"; } + table#acct_checked_hist_header td:nth-of-type(8):before { content: "[% l('Call number') %]"; } + + table#acct_holds_main_header td:nth-of-type(1) { border-top: 5px solid #aaa; padding-top: 15px; background-color: #fff;} + table#acct_holds_main_header td:nth-of-type(2):before { content: "[% l('Title') %]";} + table#acct_holds_main_header td:nth-of-type(3):before { content: "[% l('Author') %]"; } + table#acct_holds_main_header td:nth-of-type(4):before { content: "[% l('Format') %]"; } + table#acct_holds_main_header td:nth-of-type(5):before { content: "[% l('Pickup Location') %]"; } + table#acct_holds_main_header td:nth-of-type(6):before { content: "[% l('Cancel on') %]"; } + table#acct_holds_main_header td:nth-of-type(7):before { content: "[% l('Status') %]"; } + table#acct_holds_main_header td.hold_notes:before { content: "[% l('Notes') %]"; } + + table#acct_holds_hist_header td:nth-of-type(1):before { content: "[% l('Title') %]";} + table#acct_holds_hist_header td:nth-of-type(2):before { content: "[% l('Author') %]"; } + table#acct_holds_hist_header td:nth-of-type(3):before { content: "[% l('Format') %]"; } + table#acct_holds_hist_header td:nth-of-type(4):before { content: "[% l('Pickup Location') %]"; } + table#acct_holds_hist_header td:nth-of-type(8):before { content: "[% l('Status') %]"; } + + table#ebook_circs_main_table td:nth-of-type(1):before { content: "[% l('Title') %]"; } + table#ebook_circs_main_table td:nth-of-type(2):before { content: "[% l('Author') %]"; } + table#ebook_circs_main_table td:nth-of-type(3):before { content: "[% l('Due Date') %]"; } + table#ebook_circs_main_table td:nth-of-type(4):before { content: "[% l('Actions') %]"; } + + table#ebook_holds_main_table td:nth-of-type(1):before { content: "[% l('Title') %]"; } + table#ebook_holds_main_table td:nth-of-type(2):before { content: "[% l('Author') %]"; } + table#ebook_holds_main_table td:nth-of-type(3):before { content: "[% l('Due Date') %]"; } + table#ebook_holds_main_table td:nth-of-type(4):before { content: "[% l('Actions') %]"; } + + + + /*Want to see these in mobile ONLY */ + .mobile_view{ + display:block; + } + + .mobile_search_lbl_clr{ + color:[% css_colors.mobile_header_text %]; + } +} + +@media only screen and (min-width: 992px) { + .nav-fr{ + float: right; + } + .nav-fl{ + float: left; + } + #nav-divide{ + display:none !important; + } +} +@media only screen and (max-width: 800px) { + .facet_sidebar_hidden, .result_block_hidden { + display: none; + } + .facet_sidebar_visible, .result_block_visible { + display: inline ! important; + } + #acct_select, #acct_prefs_select { + display: inline-block; + } + #acct_tabs, #acct_prefs_tabs { + display:none; + } + .radio-parts-selection { width: 90%; } + #list_description, #list_create_name { + width: 300px; + } +} diff --git a/Open-ILS/src/templates-bootstrap/opac/css/style.css.tt2 b/Open-ILS/src/templates-bootstrap/opac/css/style.css.tt2 old mode 100644 new mode 100755 index 3f7291ff38..4b0e8c51e7 --- a/Open-ILS/src/templates-bootstrap/opac/css/style.css.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/css/style.css.tt2 @@ -4,6 +4,21 @@ rtl = ctx.get_i18n_l(ctx.eg_locale).rtl; %] +.adv_filters{ + + -moz-column-count: 4; + -moz-column-gap: 20px; + -webkit-column-count: 4; + -webkit-column-gap: 20px; + column-count: 4; + column-gap: 20px; + list-style: none; +} + +.top-divide{ + border-top: 1px solid rgba(0,0,0,.1); +} + /* Mini Table Styling */ @@ -192,6 +207,13 @@ only screen and (max-width: 650px) { } }/*Micro Tables End*/ + .my_nav .active{background-color:#afffbf;}.my_nav a{text-align:left !important; min-width:17em;border-radius: 0px;}.sumNum{ + font-weight:700; +} + +.coverImage{position: relative;} +.carousel .glide__arrow{background: unset;} + /* Novelist Styling */ @@ -299,11 +321,7 @@ Novelist Styling border-radius: 1rem !important; } -#cnbrowse{ - width: 95%; - text-align: center; - padding: 15px; -} + .cn_browse_item .card{ padding: 15px; } @@ -316,10 +334,25 @@ Novelist Styling background-color:#e8e8e8; } -.red{ - color:red; +.danger, .validate{ + color: [% css_colors.text_alert %] !important; } +.danger{ + font-weight: 600; + font-style: italic; +} + +.success{ + color: green !important; +} +.dropdown-menu{ + border: 1px solid black; + box-shadow: 2px 2px #00000054; +} +.dropdown-item.active, .dropdown-item:active{ + color : #000 !important; +} .login:focus{ outline:none; } @@ -350,8 +383,7 @@ html{ min-height: 100vh; } body { -height:100%; -min-height: 100vh; + min-height: 100vh; margin:0; font-family: [% css_fonts.font_main %] !important; font-size: [% css_fonts.size_base %]; @@ -422,18 +454,12 @@ a { height:18px; } */ -h1 { - margin:0; - margin-bottom: 5px; - font-size: [% css_fonts.size_biggest %]; - font-weight:normal; -} -h2 { - font-size: [% css_fonts.size_bigger %]; - font-weight:bold; +#adv_numeric_block{ + max-width: 600px; } + h2.graphic880 { font-size: [% css_fonts.size_bigger %]; font-weight:normal; @@ -477,15 +503,7 @@ div.select-box-wrapper { display:inline-block; } -#dashboard, #dashboard_e { - margin-top: 1em; - height: 2em; -} -#dashboard span.dash-align a, #dashboard_e span.dash-align a { - font-weight: bold; - text-decoration: none; -} #dash_user { font-weight: bold; @@ -747,23 +765,11 @@ for now until a better color is picked - if needed. } #adv_special_block { - [% IF rtl == 't' -%] - float: right; - [%- ELSE %] - float: left; - [%- END %] + padding: 5px; margin-top: 5px; } -#adv_search_submit { - [% IF rtl == 't' -%] - margin-right: 10px; - [%- ELSE %] - margin-left: 10px; - [%- END %] - position: relative; -} .checkbox_col { width: 1%; @@ -1133,8 +1139,7 @@ div.format_icon { #content-wrapper { background-color: [% css_colors.background %]; - min-height: 600px; - height: auto; + height: auto; display: grid; } @@ -1258,10 +1263,6 @@ div.format_icon { margin:0; } -#holds_temp_parent tr td div { - margin-top: 10px; - margin-bottom: 10px; -} #holds_temp_parent tr td div.format_icon { margin-top: 6px; @@ -1397,12 +1398,14 @@ tr.result_table_row > td.result_table_pic_header { position: relative; } #record_basket_count_floater { - background-color: [% css_colors.accent_lighter %]; + background-color: #ddd; position: absolute; - top: -3px; - right: -3px; /* relative to icon, so don't want to adjust for RTL */ + top: 0px; + right: -10px; z-index: 2; + text-align: center; border-radius: 50%; + width: 20px; } #record_basket_count_floater a { text-decoration: none; @@ -1446,6 +1449,10 @@ div.result_table_utils_cont { [% END -%] } +.mylist_action:hover{ + text-decoration: none; +} + #myopac_summary_div p { margin:0; margin-bottom: 10px; @@ -2009,9 +2016,30 @@ div#facet_sidebar { .facet_template .count { text-align: right; - color: [% css_colors.accent_mediumdark %]; + color: [% css_colors.accent_dark %]; } +.page-item.active .page-link { + background-color: #00593d; + border-color: #00593d; +} +.page-link +{ + color: #00593d; +} + +.filter-header{ + background-color: [% css_colors.bg_filter %]; + color: [% css_colors.text_filter %]; +} + +.filter-header:hover{ + background-color: [% css_colors.bg_filter_hover %]; +} + +.extra_header{ + background-color: [% css_colors.bg_extras %]; +} .facet_template_selected { background-color: [% css_colors.accent_lighter2 %]; border: 1px solid [% css_colors.accent_medium %]; @@ -2182,7 +2210,6 @@ a.dash-link:hover { text-decoration: underline !important; } padding-left: 2em; [% END -%] } -.expert-search-row { padding-top: 10px; } #adv_expert_row label { font-weight: bold; } .bookshelf tr.browse_border td { @@ -2982,8 +3009,12 @@ a.preflib_change { #nav-divide{ display:none !important; } + } @media only screen and (max-width: 800px) { + .adv_options{ + width: 100% !important; + } .facet_sidebar_hidden, .result_block_hidden { display: none; } @@ -3193,9 +3224,7 @@ a.preflib_change { float:left; [% END -%] } - #dashboard, #dashboard_e { - display: none; - } + #holds_box form blockquote { [% IF rtl == 't' -%] margin-right: 10px; @@ -3738,6 +3767,10 @@ label[for*=expert_] font-weight: bold; text-align: center; } + +.fas, .far{ + margin: 0px 3px; +} .carousel-entry { max-width: 150px; } @@ -3758,10 +3791,10 @@ label[for*=expert_] display: inline-block; } .carousel .glide__arrow--right { - right: -5em; + right: -8em; } .carousel .glide__arrow--left { - left: -5em; + left: -8em; } .search-filter{ @@ -3775,18 +3808,63 @@ label[for*=expert_] margin: 0px 10px; } -.title{ - font-size: large; -} #homeLogo{ - opacity: 0.5; filter: alpha(opacity=50); background-color: #fff; /* Used if the image is unavailable */ height: 500px; /* You must set a specified height */ background-position: center; /* Center the image */ background-repeat: no-repeat; /* Do not repeat the image */ background-size: contain; /* Resize the background image to cover the entire container */ - background-image: url("https://evergreen-ils.org/wp-content/uploads/2018/09/Evergreen-Final-Logo.png"); + background-image: url("[% ctx.media_prefix %]/images/Evergreen-Final-Logo.png"); } + +.navbar-dark .navbar-nav .nav-link{ + color: #fff !important; +} + +.pref_table{ + margin: 10px; +} + +.checkCell{width:30px;} + +@media (min-width: 650px){ +.modal-dialog { + max-width: 600px !important; + } + +} + +.listTitleText{ + width:33%; +} + +.facet_box_wrapper .card-header{ + background-color: [% css_colors.facets_back %]; + color: [% css_colors.facets_text %]; +} + +.vertMid { + position: relative; + top: 50%; + transform: translateY(-50%); +} + +.sumNum{ + margin-right:5px; +} + +.my_nav .dropdown-toggle::after{ + margin: 5px 0px !important; + float: right; +} + +.my_nav .fas, .mynav .far{ + min-width:20px; +} + +.adv_options{ + width: 50%; +} \ No newline at end of file diff --git a/Open-ILS/src/templates-bootstrap/opac/home.tt2 b/Open-ILS/src/templates-bootstrap/opac/home.tt2 old mode 100644 new mode 100755 index b362fe6b36..4d15d07516 --- a/Open-ILS/src/templates-bootstrap/opac/home.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/home.tt2 @@ -5,9 +5,7 @@ ctx.page_title = l("Home") %]

[% l('Catalog Home') %]

[% INCLUDE "opac/parts/searchbar.tt2" is_home_page=1 %] -
-
+ [% INCLUDE "opac/parts/homesearch.tt2" %] -
-
+ [%- END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/library.tt2 b/Open-ILS/src/templates-bootstrap/opac/library.tt2 new file mode 100755 index 0000000000..702f30e9e5 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/library.tt2 @@ -0,0 +1,12 @@ +[%- PROCESS "opac/parts/header.tt2"; + WRAPPER "opac/parts/base.tt2"; + INCLUDE "opac/parts/topnav.tt2"; + ctx.page_title = l("Library details: [_1]", ctx.library.name); + canon = ctx.proto _ '://' _ ctx.hostname _ mkurl('', {}, 1); + ctx.metalinks.push(''); + ctx.metalinks.push(''); + ctx.metalinks.push(''); +-%] + [%- INCLUDE "opac/parts/searchbar.tt2" %] + [%- INCLUDE "opac/parts/library/core_info.tt2"; %] +[%- END; %] diff --git a/Open-ILS/src/templates-bootstrap/opac/login.tt2 b/Open-ILS/src/templates-bootstrap/opac/login.tt2 new file mode 100755 index 0000000000..0e82edf974 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/login.tt2 @@ -0,0 +1,17 @@ +[%- PROCESS "opac/parts/header.tt2"; + WRAPPER "opac/parts/base.tt2"; + INCLUDE "opac/parts/topnav.tt2"; + basic_search = "f"; + ctx.page_title = l("Account Login") %] +

[% l('Account Login') %]

+
+ [% INCLUDE "opac/parts/searchbar.tt2" %] +
+
+
+

[% l('Account Login Form') %]

+ [% INCLUDE "opac/parts/login/form.tt2" %] +
+
+
+[%- END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/mylist.tt2 b/Open-ILS/src/templates-bootstrap/opac/mylist.tt2 old mode 100644 new mode 100755 index fe94c6d663..a03c7cb933 --- a/Open-ILS/src/templates-bootstrap/opac/mylist.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/mylist.tt2 @@ -5,18 +5,18 @@ ctx.metalinks.push(''); ctx.page_title = l("Record Detail") %]

[% l('Basket') %]

-
+
[% INCLUDE "opac/parts/searchbar.tt2" %]
-
-
+
+
[% IF ctx.mylist.size; INCLUDE "opac/parts/anon_list.tt2"; ELSE %]

[% l("The basket is empty."); %]

- + [% END %] -
+ [%- END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/mylist/clear.tt2 b/Open-ILS/src/templates-bootstrap/opac/mylist/clear.tt2 old mode 100644 new mode 100755 index 8e2596aa3b..793581c3a5 --- a/Open-ILS/src/templates-bootstrap/opac/mylist/clear.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/mylist/clear.tt2 @@ -3,19 +3,17 @@ WRAPPER "opac/parts/base.tt2"; INCLUDE "opac/parts/topnav.tt2"; ctx.page_title = l("Confirm Clearing of Basket") %] -

[% l('Confirm Clearing of Basket') %]

+ [% INCLUDE "opac/parts/searchbar.tt2" %] -
-
-

[% l('Please confirm that you want to remove all [_1] titles from the basket.', ctx.mylist.size) %] -

- - - -
-
-
-
+
+
+

[% l('Confirm Clearing of Basket') %]

+

[% l('Please confirm that you want to remove all [_1] titles from the basket.', ctx.mylist.size) %] +

+ + + +
+
[%- END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/mylist/email.tt2 b/Open-ILS/src/templates-bootstrap/opac/mylist/email.tt2 old mode 100644 new mode 100755 index 9eeaa27809..ab47de1531 --- a/Open-ILS/src/templates-bootstrap/opac/mylist/email.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/mylist/email.tt2 @@ -3,27 +3,28 @@ WRAPPER "opac/parts/base.tt2"; INCLUDE "opac/parts/topnav.tt2"; ctx.page_title = l("Confirm Basket Email") %] -

[% l('Confirm Basket Email') %]

- [% INCLUDE "opac/parts/searchbar.tt2" %] -
-
- [% IF ctx.mylist.size %] -

[% l('Please confirm that you want to email the [_1] titles in the basket.', ctx.mylist.size) %] -

- - - -
- - -
- [% ELSE %] -
[% l("The basket is empty."); %]
- - [% END %] -
+ +[% INCLUDE "opac/parts/searchbar.tt2" %] +
+ [% IF ctx.mylist.size %] +

[% l('Confirm Basket Email') %]

+

[% l('Please confirm that you want to email the [_1] titles in the basket.', ctx.mylist.size) %] +

+ +
+ +
-
+
+ + + + [% ELSE %] +
[% l("The basket is empty."); %]
+ + [% END %] +
[%- END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/mylist/print.tt2 b/Open-ILS/src/templates-bootstrap/opac/mylist/print.tt2 old mode 100644 new mode 100755 index 08722c1df1..0958dff20f --- a/Open-ILS/src/templates-bootstrap/opac/mylist/print.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/mylist/print.tt2 @@ -3,27 +3,27 @@ WRAPPER "opac/parts/base.tt2"; INCLUDE "opac/parts/topnav.tt2"; ctx.page_title = l("Confirm Basket Printing") %] -

[% l('Confirm Basket Printing') %]

[% INCLUDE "opac/parts/searchbar.tt2" %] -
-
- [% IF ctx.mylist.size %] -

[% l('Please confirm that you want to print the [_1] titles in the basket.', ctx.mylist.size) %] -

- - - -
- - -
- [% ELSE %] -

[% l("The basket is empty."); %]

- - [% END %] -
-
-
+ +
+ [% IF ctx.mylist.size %] +

[% l('Confirm Basket Printing') %]

+

[% l('Please confirm that you want to print the [_1] titles in the basket.', ctx.mylist.size) %] +

+ +
+ + +
+
+ + +
+ [% ELSE %] +

[% l("The basket is empty."); %]

+ + [% END %] +
[%- END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/charges.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/charges.tt2 new file mode 100755 index 0000000000..d05bd98203 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/charges.tt2 @@ -0,0 +1,239 @@ +[% PROCESS "opac/parts/header.tt2"; + PROCESS "opac/parts/misc_util.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "charges"; + myopac_main_page = "main"; + parent = "charges"; + myopac_cc_allowed = 0; + IF (ctx.fines.grocery.size OR ctx.fines.circulation.size) AND ctx.get_org_setting(ctx.user.home_ou, 'credit.payments.allow') == 1; + myopac_cc_allowed = 1; + END +%] +[% IF myopac_cc_allowed; %] +
+[% END %] + + [% IF ctx.fines.circulation.size > 0 %] +
+
+ + + [% IF myopac_cc_allowed %] + [% l("Pay Selected Circulation Charges") %] + [% ELSE %] + [% l("Circulation Charges") %] + [% END %] + + +
+ + + + + + + + + [% IF myopac_cc_allowed %] + + [% END %] + + + + + + + + + + + [% FOR f IN ctx.fines.circulation; + attrs = {marc_xml => f.marc_xml}; + IF f.marc_xml; + PROCESS get_marc_attrs args=attrs; + ELSIF f.xact.reservation; + attrs.title = f.xact.reservation.target_resource_type.name; + END %] + + [% IF myopac_cc_allowed %] + + [% END %] + + + + + + + + + + + + + + + [% END %] + +
+ + [% l("Owed") %][% l("Billing Type") %][% l("Title") %][% l("Checkout") %][% l(" Due ") %] + [% l(" Returned/Renewed") %] + [% l(" Returned*") %] +
+ + + + [% money(f.xact.balance_owed) %] + + + + [% f.xact.last_billing_type %] + + [% recid = f.xact.circulation.target_copy.call_number.record.id || f.xact.reservation.target_resource_type.record.id; + IF recid; %] + [% attrs.title | html %] + [% ELSE %] + [% attrs.title | html %] + [% END %] + + [% ts = f.xact.circulation.xact_start || f.xact.reservation.start_time || 0; + IF ts; + date.format(ctx.parse_datetime(ts), DATE_FORMAT); + END %] + + [% ts = f.xact.circulation.due_date || f.xact.reservation.end_time || 0; + due_org = f.xact.circulation.circ_lib || f.xact.reservation.pickup_lib; + IF ts; + date.format(ctx.parse_datetime(ts, due_org), DATE_FORMAT); + END %] + + [% ts = f.xact.circulation.checkin_time || f.xact.reservation.return_time || 0; + IF ts; + date.format(ctx.parse_datetime(ts), DATE_FORMAT); + ELSE %] + + [% l('(fines accruing)') %] + [% END %] +
+ + *Items may have been renewed. +
+ [% END %] + + [% IF ctx.fines.grocery.size > 0 %] + +
+

+ [% l("Charges On Your Account") %] +

+ + [% IF myopac_cc_allowed %] +
+ + +
+ [% END %] + + + + + + [% IF myopac_cc_allowed %] + + [% END %] + + + + + + + + + + [% c = 0; %] + [% FOR f IN ctx.fines.grocery %] + + [% c = c + 1; %] + [% IF myopac_cc_allowed %] + + [% END %] + + + + + + + + + + + [% END %] + +
+ + [% l("Owed") %][% l("Billing Type") %][% l("Note") %][% l("Date") %]
+ + + + Amount Owed + + [% money(f.xact.balance_owed) %] + + + + Billing For + [% f.xact.last_billing_type %] + + [% IF f.xact.last_billing_note; %] + Note + [% f.xact.last_billing_note %] + [% END %] + + Date of Billing + [% date.format(ctx.parse_datetime(f.xact.xact_start),DATE_FORMAT) %] +
+ +
+ [% END %] + [% UNLESS ctx.fines.grocery.size OR ctx.fines.circulation.size %] +
[% l('You have no current fines.') %]
+ [% ELSIF myopac_cc_allowed %] + +
+ + +
+ [% END %] +[% IF myopac_cc_allowed %] +
+[% END %] + +[% END %] + + diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/circ_history.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/circ_history.tt2 old mode 100644 new mode 100755 index dc1d90ffdf..65b92b7e65 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/circ_history.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/circ_history.tt2 @@ -2,29 +2,13 @@ PROCESS "opac/parts/misc_util.tt2"; PROCESS "opac/parts/myopac/column_sort_support.tt2"; WRAPPER "opac/parts/myopac/base.tt2"; - myopac_page = "circs" + myopac_page = "circ_history" + parent="circs"; limit = ctx.circ_history_limit; offset = ctx.circ_history_offset; %] - -

[% l('History of Checked Out Items') %]

+

[% l('History of Checked Out Items') %]

-
- -
- [% # In the sorting case, the size is the size of ALL the circ items. In the non-sorting case, # the size is simply the size of the chunk passed in. See the TODO below for the still-lingering @@ -36,54 +20,39 @@ no_next = ctx.circs.size < limit; END; %] -
- -
+
+ [% IF ctx.circs.size < 1 %]
[% l('There are no items in your circulation history.') %]
[% ELSE %] -
- - - - - - - -
- - - -
+ + +
- +
+ + + + + +
+
- + @@ -158,20 +127,22 @@ FOR circ IN circ_items; %] @@ -205,7 +176,7 @@ [%- INCLUDE "opac/parts/preserve_params.tt2" %] [% IF ctx.circs.size > 0 %] - + [% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/circ_history/export.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/circ_history/export.tt2 new file mode 100755 index 0000000000..45aca551e6 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/circ_history/export.tt2 @@ -0,0 +1,38 @@ +[%- PROCESS "opac/parts/misc_util.tt2"; + USE CSVFilter 'csv'; + USE date; + SET DATE_FORMAT = l('%m/%d/%Y'); -%] +[%- l('Title') | csv -%] +[%- l('Author') | csv -%] +[%- l('Checkout Date') | csv -%] +[%- l('Due Date') | csv -%] +[%- l('Date Returned') | csv -%] +[%- l('Barcode') | csv -%] +[%- l('Call Number') | csv -%] +[%- l('Format') | csv 'last' %] +[% FOREACH circ IN ctx.csv.circs; + attrs = { marc_xml => circ.marc_xml }; + PROCESS get_marc_attrs args=attrs; + formats = []; + FOR format IN attrs.all_formats; + formats.push(format.label); + END; +-%] +[%- IF circ.circ.target_copy.call_number.id == -1 -%] + [%- circ.circ.target_copy.dummy_title | csv -%] + [%- circ.circ.target_copy.dummy_author | csv -%] +[%- ELSIF attrs.title -%] + [%- attrs.title | csv -%] + [%- attrs.author | csv -%] +[%- END -%] +[%- date.format(ctx.parse_datetime(circ.circ.xact_start), DATE_FORMAT) | csv-%] +[%- date.format(ctx.parse_datetime(circ.circ.due_date), DATE_FORMAT) | csv -%] +[%- IF circ.circ.checkin_time; + date.format(ctx.parse_datetime(circ.checkin_time), DATE_FORMAT) | csv; + ELSE; -%] +, +[%- END -%] +[%- circ.circ.target_copy.barcode | csv -%] +[%- circ.circ.target_copy.call_number.label | csv -%] +[%- formats.join('+') | csv 'last' %] +[% END -%] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/circs.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/circs.tt2 old mode 100644 new mode 100755 index 760674b303..5dd46f12a4 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/circs.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/circs.tt2 @@ -3,29 +3,13 @@ PROCESS "opac/parts/myopac/column_sort_support.tt2"; WRAPPER "opac/parts/myopac/base.tt2"; myopac_page = "circs"; + parent="circs"; %] -

[% l('Current Items Checked Out') %]

+

[% l('Current Items Checked Out') %]

-
- -
-
-
- [% l('Current Items Checked Out') %] -
-
+ +
+ [% IF ctx.circs.size < 1 %]
[% l('You have no items checked out.') %]
[% ELSE %] @@ -42,36 +26,24 @@
-
- - - - - - - +
+
+
+ + +
- - + + [% sort_head("sort_title", l("Title")) %] [% sort_head("author", l("Author")) %] [% sort_head("callnum", l("Call Number")) %]
- + + circ.circ.target_copy.call_number.record.id, {}, 1) %]"> + [%- circ.ATTRS.title.substr(0,circ.ATTRS.nonfiling_characters) | html %] [%- circ.ATTRS.title.substr(circ.ATTRS.nonfiling_characters) | html %] + [% IF circ.ATTRS.author %] [% circ.ATTRS.author | html %] + [%END; %] [% circ.circ.target_copy.call_number.label | html %] @@ -189,7 +160,7 @@ [% IF circ.circ.checkin_time; date.format(ctx.parse_datetime(circ.circ.checkin_time),DATE_FORMAT); ELSE; %] - * + Not Returned [% END; %] [% circ.circ.target_copy.barcode | html %]
+ class="table table-hover table-bordered miniTable circTable"> - @@ -145,25 +117,24 @@ FOR circ IN circ_items; %] - - - - @@ -185,20 +156,20 @@ due_date = ctx.parse_datetime(circ.circ.due_date, circ.circ.circ_lib); due_class = (date.now > date.format(due_date, '%s')) ? 'error' : ''; %] - - - [% IF ctx.get_org_setting(ctx.user.home_ou, 'opac.show_owning_lib_column'); %] - - - @@ -124,7 +120,7 @@ + readonly="readonly" class="form-control" name="email"/> [% l("Update") %][% money(ctx.fines.balance_owed) %]
- - [% l('Cancel') %] + + [% l('Cancel') %]
@@ -246,6 +242,7 @@ [% END %] - + + [% END %] [% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/main_payments.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/main_payments.tt2 old mode 100644 new mode 100755 index f865e3b10e..421f390125 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/main_payments.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/main_payments.tt2 @@ -1,34 +1,38 @@ [% PROCESS "opac/parts/header.tt2"; - PROCESS "opac/parts/misc_util.tt2"; - WRAPPER "opac/parts/myopac/main_base.tt2"; - myopac_page = "main"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "main_payments"; myopac_main_page = "payments"; + parent = "charges"; limit = ctx.payment_history_limit; offset = ctx.payment_history_offset; %] -

[% l('Transaction Payments') %]

-
+

[% l('Payment History') %]

+
-
+
+ [% IF offset != 0 %] + [% END %]
-

[% l('Payment History') %]

+
+ [% IF ctx.payments.size > limit %] + >[% l('Next') %] ► + + [% END %] +
-
[% IF ctx.payments.size %]
+ - + [% sort_head("sort_title", l("Title")) %] [% sort_head("author", l("Author")) %] [% sort_head("renews", l("Renewals Left")) %]
+ + Title [% IF circ.circ.target_copy.call_number.id == -1 %] [% circ.circ.target_copy.dummy_title | html %] [% ELSIF circ.ATTRS.title %] + circ.circ.target_copy.call_number.record.id, {}, 1) %]"> [%- circ.ATTRS.title.substr(0,circ.ATTRS.nonfiling_characters) | html %] [%- circ.ATTRS.title.substr(circ.ATTRS.nonfiling_characters) | html %] [% END %] + [% IF circ.circ.target_copy.call_number.id == -1 %] Author [% circ.circ.target_copy.dummy_author | html %] @@ -177,7 +148,7 @@ [% END %] + Renewals Remaining [% circ.circ.renewal_remaining %] + Due Date [% date.format(due_date, DATE_FORMAT) %] + Barcode [% circ.circ.target_copy.barcode | html %] + Call Number [% circ.circ.target_copy.call_number.label | html %] + [%- fleshed_ou = circ.circ.target_copy.call_number.owning_lib; INCLUDE "opac/parts/library_name_link_from_ou.tt2"; %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/ebook_checkout.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/ebook_checkout.tt2 old mode 100644 new mode 100755 index ca5bfe21e3..8d489e1517 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/ebook_checkout.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/ebook_checkout.tt2 @@ -3,21 +3,17 @@ PROCESS "opac/parts/myopac/column_sort_support.tt2"; WRAPPER "opac/parts/myopac/base.tt2"; myopac_page = "ebook_checkout"; + parent="circs"; %] -

[% l('Check Out E-Item') %]

+

[% l('Check Out E-Item') %]

- -
- [% l('Check Out E-Item') %] -
-
[% l(
+
+[% END %] + diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/hold_history.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/hold_history.tt2 old mode 100644 new mode 100755 index 1ee35895ac..175381a1a8 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/hold_history.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/hold_history.tt2 @@ -2,62 +2,45 @@ PROCESS "opac/parts/misc_util.tt2"; PROCESS "opac/parts/hold_status.tt2"; WRAPPER "opac/parts/myopac/base.tt2"; - myopac_page = "holds"; + myopac_page = "hold_history"; + parent="holds"; limit = ctx.hold_history_limit; offset = ctx.hold_history_offset; count = ctx.hold_history_ids.size; %] -

[% l('Holds History') %]

-
+

[% l('Holds History') %]

+
+ +
+
+
+ [% IF offset != 0 %] limit,offset => (offset - limit)}) %]' + >◄[% l('Previous') %] [% END %] + [% IF offset > 0 || count > limit; curpage = 0; WHILE curpage * limit < count; IF curpage * limit == offset; %] + [% curpage + 1 %] -
- -
- - -
-
- [% l("Previously Held Items") %] - - limit,offset => (offset - limit)}) %]' - [% IF offset == 0 %] class='invisible' [% END %]>[% l('Previous') %] - [% IF offset > 0 || count > limit; - curpage = 0; - WHILE curpage * limit < count; - IF curpage * limit == offset; - %] - [% curpage + 1 %] [%- ELSE %] - limit, offset => (curpage * limit)}) %]'>[% curpage + 1 %] - [%- END; - curpage = curpage + 1; - END; - END %] - limit, offset => (offset + limit)}) %]' - [% IF count <= limit + offset %] class='invisible' [% END %] >[% l('Next') %] - - + limit, offset => (curpage * limit)}) %]' class="np_nav_link classic_link btn btn-action">[% curpage + 1 %] + [%- END; curpage = curpage + 1; END; END %] + + + + [% IF count > limit + offset %] limit, offset => (offset + limit)}) %]' + >[% l('Next') %]►[% END %] +
+ + + + +

+ [% IF ctx.hold_suspend_post_capture; l('One or more holds could not be suspended because the item is at (or en route to) the pickup library.'); END; %] +

+

[% l('Export List') %] - +

-
[% IF ctx.holds.size && ctx.holds.size < 1 %] @@ -65,7 +48,7 @@ [% l('No holds found.') %]
[% ELSE %] - +
@@ -81,7 +64,7 @@ PROCESS get_marc_attrs args=attrs; ahr = hold.hold.hold %] - + @@ -111,8 +99,7 @@ diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/holds.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/holds.tt2 old mode 100644 new mode 100755 index 960d67c3af..e206819d80 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/holds.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/holds.tt2 @@ -4,79 +4,28 @@ PROCESS "opac/parts/myopac/column_sort_support.tt2"; WRAPPER "opac/parts/myopac/base.tt2"; myopac_page = "holds"; + parent="holds"; limit = (ctx.holds_limit.defined) ? ctx.holds_limit : 0; offset = (ctx.holds_offset.defined) ? ctx.holds_offset : 0; count = (ctx.holds_ids.size.defined) ? ctx.holds_ids.size : 0; %] -

[% l('My Holds') %]

-
-
- -
-
-
- - [% IF CGI.param("available"); +

[% IF CGI.param("available"); l("Items Ready for Pickup"); ELSE; l("Current Items on Hold"); END - %] - -

-
+ %] +
-
- - - - - - -
-
-
- limit,offset => (offset - limit)}) %]' - [% IF offset <= 0 %] class='invisible' [% END %]>◄[% l('Previous') %] - [% IF offset > 0 || count > limit; curpage = 0; WHILE curpage * limit < count; IF curpage * limit == offset; %] - [% curpage + 1 %] - [%- ELSE %] - limit, offset => (curpage * limit)}) %]' class="np_nav_link classic_link btn btn-outline-primary">[% curpage + 1 %] - [%- END; curpage = curpage + 1; END; END %] -
-
- - [% IF ctx.hold_suspend_post_capture; l('One or more holds could not be suspended because the item is at (or en route to) the pickup library.'); END; %] - - - +
+ +
+ + + +

[% IF CGI.param("available") -%] [% l('Show all holds') %] | [% l("Show only available holds") %] @@ -84,29 +33,53 @@ [% l("Show all holds") %] | [% l("Show only available holds") %] [% END -%] - - - [% l('Holds Help') %] - + + + +

+ +
+
+ [% IF offset != 0 %] limit,offset => (offset - limit)}) %]' + >◄[% l('Previous') %] [% END %] -
- limit, offset => (offset + limit)}) %]' - [% IF count <= limit + offset %] class='invisible' [% END %] >[% l('Next') %]► + [% IF offset > 0 || count > limit; curpage = 0; WHILE curpage * limit < count; IF curpage * limit == offset; %] + [% curpage + 1 %] + + [%- ELSE %] + limit, offset => (curpage * limit)}) %]' class="np_nav_link classic_link btn btn-action">[% curpage + 1 %] + [%- END; curpage = curpage + 1; END; END %] + + [% IF ctx.hold_suspend_post_capture; l('One or more holds could not be suspended because the item is at (or en route to) the pickup library.'); END; %] + + + + [% IF count > limit + offset %] limit, offset => (offset + limit)}) %]' + >[% l('Next') %]►[% END %] + +
+ +
- + [% IF ctx.holds.size && ctx.holds.size < 1 %]
[% l('No holds found.') %]
[% ELSE %] +
+ + + +
[% l('Title') %]
Title @@ -90,18 +73,23 @@ + [% IF attrs.author; %] Author + [% END %] -
+
[% IF attrs.format_icon %] - [% attrs.format_label | html %] + [% attrs.format_label | html %] [% END %] + [% attrs.format_label | html %]
Format [% attrs.format_label | html %]
Hold Status -
- [% PROCESS get_hold_status hold=hold; %] +
[% PROCESS get_hold_status hold=hold; %]
+ class="table table-hover table-bordered miniTable activeHoldstable w-100 my-3"> - + @@ -114,6 +87,7 @@ + @@ -173,13 +147,12 @@ ahr = hold.hold.hold; cnt = cnt + 1; %] - + @@ -241,7 +212,7 @@ @@ -260,6 +231,7 @@ @@ -267,9 +239,8 @@ [% END %]
- + - [% sort_head("sort_title", l('Title')) %] [% sort_head("author", l('Author')) %] [% sort_head("format", l('Format')) %][% l('Cancel if not filled by') %] [% l('Status') %] [% l('Notes') %][% l('Edit') %]
Hold Number [% cnt; %] + aria-label="Select Hold"/> Title @@ -190,8 +163,7 @@ END; %] + hold.hold.bre_id, {}, 1) %]"> [%- title.substr(0,hold.ATTRS.nonfiling_characters) | html %] [%- title.substr(hold.ATTRS.nonfiling_characters) | html %] @@ -224,8 +196,7 @@ FOR format IN formats %] [% format.label | html %] - [% format.label | html %] + [% format.label | html %] [% END %] Status -
+
[% PROCESS get_hold_status hold=hold; %]
+ [% l('Edit') %]
-
[% END %] -
+
[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/holds/edit.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/holds/edit.tt2 old mode 100644 new mode 100755 index eeff1fbc37..a3fd196dc1 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/holds/edit.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/holds/edit.tt2 @@ -16,67 +16,59 @@ expire_time = ahr.expire_time ? date.format(ctx.parse_datetime(ahr.expire_time), DATE_FORMAT) : ''; thaw_date = ahr.thaw_date ? date.format(ctx.parse_datetime(ahr.thaw_date), DATE_FORMAT) : ''; %] -

[% l('Edit Hold') %]

-
+ +
- [% l('Editing Hold') %] -         - [% l('List all holds') %] +

[% l('Edit Hold') %]

+ [% l('List all holds') %]
+
- [% IF hold; - title = attrs.title; + [% IF hold; title = attrs.title; IF ahr.hold_type == 'P'; title = l('[_1] ([_2])', title, hold.hold.part.label); END - %]
+ %] +

[% title | html %]

[% attrs.author | html %]

- [% IF attrs.format_icon %]

- [% l('Format:') %] + [% IF attrs.format_icon %] + [% l('Format:') %] [% attrs.format_label | html %] -

[% END %]
-

- [% l('Status') %]: [% hold.human_status %] -

- - - - - - - [% IF hold.hold.status < 3 OR hold.hold.status == 7 %] + +
+ [% IF hold.hold.status < 3 OR hold.hold.status == 7 %] [%# The following actions cannot be performed on holds that have already been captured... %] -
- - - - - - - - - - - + +
+ +
+ +
+
+ + [% END %] - - - - -
- + [% END %] + + +
+
+ [% l('Status') %]: [% hold.human_status %] +
+
+ [% l('Pickup library') %] -
+ [% INCLUDE build_org_selector name='pickup_lib' value=ahr.pickup_lib can_have_vols_only=1 hold_pickup_lib=1 %] -
+ [% l('Cancel unless filled by') %] - - -

[% l('Enter date in MM/DD/YYYY format') %]

- + +
+ +
+ +
+
-
+ [% l('Active?') %] - + -
+ [% l('If suspended, activate on') %] - - -

[% l('Enter date in MM/DD/YYYY format') %]

-
+ +
+ [% IF hold.metarecord_filters.formats.size OR (hold.metarecord_filters.langs.size.defined && hold.metarecord_filters.langs.size > 1); PROCESS metarecord_hold_filters_selector hold_data=hold; END %] -
- - - -
+
+
+ [% l('Go Back') %] + +
+
[% ELSE; l('Hold not found'); END %]
+ [% END %] + diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/list/print.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/list/print.tt2 new file mode 100755 index 0000000000..fa3988f7f0 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/list/print.tt2 @@ -0,0 +1 @@ +[%- ctx.csv.template_output.data -%] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/list/update.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/list/update.tt2 new file mode 100755 index 0000000000..f12dade63d --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/list/update.tt2 @@ -0,0 +1,37 @@ +[% PROCESS "opac/parts/header.tt2"; + PROCESS "opac/parts/misc_util.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "lists/update" +%] + + + +[% IF ctx.bucket_action_failed %] +
+

[% l("Problem with list management:") %]

+
+ [% IF ctx.bucket_action == 'create' %] + [% IF ctx.bucket_failure_noname %] +

[% l('A list name is required') %]

+ [% END %] + [% END %] +
+
+ [% url = ctx.referer; + # The return link should return the user to the page where the edit + # failure occurred. + # mkurl() does not support 'page' params w/ existing CGI params. + # build the URL manually. + IF ctx.where_from; + from = ctx.where_from | uri; + IF url.match('\?'); + url = url _ ';where_from=' _ from; + ELSE; + url = url _ '?where_from=' _ from; + END; + END; %] + [% l('Return') %] +
+
+[% END %] +[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/lists.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/lists.tt2 old mode 100644 new mode 100755 index e9e2738ac2..c5aed2dc07 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/lists.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/lists.tt2 @@ -11,12 +11,14 @@ "To see the public view of a shared list, " _ "click on the HTML View link in the Saved Lists section."); %] -

[% l('My Lists') %]

+ + +

[% l('My Lists') %]

-

[% l('Create New List') %]

+

[% l('Create New List') %]

[% IF ctx.mylist.size %] @@ -66,7 +64,7 @@
@@ -47,17 +49,13 @@ -
-
  - -     - + + +
- [% IF CGI.param('from_basket'); %] + [% IF CGI.param('from_basket'); %]

[% l("... from basket") %]

[% INCLUDE "opac/parts/anon_list.tt2" %] [% ELSE %]

[% l("My Existing Basket and Lists") %]

[% INCLUDE "opac/parts/anon_list.tt2" %] - + [% IF ctx.bookbags.size %]
[% l('Saved Lists') %] @@ -146,13 +138,12 @@ [%- END; -%] [% END %]
-
[% FOR bbag IN ctx.bookbags %]
- @@ -177,7 +171,7 @@ [% IF ctx.where_from %] [% END %] - + [% END %] @@ -187,27 +181,20 @@ [%- INCLUDE "opac/parts/preserve_params.tt2"; %] [% IF bbag.pub != 't' %] - + [% ELSE %] - + [% END %] - -
- - - [%- INCLUDE "opac/parts/preserve_params.tt2"; %] - -
- +
[%- INCLUDE "opac/parts/preserve_params.tt2"; %] - +
[% setting = 'opac.default_list'; %] @@ -217,16 +204,16 @@ [%- INCLUDE "opac/parts/preserve_params.tt2"; %] [% IF ctx.user_setting_map.$setting == bbag.id %] - + [% ELSE %] - + [% END %] [% IF ctx.is_staff %]
- + >
[% END %] + [% IF bbag.pub == 't'; %]
- [% IF bbag.pub == 't'; %] - '0', bookbag => bbag.id, depth => 0, locg => ctx.search_ou}, 1 ) - -%]'>[% l('View in Catalogue') %] - [% END %] - [% IF bbag.pub == 't'; %] - [% l('RSS Feed') %] - [% END %] + -%]'> [% l('View in Catalogue') %] +
+ [% END %] + +
+ + + [%- INCLUDE "opac/parts/preserve_params.tt2"; %] + +
+
+
[% baseurl = ctx.opac_root _ '/myopac/lists'; IF bbag.id != CGI.param("bbid"); @@ -162,7 +153,10 @@ url = mkurl(baseurl, {}, ['bbid', 'edit_notes', 'sort']); ltitle = l("Hide items in list"); END %] -

[% bbag.name | html %]

+

[% bbag.name | html %][% IF bbag.pub == 't'; %] + + + [% END %]

[% IF bbag.description %]
[% bbag.description | html %]
[% END %]
-
[% IF CGI.param("bbid") == bbag.id %] -
- [% IF bbag.items.size %] -
-
- -
-
- [% END %] -
-
- - - - - [%- INCLUDE "opac/parts/preserve_params.tt2"; %] - - - - - - - - - - - - - -
Edit List Description
- - -
- - - -
- [% l("Save changes?") %] - -
-
-
-
-
+
List Items
@@ -325,22 +267,24 @@
[% IF bbag.items.size %]
- - [%- INCLUDE "opac/parts/preserve_params.tt2"; %] - - [% IF CGI.param('list_none_selected') %] - [% l('No items were selected') %] - [% END %] + + + +
[% END %] - +
+
+ + + + + +
@@ -443,7 +387,7 @@ [% END %] @@ -453,7 +397,7 @@ - + [% IF ctx.bb_page_count > 1; %]
[% l('Navigate Selected List ') %]
@@ -503,16 +447,16 @@ [%- END; -%]
-
[% END %]
- + [% END %] [% END %] [% END %][% END %] - + + [% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/main.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/main.tt2 old mode 100644 new mode 100755 index 99ed0ea7fa..deb65ae652 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/main.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/main.tt2 @@ -1,232 +1,82 @@ [% PROCESS "opac/parts/header.tt2"; PROCESS "opac/parts/misc_util.tt2"; - WRAPPER "opac/parts/myopac/main_base.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; myopac_page = "main"; myopac_main_page = "main"; - myopac_cc_allowed = 0; - IF (ctx.fines.grocery.size OR ctx.fines.circulation.size) AND ctx.get_org_setting(ctx.user.home_ou, 'credit.payments.allow') == 1; - myopac_cc_allowed = 1; - END + IF date.format(ctx.parse_datetime(ctx.user.expire_date), '%s') < date.format(date.now , '%s'); + fmt_expire_date = date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT); + ctx.expired_card = "true"; + END; %] -

[% l('My Account Summary') %]

-[% IF myopac_cc_allowed; - # http://www.w3.org/TR/WCAG20-TECHS/H32.html - # avoid forms w/ no submit action %] - -[% END %] - - [% IF ctx.fines.circulation.size > 0 %] -
- -
- - - [% IF myopac_cc_allowed %] - [% l("Pay Selected Circulation Charges") %] - [% ELSE %] - [% l("Circulation Charges") %] - [% END %] - - -
- -
[%- INCLUDE "opac/parts/preserve_params.tt2"; %] - +
- - - - [% IF myopac_cc_allowed %] - - [% END %] - - - - - - - - - - - [% FOR f IN ctx.fines.circulation; - attrs = {marc_xml => f.marc_xml}; - IF f.marc_xml; - PROCESS get_marc_attrs args=attrs; - ELSIF f.xact.reservation; - attrs.title = f.xact.reservation.target_resource_type.name; - END %] - - [% IF myopac_cc_allowed %] - - [% END %] - - - - - - - - - - + +
+ + + +

+ + + + - + + + - - [% END %] - -
- - [% l("Owed") %][% l("Billing Type") %][% l("Title") %][% l("Checkout") %][% l(" Due ") %] - [% l(" Returned/Renewed") %] - [% l(" Returned*") %] -
- - - - [% money(f.xact.balance_owed) %] - - - [% f.xact.last_billing_type %] - - [% recid = f.xact.circulation.target_copy.call_number.record.id || f.xact.reservation.target_resource_type.record.id; - IF recid; %] - [% attrs.title | html %] - [% ELSE %] - [% attrs.title | html %] +
+
+
+

[% l('My Account Summary') %]

+
+
+ + [% l("Account Expiration Date - ") %] + [% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %] + +
+
+ [% IF ctx.expired_card %] + + + [% l("
Your library card has expired.
Please contact a librarian to resolve this issue.", fmt_expire_date) %] +
+
[% END %] -
- [% ts = f.xact.circulation.xact_start || f.xact.reservation.start_time || 0; - IF ts; - date.format(ctx.parse_datetime(ts), DATE_FORMAT); - END %] - - [% ts = f.xact.circulation.due_date || f.xact.reservation.end_time || 0; - due_org = f.xact.circulation.circ_lib || f.xact.reservation.pickup_lib; - IF ts; - date.format(ctx.parse_datetime(ts, due_org), DATE_FORMAT); - END %] - - [% ts = f.xact.circulation.checkin_time || f.xact.reservation.return_time || 0; - IF ts; - date.format(ctx.parse_datetime(ts), DATE_FORMAT); - ELSE %] - - [% l('(fines accruing)') %] - [% END %] -
- - *Items may have been renewed. +
- [% END %] + [% content %] +
- [% IF ctx.fines.grocery.size > 0 %] - -
-

- [% l("Charges On Your Account") %] -

- - - - - - - [% IF myopac_cc_allowed %] - - [% END %] - - - - - - - - - - [% c = 0; %] - [% FOR f IN ctx.fines.grocery %] - - [% c = c + 1; %] - [% IF myopac_cc_allowed %] - - [% END %] - - - - - - - - - - - [% END %] - -
- - [% l("Owed") %][% l("Billing Type") %][% l("Note") %][% l("Date") %]
- Billing Number [% c %] - - - Amount Owed - - [% money(f.xact.balance_owed) %] - - - Billing For - [% f.xact.last_billing_type %] - - [% IF f.xact.last_billing_note; %] - Note - [% f.xact.last_billing_note %] - [% END %] - - Date of Billing - [% date.format(ctx.parse_datetime(f.xact.xact_start),DATE_FORMAT) %] -
- -
- [% END %] - [% UNLESS ctx.fines.grocery.size OR ctx.fines.circulation.size %] -
[% l('You have no current fines.') %]
- [% ELSIF myopac_cc_allowed %] - -
- - -
- [% END %] -[% IF myopac_cc_allowed %] - -[% END %] [% END %] - - \ No newline at end of file diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/main_pay.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/main_pay.tt2 old mode 100644 new mode 100755 index 5f59e53c54..8c0da574a8 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/main_pay.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/main_pay.tt2 @@ -26,8 +26,8 @@ %]
- [% l('Account Home') %] - [% l('Try Payment Again') %] + [% l('Account Home') %] + [% l('Try Payment Again') %]

[% ELSE %]

[% l('Your payment has been approved.') %] @@ -39,7 +39,7 @@ [% l('Print receipt') %]

+ onclick="try { print_node('printable-receipt'); } catch (e) { window.print(); } return false;"> [% l('Print receipt') %]


[% ctx.printable_receipt.template_output.data %] @@ -56,8 +56,7 @@ ) | html %]
[% END %] -

[% - l("Back to Account Summary") %]

+

[% l("Back to My Acccount") %]

[% END %]
[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/main_pay_init.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/main_pay_init.tt2 new file mode 100755 index 0000000000..835571070f --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/main_pay_init.tt2 @@ -0,0 +1,15 @@ +[% PROCESS "opac/parts/header.tt2"; + PROCESS "opac/parts/misc_util.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "main"; + myopac_main_page = "pay" %] +
+ +
+ [% l('Processing...') %]

+ [% l('Processing your payment may take some time.') %]
+ [% l("Please do not Refresh or use your browser's Back button or your credit card may be charged more than once.") %]
+
+ +
+[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/main_payment_form.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/main_payment_form.tt2 old mode 100644 new mode 100755 index de357f55cc..6fa08fccd8 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/main_payment_form.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/main_payment_form.tt2 @@ -1,6 +1,6 @@ [% PROCESS "opac/parts/header.tt2"; PROCESS "opac/parts/misc_util.tt2"; - WRAPPER "opac/parts/myopac/main_base.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; myopac_page = "main"; myopac_main_page = "payment_form"; @@ -25,12 +25,12 @@ "browser settings and try again.") %] [% END %] +
+
[% IF last_chance %] +

[% l("Confirm Payment") %]

-

[% l("Are you sure you are ready to charge ") %] - [% l("[_1] ", money(ctx.fines.balance_owed))%] - [% l("to your credit card?") %]

[% FOR k IN CGI.Vars; NEXT UNLESS k; @@ -38,15 +38,17 @@ [% END; END %] - - [% l('Cancel') %] - + + [% l('Cancel') %] +

[% l("Are you sure you are ready to charge ") %] + [% l("[_1] ", money(ctx.fines.balance_owed))%] + [% l("to your credit card?") %]

+ class="table my-2"> - + @@ -77,13 +79,7 @@
[% l('Charge/Fee') %][% l('Amount') %][% l('Amount') %]
-

- [% l("Are you sure you are ready to charge ") %] - [% l("[_1] ", money(ctx.fines.balance_owed))%] - [% l("to your credit card?") %]

- - [% l('Cancel') %] - [% ELSE %] + [% ELSE %]
+ class='table table-hover table-bordered miniTable paymentTable'> @@ -52,11 +56,11 @@ Receipt Options: - + - + diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/messages.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/messages.tt2 new file mode 100755 index 0000000000..1cecd7041f --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/messages.tt2 @@ -0,0 +1,16 @@ +[% PROCESS "opac/parts/header.tt2"; + PROCESS "opac/parts/misc_util.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "messages"; + limit = (ctx.patron_messages_limit.defined) ? ctx.patron_messages_limit : 20; + offset = (ctx.patron_messages_offset.defined) ? ctx.patron_messages_offset : 0; + count = (ctx.patron_messages_count.defined) ? ctx.patron_messages_count : 0; + display_single = (ctx.display_single_message.defined) ? ctx.display_single_message : 0; +%] +

[% l('My Messages') %]

+[% IF display_single; + PROCESS "opac/myopac/messages/single_message.tt2"; +ELSE; + PROCESS "opac/myopac/messages/list.tt2"; +END %] +[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/messages/list.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/messages/list.tt2 old mode 100644 new mode 100755 index 9b0dbd8b98..d1293bd807 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/messages/list.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/messages/list.tt2 @@ -1,26 +1,39 @@
-
- [% l("Messages") %]
- - limit, offset => (offset - limit)} ) %]' - [% IF offset <= 0 %] class='invisible' [% END %]>[% l('Previous') %] +

[% l("Messages") %]

+
+ + + + + +
-
[% IF ctx.message_update_action.defined %] [% IF ctx.message_update_changed > 0 %]
@@ -47,60 +60,44 @@
[% END %] [% END %] -
-
- - - - - - - +
+ + +
[% IF count < 1 %]
[% l('No messages found.') %]
[% ELSE %] +
+ + +
[% l('Payment Date') %] [% l('Payment For') %]
+ class="table table-hover table-bordered miniTable messagesTable"> - + - + [% FOR message IN ctx.patron_messages; %] - - + [% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/messages/single_message.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/messages/single_message.tt2 old mode 100644 new mode 100755 index f79f0093e8..2d749734a3 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/messages/single_message.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/messages/single_message.tt2 @@ -1,51 +1,44 @@
-
- [% l("Message") %]
-
-
+

[% l("Messages") %]

- + + [% l('Return to Message List') %] - + + - -
- + - [% l('Date') %] [% l('Library') %] [% l('Subject') %]
+
Message Number [% count; %] + [% html_text_attr('aria-label', l('Select message [_1]', message.title)) %]/> Date of Message @@ -116,7 +113,7 @@ Message Options - Read + Read
- - - - - - - - - - - - - - - - - - -
[% l("Date") %][% date.format(ctx.parse_datetime(ctx.patron_messages.0.create_date), DATE_FORMAT); %]
[% l("Library") %][% ctx.patron_messages.0.library | html %]
[% l("Subject") %][% ctx.patron_messages.0.title | html %]
[% l("Message") %][% ctx.patron_messages.0.message | html %]
+
+
+ [% l("Date") %] + [% date.format(ctx.parse_datetime(ctx.patron_messages.0.create_date), DATE_FORMAT); %] +
+
+ [% l("Library") %] + [% ctx.patron_messages.0.library | html %] +
+
+ [% l("Subject") %] + [% ctx.patron_messages.0.title | html %] +
+
+ [% l("Message") %] + [% ctx.patron_messages.0.message | html %] +
+
diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs.tt2 old mode 100644 new mode 100755 index 849f836b63..00cb39ad5b --- a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs.tt2 @@ -1,17 +1,16 @@ [% PROCESS "opac/parts/header.tt2"; - WRAPPER "opac/parts/myopac/prefs_base.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; myopac_page = "prefs"; + parent="prefs"; prefs_page = 'prefs' %] - -

[% l('Account Preferences') %]

+

[% l('Account Information and Preferences') %]

- +
- [% IF ctx.user.pref_first_given_name || ctx.user.pref_second_given_name || ctx.user.pref_family_name %] - + [%- ELSE %] - + [%- END %] @@ -78,8 +76,8 @@ [%- IF disable_password_change == 'true' %] [%- ELSE %] - [% l("Change") %] + [% l("Change") %] [%- END %] @@ -90,8 +88,8 @@ [%- IF disable_email_change == 'true' %] [%- ELSE %] - [% l('Change') %] + [% l('Change') %] [%- END %] @@ -119,8 +117,24 @@ - - + @@ -131,8 +145,7 @@ + [% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %] [% ELSE %] [% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %] [% END %] @@ -149,7 +162,7 @@
[% l("Name") %][% l( + [% l( HUMAN_NAME_FORMAT, ctx.user.prefix, ctx.user.first_given_name, @@ -24,8 +23,7 @@
[% l("Preferred Name") %][% l("Preferred Name") %] [% l( HUMAN_NAME_FORMAT, @@ -67,8 +65,8 @@ [%- IF ctx.username_change_disallowed %] [% l("Change") %] [% l("Change") %]
[% l("Home Library") %][% ctx.user.home_ou.name | html %] + [% ctx.get_aou(ctx.user.home_ou.parent_ou).name %]
+ [% ctx.user.home_ou.name | html %]
+ [% ctx.user.home_ou.billing_address.street1 %]
+ [% IF ctx.user.home_ou.billing_address.street2; ctx.user.home_ou.billing_address.street2 _ "
"; END %] + [% ctx.user.home_ou.billing_address.city %], [% ctx.user.home_ou.billing_address.state %] + [% ctx.user.home_ou.billing_address.post_code %]
+
+ + [% IF ctx.user.home_ou.phone; ctx.user.home_ou.phone _ "
"; END %] + + [% IF ctx.user.home_ou.email; ctx.user.home_ou.email _ "
"; END %] + [% lib_url = ctx.get_org_setting(ctx.user.home_ou.id, 'lib.info_url'); + IF lib_url; + ''; lib_url; ''; + END; + %] +
[% l("Account Creation Date") %][% l("Account Expiration Date") %] [%- IF date.format(ctx.parse_datetime(ctx.user.expire_date), '%s') < date.format(date.now , '%s'); -%] - [% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %] -

-
+

@@ -176,15 +189,16 @@ cur_id = addr.id; pending_addr = pending.$cur_id; %] -
- +
+
- + + [% END %] - + @@ -226,12 +242,9 @@
[% IF pending_addr OR edit_addr_id == cur_id; update_addr = pending_addr || addr %] - +
[% IF pending_addr %] @@ -215,10 +229,12 @@
[% params = (pending_addr) ? {delete_pending => pending_addr.id} : {} %] - [% l('Discard Pending Address') %] + [% l('Discard Pending Address') %]
[% l('This address has a pending change.') %]
- - - -
- [% ELSE %] -
+ [% ELSE %] + + @@ -244,15 +257,18 @@ [% IF ctx.get_org_setting(ctx.user.home_ou.id, 'opac.allow_pending_address') AND !pending_addr AND edit_addr_id != cur_id %] - + [% END %]
[% l("Address Type") %][% addr.address_type | html %]
[% l("Zip") %][% addr.post_code | html %]
[% l('Edit Address') %]
[% l('Edit Address') %]
-
- [% END %] + + + [% END %] + + + +
[% END %] -
-
-
+ [% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_my_lists.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_my_lists.tt2 old mode 100644 new mode 100755 index 0458c5d1f3..1b4420e1b5 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_my_lists.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_my_lists.tt2 @@ -1,10 +1,11 @@ [% PROCESS "opac/parts/header.tt2"; - WRAPPER "opac/parts/myopac/prefs_base.tt2"; - myopac_page = "prefs"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "prefs_my_lists"; + parent="prefs"; prefs_page = 'prefs_my_lists' %] -

[% l('List Preferences') %]

+

[% l('List Preferences') %]

- + [%- setting = 'opac.list_items_per_page' -%] - +
- [% UNLESS ctx.user_setting_map.$setting; ctx.user_setting_map.$setting = 10; END; @@ -33,17 +34,16 @@ selected='selected'[% END %]>[% val | html %] [% END %] - [% l('List Items Help') %] + + +
- [% UNLESS ctx.user_setting_map.$setting; ctx.user_setting_map.$setting = 10; END; @@ -53,15 +53,15 @@ selected='selected'[% END %]>[% val | html %] [% END %] - [% l('List Items Help') %] + + +
- +
[% INCLUDE "opac/parts/myopac/prefs_hints.tt2" %] + [% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_notify.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_notify.tt2 old mode 100644 new mode 100755 index de1dbbb694..c98a8b5093 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_notify.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_notify.tt2 @@ -1,9 +1,10 @@ [% PROCESS "opac/parts/header.tt2"; - WRAPPER "opac/parts/myopac/prefs_base.tt2"; - myopac_page = "prefs"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "prefs_notify"; + parent="prefs"; prefs_page = 'prefs_notify' %] -

[% l('Notification Preferences') %]

+

[% l('Notification Preferences') %]

[% setting = 'opac.hold_notify' %] - +
[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_settings.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_settings.tt2 old mode 100644 new mode 100755 index 853c65fdac..947d6631b0 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_settings.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/prefs_settings.tt2 @@ -1,10 +1,11 @@ [% PROCESS "opac/parts/header.tt2"; PROCESS "opac/parts/org_selector.tt2"; - WRAPPER "opac/parts/myopac/prefs_base.tt2"; - myopac_page = "prefs"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "prefs_settings"; + parent="prefs"; prefs_page = 'prefs_settings' %] -

[% l('Search and History Preferences') %]

+

[% l('Search and History Preferences') %]

@@ -19,9 +20,9 @@
[% l('Are you sure you wish to continue?') %]
- [% l('Cancel') %] + [% l('Cancel') %] - +
[% ELSIF ctx.updated_user_settings OR ctx.updated_waiver_entries %] @@ -34,9 +35,9 @@ [%- setting = 'opac.hits_per_page' -%] - + - [% UNLESS ctx.user_setting_map.$setting; ctx.user_setting_map.$setting = 10; END; @@ -46,14 +47,14 @@ selected='selected'[% END %]>[% val | html %] [% END %] - [% l('Search Hits Help') %] + + + [%- setting = 'opac.default_search_location'; -%] - + [%- thang = ctx.user.home_ou.id; IF ctx.user_setting_map.$setting; @@ -66,7 +67,7 @@ [%- setting = 'opac.default_pickup_location'; -%] - + [%- thang = ctx.user.home_ou.id; IF ctx.user_setting_map.$setting; @@ -178,7 +179,7 @@ [% IF !ctx.confirm_history_delete %] - + [% END %] [% INCLUDE "opac/parts/myopac/prefs_hints.tt2" %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/receipt_email.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/receipt_email.tt2 new file mode 100755 index 0000000000..15b744f8cf --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/receipt_email.tt2 @@ -0,0 +1,21 @@ +[% PROCESS "opac/parts/header.tt2"; + PROCESS "opac/parts/misc_util.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "prefs" %] + [% IF ctx.email_receipt_result; # result should be undef on success %] +
+ [% l('Error preparing receipt:') %] + + [% ctx.email_receipt_result.desc | html %] + +
+ [% ELSE %] +
+ [% l('Your receipt will be emailed to [_1]', ctx.user.email) | html %] +
+ [% END %] +

+ [ [% + l("Back to Payments History") %] ] +

+[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/receipt_print.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/receipt_print.tt2 new file mode 100755 index 0000000000..64237e2cd4 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/receipt_print.tt2 @@ -0,0 +1,26 @@ +[%# sic! no wrapper %] + + + + [% l('Receipt') %] + + + [% IF ctx.printable_receipt.template_output %] + + [% ctx.printable_receipt.template_output.data %] + + [% ELSE %] +
+ [% l( + 'Error preparing receipt: [_1]', + (ctx.printable_receipt.textcode ? ctx.printable_receipt.textcode _ ' / ' _ ctx.printable_receipt.desc : 0) || + ctx.printable_receipt.error_output.data || + l('No receipt data returned from server') + ) | html %] +
+ [% END %] +
+

[ [% + l("Back to Payments History") %] ]

+ + diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/reservations.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/reservations.tt2 new file mode 100755 index 0000000000..ff995fccbe --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/reservations.tt2 @@ -0,0 +1,39 @@ +[% PROCESS "opac/parts/header.tt2"; + PROCESS "opac/parts/misc_util.tt2"; + WRAPPER "opac/parts/myopac/base.tt2"; + myopac_page = "reservations"; +%] +

[% l('Reservations') %]

+[% IF ctx.reservations.size %] + + + + + + + + + [% FOREACH r IN ctx.reservations %] + + + + + + + + [% END %] +
[% l('Resource type') %][% l('Start time') %][% l('End time') %][% l('Pickup location') %][% l('Status') %]
[% r.resource_type_name %][% date.format(ctx.parse_datetime(r.start_time, r.pickup_lib), DATE_FORMAT _ ' %I:%M %p') %][% date.format(ctx.parse_datetime(r.end_time, r.pickup_lib), DATE_FORMAT _ ' %I:%M %p') %][% r.pickup_name %] + [% IF r.cancel_time %] + [% l('Canceled') %] + [% ELSIF r.pickup_time %] + [% l('Checked Out') %] + [% ELSIF r.capture_time %] + [% l('Ready for Pickup') %] + [% ELSE %] + [% l('Reserved') %] + [% END %] +
+[% ELSE %] + [% l('You have no current reservations') %] +[% END %] +[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/update_email.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/update_email.tt2 old mode 100644 new mode 100755 index 8f3787de6c..ce898cfa46 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/update_email.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/update_email.tt2 @@ -31,7 +31,7 @@ [% l('Current Password') %] [% l('New Email') %] - +
[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/update_password.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/update_password.tt2 old mode 100644 new mode 100755 index 1e661416ae..dcd8f4cac4 --- a/Open-ILS/src/templates-bootstrap/opac/myopac/update_password.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/update_password.tt2 @@ -34,7 +34,7 @@ [% l('New Password') %] [% l('New Password Again') %] - +
[% END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/update_password_msg.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/update_password_msg.tt2 new file mode 100755 index 0000000000..23d5914d3b --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/update_password_msg.tt2 @@ -0,0 +1,3 @@ +
+[% l('Note: The password must be at least 7 characters in length, contain at least one letter (a-z/A-Z), and contain at least one number.'); %] +
\ No newline at end of file diff --git a/Open-ILS/src/templates-bootstrap/opac/myopac/update_username.tt2 b/Open-ILS/src/templates-bootstrap/opac/myopac/update_username.tt2 old mode 100644 new mode 100755 index 6c01af074c..5d40fb65dd --- a/Open-ILS/src/templates-bootstrap/opac/myopac/update_username.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/myopac/update_username.tt2 @@ -32,7 +32,7 @@ [% l('Current Username') %][% ctx.user.usrname | html %] [% l('Current Password') %] [% l('New Username') %] - + diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/acjs.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/acjs.tt2 new file mode 100755 index 0000000000..fa76861e65 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/parts/acjs.tt2 @@ -0,0 +1,76 @@ + + diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/advanced/expert.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/advanced/expert.tt2 old mode 100644 new mode 100755 index bb88c53916..68ca9f9ef4 --- a/Open-ILS/src/templates-bootstrap/opac/parts/advanced/expert.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/parts/advanced/expert.tt2 @@ -1,5 +1,6 @@
-
[% l("Expert Search") %]
+

Expert Search

+

Search the MARC record.

@@ -8,14 +9,7 @@
- +
@@ -34,17 +28,23 @@
+
+ +
- [% l("Add Search Row") %] + [% l("Add Search Row") %] - [%- lib_select_id = "expert_search_library"; -%] - + [%- lib_select_id = "adv_org_selector"; -%] +
- +
-

+ [% IF CGI.param('from_basket') %] -
[% l('Clear basket after holds are requested?') %]
+ +
+ + +
[% END %] [% IF NOT metarecords.disabled AND ctx.hold_data.size == 1 %] [% IF CGI.param('hold_type') == 'T' AND hdata.record.metarecord AND !hdata.part_required %] [% bre_id = hdata.target.id %] - + [% l('Advanced Hold Options') %] [% END %] [% IF CGI.param('hold_type') == 'M' AND CGI.param('bre_id') %] - + [% l('Basic Hold Options') %] [% END %] [% IF hdata.metarecord_filters.formats.size OR # should this be size > 1 @@ -285,11 +314,9 @@ function maybeToggleNumCopies(obj) { END; END %]
- + [% END # some_holds_allowed %] - +
diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/place_hold_result.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/place_hold_result.tt2 old mode 100644 new mode 100755 index f02b8e5a80..a32781f4fc --- a/Open-ILS/src/templates-bootstrap/opac/parts/place_hold_result.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/parts/place_hold_result.tt2 @@ -14,8 +14,9 @@ function disable_submit() { }; -
-

[% l('Place Hold') %]

+
+
+

[% l('Place Hold') %]

@@ -37,19 +38,21 @@ function disable_submit() { override = 1; END; %] + [% IF override %] + checked='checked' /> + [% END %] [% IF hdata.parts %] [% END %] -
+ [% IF hdata.hold_success %] -
[% l("Hold was successfully placed for: "); %]
+
[% l("Hold was successfully placed for: "); %]
[% title = attrs.title_extended; IF hdata.selected_part AND hdata.parts AND hdata.parts.size > 0; @@ -60,18 +63,20 @@ function disable_submit() { END; END; %] - -

[% title | html %]

+ + +

[% title | html %]

+
[% IF hdata.frozen %] -
+ [% l("Hold is suspended") %] [% IF hdata.thaw_date %]
[% l("Reactivate on [_1]", date.format(ctx.parse_datetime(hdata.thaw_date), DATE_FORMAT)); END %] -
+ [% END %] - +
[% IF ctx.is_staff %] @@ -340,93 +340,81 @@ ctx.metalinks.push('
-
-
+
+
[%- search_ou = ctx.search_ou; IF ctx.place_unfillable || ( attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size && (ctx.holds_block.enabled != 'true' || !attrs.org_copy_counts.$search_ou.available) ) %] - + class="no-dec"> + [% l('Place Hold') %] +
[%- END -%] [%- IF ebook_api.enabled == 'true' && args.ebook %] - -
+
- +
[%- END -%] -
+
[% operation = ctx.mylist.grep('^' _ ctx.bre_id _ '$').size ? "delete" : "add"; addhref = mkurl(ctx.opac_root _ '/mylist/add', {record => ctx.bre_id}, stop_parms); delhref = mkurl(ctx.opac_root _ '/mylist/delete', {record => ctx.bre_id}, stop_parms); label = (operation == "add") ? l("Add to Basket") : l("Remove from Basket"); %] - - + [% l("Add to basket") %] - - + [% l("Remove from basket") %]
[% IF ctx.mylist.size %] - - [% END %] -
- [% IF !ctx.is_staff %] - [% IF ctx.user; - INCLUDE "opac/parts/bookbag_actions.tt2"; - END; - %] - [% END %]
-
- [% l('Print / Email Actions Image') %] + [% END %] + + [% IF !ctx.is_staff %] + [% IF ctx.user; %] + [% INCLUDE "opac/parts/bookbag_actions.tt2"; %] + [% END; %] + [% END %] + + [% END %] [%- IF ctx.is_staff %] - +
[%- END %]
@@ -477,7 +464,7 @@ ctx.metalinks.push('
- +

[% l('Holds') %]

[% @@ -495,7 +482,7 @@ ctx.metalinks.push(' ctx.record_hold_count, ctx.copy_summary.$count_entry.count) %]

-
+
[%- @@ -577,5 +564,4 @@ ctx.metalinks.push('
[%- INCLUDE "opac/parts/record/extras.tt2" %] -
\ No newline at end of file diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/record/summaryplus.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/record/summaryplus.tt2 new file mode 100755 index 0000000000..23e21ea1a2 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/parts/record/summaryplus.tt2 @@ -0,0 +1,20 @@ +
+ [%- IF attrs.summary %] +
+ [% l('Summary: ') %] + [% FOR sum IN attrs.summaries %] + [% IF !loop.first; '
'; END %] + [% sum | html %] + [% END %] +
+ [%- END %] + [%- IF ENV.OILS_CONTENT_CAFE_USER %] + + [% ident = attrs.isbn_clean || attrs.upc %] + + [%- END %] +
+ diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/relators.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/relators.tt2 new file mode 100755 index 0000000000..ff9550d31a --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/parts/relators.tt2 @@ -0,0 +1,276 @@ +[%- +# Generated from http://www.loc.gov/marc/relators/relacode.html +# using the build/tools/relator_map script +relators = { + 'abr' => l('Abridger'), + 'acp' => l('Art copyist'), + 'act' => l('Actor'), + 'adi' => l('Art director'), + 'adp' => l('Adapter'), + 'aft' => l('Author of afterword, colophon, etc.'), + 'anl' => l('Analyst'), + 'anm' => l('Animator'), + 'ann' => l('Annotator'), + 'ant' => l('Bibliographic antecedent'), + 'ape' => l('Appellee'), + 'apl' => l('Appellant'), + 'app' => l('Applicant'), + 'aqt' => l('Author in quotations or text abstracts'), + 'arc' => l('Architect'), + 'ard' => l('Artistic director'), + 'arr' => l('Arranger'), + 'art' => l('Artist'), + 'asg' => l('Assignee'), + 'asn' => l('Associated name'), + 'ato' => l('Autographer'), + 'att' => l('Attributed name'), + 'auc' => l('Auctioneer'), + 'aud' => l('Author of dialog'), + 'aui' => l('Author of introduction, etc.'), + 'aus' => l('Screenwriter'), + 'aut' => l('Author'), + 'bdd' => l('Binding designer'), + 'bjd' => l('Bookjacket designer'), + 'bkd' => l('Book designer'), + 'bkp' => l('Book producer'), + 'blw' => l('Blurb writer'), + 'bnd' => l('Binder'), + 'bpd' => l('Bookplate designer'), + 'brd' => l('Broadcaster'), + 'brl' => l('Braille embosser'), + 'bsl' => l('Bookseller'), + 'cas' => l('Caster'), + 'ccp' => l('Conceptor'), + 'chr' => l('Choreographer'), + 'clb' => l('Collaborator'), + 'cli' => l('Client'), + 'cll' => l('Calligrapher'), + 'clr' => l('Colorist'), + 'clt' => l('Collotyper'), + 'cmm' => l('Commentator'), + 'cmp' => l('Composer'), + 'cmt' => l('Compositor'), + 'cnd' => l('Conductor'), + 'cng' => l('Cinematographer'), + 'cns' => l('Censor'), + 'coe' => l('Contestant-appellee'), + 'col' => l('Collector'), + 'com' => l('Compiler'), + 'con' => l('Conservator'), + 'cor' => l('Collection registrar'), + 'cos' => l('Contestant'), + 'cot' => l('Contestant-appellant'), + 'cou' => l('Court governed'), + 'cov' => l('Cover designer'), + 'cpc' => l('Copyright claimant'), + 'cpe' => l('Complainant-appellee'), + 'cph' => l('Copyright holder'), + 'cpl' => l('Complainant'), + 'cpt' => l('Complainant-appellant'), + 'cre' => l('Creator'), + 'crp' => l('Correspondent'), + 'crr' => l('Corrector'), + 'crt' => l('Court reporter'), + 'csl' => l('Consultant'), + 'csp' => l('Consultant to a project'), + 'cst' => l('Costume designer'), + 'ctb' => l('Contributor'), + 'cte' => l('Contestee-appellee'), + 'ctg' => l('Cartographer'), + 'ctr' => l('Contractor'), + 'cts' => l('Contestee'), + 'ctt' => l('Contestee-appellant'), + 'cur' => l('Curator'), + 'cwt' => l('Commentator for written text'), + 'dbp' => l('Distribution place'), + 'dfd' => l('Defendant'), + 'dfe' => l('Defendant-appellee'), + 'dft' => l('Defendant-appellant'), + 'dgg' => l('Degree granting institution'), + 'dgs' => l('Degree supervisor'), + 'dis' => l('Dissertant'), + 'dln' => l('Delineator'), + 'dnc' => l('Dancer'), + 'dnr' => l('Donor'), + 'dpc' => l('Depicted'), + 'dpt' => l('Depositor'), + 'drm' => l('Draftsman'), + 'drt' => l('Director'), + 'dsr' => l('Designer'), + 'dst' => l('Distributor'), + 'dtc' => l('Data contributor'), + 'dte' => l('Dedicatee'), + 'dtm' => l('Data manager'), + 'dto' => l('Dedicator'), + 'dub' => l('Dubious author'), + 'edc' => l('Editor of compilation'), + 'edm' => l('Editor of moving image work'), + 'edt' => l('Editor'), + 'egr' => l('Engraver'), + 'elg' => l('Electrician'), + 'elt' => l('Electrotyper'), + 'eng' => l('Engineer'), + 'enj' => l('Enacting jurisdiction'), + 'etr' => l('Etcher'), + 'evp' => l('Event place'), + 'exp' => l('Expert'), + 'fac' => l('Facsimilist'), + 'fds' => l('Film distributor'), + 'fld' => l('Field director'), + 'flm' => l('Film editor'), + 'fmd' => l('Film director'), + 'fmk' => l('Filmmaker'), + 'fmo' => l('Former owner'), + 'fmp' => l('Film producer'), + 'fnd' => l('Funder'), + 'fpy' => l('First party'), + 'frg' => l('Forger'), + 'gis' => l('Geographic information specialist'), + 'grt' => l('Graphic technician'), + 'his' => l('Host institution'), + 'hnr' => l('Honoree'), + 'hst' => l('Host'), + 'ill' => l('Illustrator'), + 'ilu' => l('Illuminator'), + 'ins' => l('Inscriber'), + 'inv' => l('Inventor'), + 'isb' => l('Issuing body'), + 'itr' => l('Instrumentalist'), + 'ive' => l('Interviewee'), + 'ivr' => l('Interviewer'), + 'jud' => l('Judge'), + 'jug' => l('Jurisdiction governed'), + 'lbr' => l('Laboratory'), + 'lbt' => l('Librettist'), + 'ldr' => l('Laboratory director'), + 'led' => l('Lead'), + 'lee' => l('Libelee-appellee'), + 'lel' => l('Libelee'), + 'len' => l('Lender'), + 'let' => l('Libelee-appellant'), + 'lgd' => l('Lighting designer'), + 'lie' => l('Libelant-appellee'), + 'lil' => l('Libelant'), + 'lit' => l('Libelant-appellant'), + 'lsa' => l('Landscape architect'), + 'lse' => l('Licensee'), + 'lso' => l('Licensor'), + 'ltg' => l('Lithographer'), + 'lyr' => l('Lyricist'), + 'mcp' => l('Music copyist'), + 'mdc' => l('Metadata contact'), + 'med' => l('Medium'), + 'mfp' => l('Manufacture place'), + 'mfr' => l('Manufacturer'), + 'mod' => l('Moderator'), + 'mon' => l('Monitor'), + 'mrb' => l('Marbler'), + 'mrk' => l('Markup editor'), + 'msd' => l('Musical director'), + 'mte' => l('Metal-engraver'), + 'mtk' => l('Minute taker'), + 'mus' => l('Musician'), + 'nrt' => l('Narrator'), + 'opn' => l('Opponent'), + 'org' => l('Originator'), + 'orm' => l('Organizer'), + 'osp' => l('Onscreen presenter'), + 'oth' => l('Other'), + 'own' => l('Owner'), + 'pan' => l('Panelist'), + 'pat' => l('Patron'), + 'pbd' => l('Publishing director'), + 'pbl' => l('Publisher'), + 'pdr' => l('Project director'), + 'pfr' => l('Proofreader'), + 'pht' => l('Photographer'), + 'plt' => l('Platemaker'), + 'pma' => l('Permitting agency'), + 'pmn' => l('Production manager'), + 'pop' => l('Printer of plates'), + 'ppm' => l('Papermaker'), + 'ppt' => l('Puppeteer'), + 'pra' => l('Praeses'), + 'prc' => l('Process contact'), + 'prd' => l('Production personnel'), + 'pre' => l('Presenter'), + 'prf' => l('Performer'), + 'prg' => l('Programmer'), + 'prm' => l('Printmaker'), + 'prn' => l('Production company'), + 'pro' => l('Producer'), + 'prp' => l('Production place'), + 'prs' => l('Production designer'), + 'prt' => l('Printer'), + 'prv' => l('Provider'), + 'pta' => l('Patent applicant'), + 'pte' => l('Plaintiff-appellee'), + 'ptf' => l('Plaintiff'), + 'pth' => l('Patent holder'), + 'ptt' => l('Plaintiff-appellant'), + 'pup' => l('Publication place'), + 'rbr' => l('Rubricator'), + 'rcd' => l('Recordist'), + 'rce' => l('Recording engineer'), + 'rcp' => l('Addressee'), + 'rdd' => l('Radio director'), + 'red' => l('Redaktor'), + 'ren' => l('Renderer'), + 'res' => l('Researcher'), + 'rev' => l('Reviewer'), + 'rpc' => l('Radio producer'), + 'rps' => l('Repository'), + 'rpt' => l('Reporter'), + 'rpy' => l('Responsible party'), + 'rse' => l('Respondent-appellee'), + 'rsg' => l('Restager'), + 'rsp' => l('Respondent'), + 'rsr' => l('Restorationist'), + 'rst' => l('Respondent-appellant'), + 'rth' => l('Research team head'), + 'rtm' => l('Research team member'), + 'sad' => l('Scientific advisor'), + 'sce' => l('Scenarist'), + 'scl' => l('Sculptor'), + 'scr' => l('Scribe'), + 'sds' => l('Sound designer'), + 'sec' => l('Secretary'), + 'sgd' => l('Stage director'), + 'sgn' => l('Signer'), + 'sht' => l('Supporting host'), + 'sll' => l('Seller'), + 'sng' => l('Singer'), + 'spk' => l('Speaker'), + 'spn' => l('Sponsor'), + 'spy' => l('Second party'), + 'srv' => l('Surveyor'), + 'std' => l('Set designer'), + 'stg' => l('Setting'), + 'stl' => l('Storyteller'), + 'stm' => l('Stage manager'), + 'stn' => l('Standards body'), + 'str' => l('Stereotyper'), + 'tcd' => l('Technical director'), + 'tch' => l('Teacher'), + 'ths' => l('Thesis advisor'), + 'tld' => l('Television director'), + 'tlp' => l('Television producer'), + 'trc' => l('Transcriber'), + 'trl' => l('Translator'), + 'tyd' => l('Type designer'), + 'tyg' => l('Typographer'), + 'uvp' => l('University place'), + 'vac' => l('Voice actor'), + 'vdg' => l('Videographer'), + 'voc' => l('Vocalist'), + 'wac' => l('Writer of added commentary'), + 'wal' => l('Writer of added lyrics'), + 'wam' => l('Writer of accompanying material'), + 'wat' => l('Writer of added text'), + 'wdc' => l('Woodcutter'), + 'wde' => l('Wood engraver'), + 'win' => l('Writer of introduction'), + 'wit' => l('Witness'), + 'wpr' => l('Writer of preface'), + 'wst' => l('Writer of supplementary textual content'), +} -%] \ No newline at end of file diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/adv_filter.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/adv_filter.tt2 old mode 100644 new mode 100755 diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/copy_counts.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/copy_counts.tt2 new file mode 100755 index 0000000000..dc8aab797c --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/parts/result/copy_counts.tt2 @@ -0,0 +1,41 @@ +[%- depths = attrs.copy_counts.size; + depth = 0; + displayed_ous = {}; + hiding_disabled = ctx.org_hiding_disabled(); + WHILE depth < depths; + org_unit = ctx.get_aou(attrs.copy_counts.$depth.org_unit); + ou_name = org_unit.name; + displayed_ous.$ou_name = 1; + IF attrs.copy_counts.$depth.count > 0 AND ( + hiding_disabled OR ctx.org_within_hiding_scope(org_unit.id)); +%] +
+[% IF ctx.get_aou(attrs.copy_counts.$depth.org_unit).opac_visible == 't' %] + [% l('[_1] of [quant,_2,copy,copies] available at [_3].', + attrs.copy_counts.$depth.available, + attrs.copy_counts.$depth.count, + ou_name) | html + %] +[% END %] +
+[%- END; + depth = depth + 1; + END; + + depth = attrs.plib_copy_counts.size - 1; + org_unit = ctx.get_aou(attrs.plib_copy_counts.$depth.org_unit); + ou_name = org_unit.name; + UNLESS displayed_ous.exists(ou_name); + +%] +[%- IF attrs.plib_copy_counts.$depth.count > 0 AND ( + hiding_disabled OR ctx.org_within_hiding_scope(org_unit.id)) %] +
[% + l('[_1] of [quant,_2,copy,copies] available at [_3].', + attrs.plib_copy_counts.$depth.available, + attrs.plib_copy_counts.$depth.count, + ou_name) | html + %] +
+[%- END %] +[%- END %] diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/facets-hz.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/facets-hz.tt2 old mode 100644 new mode 100755 diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/facets.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/facets.tt2 old mode 100644 new mode 100755 index d57426ab86..5e39a1e8c7 --- a/Open-ILS/src/templates-bootstrap/opac/parts/result/facets.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/parts/result/facets.tt2 @@ -54,7 +54,7 @@ FOR facet IN sorted_facets; fid = facet.cmf.id; long_key = fclass _ fname %] -
+
[% facet.cmf.label %] diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits.tt2 old mode 100644 new mode 100755 index e9155ce5b4..60db23fe06 --- a/Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits.tt2 @@ -1,4 +1,4 @@ -
+

[% l('Search Results filters') %]

@@ -65,5 +65,4 @@

[% INCLUDE "opac/parts/result/lowhits_purchase.tt2" %]
-
-
+
\ No newline at end of file diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits_purchase.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits_purchase.tt2 new file mode 100755 index 0000000000..ff34338282 --- /dev/null +++ b/Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits_purchase.tt2 @@ -0,0 +1,6 @@ +[%# XXX Is this block generally desired?

+ Still not finding what you are looking for?
+ Request that your library purchase the material you are looking for by making a + Purchase Request
+ Note: You must be logged in to make a Purchase Request
+

%] diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/paginate.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/paginate.tt2 old mode 100644 new mode 100755 diff --git a/Open-ILS/src/templates-bootstrap/opac/parts/result/table.tt2 b/Open-ILS/src/templates-bootstrap/opac/parts/result/table.tt2 old mode 100644 new mode 100755 index 2f33490162..c394f7c6fb --- a/Open-ILS/src/templates-bootstrap/opac/parts/result/table.tt2 +++ b/Open-ILS/src/templates-bootstrap/opac/parts/result/table.tt2 @@ -17,37 +17,28 @@
-
-[% INCLUDE 'opac/parts/result/facets.tt2' %] -
-
-
- [% IF !ctx.is_meta %] - - [% END %] - - - - - - - - - +
+ [% INCLUDE 'opac/parts/result/facets.tt2' %] +
+
+
+ [% IF !ctx.is_meta %] + + [% END %] -
+ [% FOR rec IN ctx.records; attrs = {}; attrs.marc_xml = rec.marc_xml; @@ -82,46 +73,48 @@ hold_type = 'T'; END; -%] - - ";for(this.o.calendarWeeks&&(c+='');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push('")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push('"),e=null,x===this.o.weekEnd&&z.push(""),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(hl)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n",contTemplate:'',footTemplate:''};r.template='
[% l('Search result number') %][% l('Book jacket cover art') %][% l('Item details and Actions') %]
- -
-
-
[% IF !ctx.is_meta; %] - - - - [% END %] - -
-
- - - -
- [% l('Book cover') %]
-
+
+ + +
+
[% IF !ctx.is_meta; %] + + + [% END %] +
+
+ +
+ [% attrs.title | html;%]
+
-
-
-
 
'+D+"'+E+"
'+o.templates.leftArrow+''+o.templates.rightArrow+"
'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/Open-ILS/web/js/ui/default/opac/copyloc.js b/Open-ILS/web/js/ui/default/opac/copyloc.js index 08023d69b5..a799fb56f0 100644 --- a/Open-ILS/web/js/ui/default/opac/copyloc.js +++ b/Open-ILS/web/js/ui/default/opac/copyloc.js @@ -52,6 +52,7 @@ function fetch_adv_copy_locations(org_ids) { var list = resp.content(); if (list && list.length) { render_adv_copy_locations(list); + render_adv_copy_locations_new(list); } else { dojo.addClass('adv_chunk_copy_location', 'hidden'); } @@ -62,8 +63,48 @@ function fetch_adv_copy_locations(org_ids) { }).send(); } +function render_adv_copy_locations_new(locations) { + var sel = dojo.byId('adv_copy_location_selector_new'); + if(sel) + { + var cgi = new openils.CGI(); + + // collect any location values from the URL to re-populate the list + var url_selected = cgi.param('fi:locations'); + if (url_selected) { + if (!dojo.isArray(url_selected)) + url_selected = [url_selected]; + } + + dojo.removeClass('adv_chunk_copy_location', 'hidden'); + + // sort by name + locations = locations.sort( + function(a, b) {return a.name < b.name ? -1 : 1} + ); + + + var ulist = dojo.create('ul', {class: "adv_filters"}); + // append the new list of locations + dojo.forEach(locations, function(loc) { + var attrs = {value : loc.id, name : "fi:locations", type: "checkbox", class: "form-check-input"}; + if (url_selected && url_selected.indexOf(''+loc.id) > -1) { + attrs.selected = true; + } + + + ulist.appendChild(dojo.create('li')).appendChild(dojo.create('div', {class: "form-check"})).appendChild(dojo.create('label', {innerHTML : loc.name, class: "form-check-label"})).prepend(dojo.create('input', attrs)); + }); + sel.appendChild(dojo.create("div", {class: "card-body"})).appendChild(ulist);} +} + + + function render_adv_copy_locations(locations) { var sel = dojo.byId('adv_copy_location_selector'); + if(sel){ + + var cgi = new openils.CGI(); // collect any location values from the URL to re-populate the list @@ -92,6 +133,7 @@ function render_adv_copy_locations(locations) { sel.appendChild(dojo.create('option', attrs)); }); } +} // load the locations on page load dojo.addOnLoad(function() { diff --git a/Open-ILS/web/js/ui/default/opac/ebook_api/loggedin.js b/Open-ILS/web/js/ui/default/opac/ebook_api/loggedin.js index abc46e5084..569260c4f4 100644 --- a/Open-ILS/web/js/ui/default/opac/ebook_api/loggedin.js +++ b/Open-ILS/web/js/ui/default/opac/ebook_api/loggedin.js @@ -89,13 +89,31 @@ function updateDashboard() { var total_holds_pending = (typeof xacts.holds_pending === 'undefined') ? '-' : xacts.holds_pending.length; var total_holds_ready = (typeof xacts.holds_ready === 'undefined') ? '-' : xacts.holds_ready.length; // update totals - dojo.byId('dash_e_checked').innerHTML = total_checkouts; - dojo.byId('dash_e_holds').innerHTML = total_holds_pending; - dojo.byId('dash_e_pickup').innerHTML = total_holds_ready; - // unhide ebook dashboard - dojo.removeClass('dashboard_e', "hidden"); + var eCheckout = document.getElementById('dash_e_checked'); + var eHolds = document.getElementById('dash_e_holds'); + var ePickup = document.getElementById('dash_e_pickup'); + var eDash = document.getElementById('dashboard_e'); + + if(typeof(eCheckout) != 'undefined' && eCheckout != null) + { + dojo.byId('dash_e_checked').innerHTML = total_checkouts; + } + if(typeof(eHolds) != 'undefined' && eHolds != null) + { + dojo.byId('dash_e_holds').innerHTML = total_holds_pending; + } + if(typeof(ePickup) != 'undefined' && ePickup != null) + { + dojo.byId('dash_e_pickup').innerHTML = total_holds_ready; + } + if(typeof(eDash) != 'undefined' && eDash != null) + { + // unhide ebook dashboard + dojo.removeClass('dashboard_e', "hidden"); + } } + function updateMyAccountSummary() { if (myopac_page === 'main') { console.log('updating account summary'); diff --git a/Open-ILS/web/js/ui/default/opac/simple.js b/Open-ILS/web/js/ui/default/opac/simple.js index abf50c7da1..ae5a80e126 100644 --- a/Open-ILS/web/js/ui/default/opac/simple.js +++ b/Open-ILS/web/js/ui/default/opac/simple.js @@ -1,5 +1,6 @@ /* Keep this dead simple. No dojo. */ -function $(s) { return document.getElementById(s); } + +function get(s) { return document.getElementById(s); } function removeClass(node, cls) { if (!node || !node.className) return; node.className = @@ -17,22 +18,22 @@ function hideMe(node) { addClass(node, "hide_me"); } var _search_row_template, _expert_row_template; function addSearchRow() { if (!_search_row_template) { - t = $("adv_global_row").cloneNode(true); + t = get("adv_global_row").cloneNode(true); t.id = null; _search_row_template = t; } - $("adv_global_tbody").insertBefore( + get("adv_global_tbody").insertBefore( _search_row_template.cloneNode(true), - $("adv_global_addrow") + get("adv_global_addrow") ); - $("adv_global_input_table").rows[$("adv_global_input_table").rows.length - 2].getElementsByTagName("input")[0].value = ""; + get("adv_global_input_table").rows[get("adv_global_input_table").rows.length - 2].getElementsByTagName("input")[0].value = ""; } -(function($){ +(function(get){ var _search_row_template, _expert_row_template, t; -var _el_adv_global_row = $("adv_global_row"), _el_adv_expert_row = $("adv_expert_row"); +var _el_adv_global_row = get("adv_global_row"), _el_adv_expert_row = get("adv_expert_row"); if (_el_adv_global_row) { t = _el_adv_global_row.cloneNode(true); t.id = null; @@ -45,14 +46,14 @@ if (_el_adv_expert_row) { _expert_row_template = t; } function addExpertRow() { - $("adv_expert_rows_here").appendChild( + get("adv_expert_rows_here").appendChild( _expert_row_template.cloneNode(true) ); } window.addSearchRow = addSearchRow; window.addExpertRow = addExpertRow; -})($); +})(get); function killRowIfAtLeast(min, link) { var row = link.parentNode.parentNode; if (row.parentNode.getElementsByTagName("tr").length > min) @@ -61,7 +62,7 @@ function killRowIfAtLeast(min, link) { } function print_node(node_id) { var iframe = document.createElement("iframe"); - var source_node = $(node_id); + var source_node = get(node_id); source_node.parentNode.appendChild(iframe); var iwin = iframe.contentWindow; @@ -91,7 +92,7 @@ function select_all_checkboxes(name, checked) { function search_modifier_onchange(type, checkbox, submitOnChange) { if (checkbox.form._adv && !checkbox.checked) { - var search_box = $('search_box'); + var search_box = get('search_box'); var reg = new RegExp('#' + type + ' ?', 'g'); search_box.value = search_box.value.replace(reg, ""); } @@ -103,7 +104,7 @@ function search_modifier_onchange(type, checkbox, submitOnChange) { function exclude_onchange(checkbox) { if (checkbox.form._adv && !checkbox.checked) { - var search_box = $('search_box'); + var search_box = get('search_box'); // Other functions' form submits may create duplicates of this, so /g var reg = /-search_format\(electronic\)/g; search_box.value = search_box.value.replace(reg, ""); @@ -273,7 +274,6 @@ function updateHoldsCheck() { return isValid; } } - alert("No option selected."); return isValid; } -- 2.11.0