Koha/koha-tmpl/intranet-tmpl/prog/js/members-menu.js
Owen Leonard d4eb9abba1 Bug 27749: Phase out jquery.cookie.js: Search to hold
This patch modifies the "search to hold" process for patrons and clubs
so that the newer jquery-cookie plugin is used instead of jquery.cookie.

To test, apply the patch and locate a patron in the staff interface.

 - From the patron checkout or details page, click "Search to hold" in
   the toolbar."
 - Perform a catalog search which will return results.
 - On the search results page you should see a "Place hold for..." link
   with the correct patron information under each result.
 - In the toolbar above the search results you should see a "Place hold"
   button with a dropdown menu which also references the patron you
   selected.
 - Test that each option works to place a hold for your patron.
 - Test that the "Forget..." menu option works to remove "place hold
   for" options.
 - Test that your "Place hold for" option is also remembered on the
   bibliographic detail page.

To test the changes to Patron Clubs:

 - If necessary, create a patron club:
   https://koha-community.org/manual/20.11/en/html/tools.html?highlight=club#patron-clubs
 - Add one or more patrons to the club:
   https://koha-community.org/manual/20.11/en/html/tools.html?highlight=club#enrolling-a-patron-in-a-club-from-the-staff-client
 - From the patron clubs page, choose "Search to hold" from the club's
   "Actions" menu.
 - Perform the same tests above.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-04-06 15:56:30 +02:00

163 lines
6 KiB
JavaScript

/* global borrowernumber advsearch dateformat __ CAN_user_borrowers_edit_borrowers number_of_adult_categories destination Sticky Cookies */
$(document).ready(function(){
$("#filteraction_off, #filteraction_on").on('click', function(e) {
e.preventDefault();
$('#filters').toggle();
$('.filteraction').toggle();
if (typeof Sticky !== "undefined" && typeof hcSticky === "function") {
Sticky.hcSticky('update');
}
});
if( advsearch ){
$("#filteraction_on").toggle();
$("#filters").show();
} else {
$("#filteraction_off").toggle();
}
searchfield_date_tooltip("");
searchfield_date_tooltip('_filter');
$("#searchfieldstype").change(function() {
searchfield_date_tooltip("");
});
$("#searchfieldstype_filter").change(function() {
searchfield_date_tooltip('_filter');
});
if( CAN_user_borrowers_edit_borrowers ){
$("#deletepatron").click(function(){
window.location='/cgi-bin/koha/members/deletemem.pl?member=' + borrowernumber;
});
$("#renewpatron").click(function(){
confirm_reregistration();
$(".btn-group").removeClass("open");
return false;
});
$("#updatechild").click(function(e){
if( $(this).data("toggle") == "tooltip"){ // Disabled menu option has tooltip attribute
e.preventDefault();
} else {
update_child();
$(".btn-group").removeClass("open");
}
});
}
$("#updatechild, #patronflags, #renewpatron, #deletepatron, #exportbarcodes").tooltip();
$("#exportcheckins").click(function(){
export_barcodes();
$(".btn-group").removeClass("open");
return false;
});
$("#printsummary").click(function(){
printx_window("page");
$(".btn-group").removeClass("open");
return false;
});
$("#printslip").click(function(){
printx_window("slip");
$(".btn-group").removeClass("open");
return false;
});
$("#printquickslip").click(function(){
printx_window("qslip");
$(".btn-group").removeClass("open");
return false;
});
$("#print_overdues").click(function(){
window.open("/cgi-bin/koha/members/print_overdues.pl?borrowernumber=" + borrowernumber, "printwindow");
$(".btn-group").removeClass("open");
return false;
});
$("#printcheckinslip").click(function(){
printx_window("checkinslip");
$(".btn-group").removeClass("open");
return false;
});
$("#printclearscreen").click(function(){
printx_window("slip");
window.location.replace("/cgi-bin/koha/circ/circulation.pl");
});
$("#searchtohold").click(function(){
searchToHold();
return false;
});
$("#select_patron_messages").on("change",function(){
$("#borrower_message").val( $(this).val() );
});
$(".edit-patronimage").on("click", function(e){
e.preventDefault();
var borrowernumber = $(this).data("borrowernumber");
$.get("/cgi-bin/koha/members/moremember.pl", { borrowernumber : borrowernumber }, function( data ){
var image_form = $(data).find("#picture-upload");
image_form.show().find(".cancel").remove();
$("#patronImageEdit .modal-body").html( image_form );
});
var modalTitle = $(this).attr("title");
$("#patronImageEdit .modal-title").text(modalTitle);
$("#patronImageEdit").modal("show");
});
});
function searchfield_date_tooltip(filter) {
var field = "#searchmember" + filter;
var type = "#searchfieldstype" + filter;
if ( $(type).val() == 'dateofbirth' ) {
var MSG_DATE_FORMAT = "";
if( dateformat == 'us' ){
MSG_DATE_FORMAT = __("Dates of birth should be entered in the format 'MM/DD/YYYY'");
} else if( dateformat == 'iso' ){
MSG_DATE_FORMAT = __("Dates of birth should be entered in the format 'YYYY-MM-DD'");
} else if( dateformat == 'metric' ){
MSG_DATE_FORMAT = __("Dates of birth should be entered in the format 'DD/MM/YYYY'");
} else if( dateformat == 'dmydot' ){
MSG_DATE_FORMAT = __("Dates of birth should be entered in the format 'DD.MM.YYYY'");
}
$(field).attr("title", MSG_DATE_FORMAT).tooltip('show');
} else {
$(field).tooltip('destroy');
}
}
function confirm_updatechild() {
var is_confirmed = window.confirm( __("Are you sure you want to update this child to an Adult category? This cannot be undone.") );
if (is_confirmed) {
window.location='/cgi-bin/koha/members/update-child.pl?op=update&borrowernumber=' + borrowernumber;
}
}
function update_child() {
if( number_of_adult_categories > 1 ){
window.open('/cgi-bin/koha/members/update-child.pl?op=multi&borrowernumber=' + borrowernumber,'UpdateChild','width=400,height=300,toolbar=no,scrollbars=yes,resizable=yes');
} else {
confirm_updatechild();
}
}
function confirm_reregistration() {
var is_confirmed = window.confirm( __("Are you sure you want to renew this patron's registration?") );
if (is_confirmed) {
window.location = '/cgi-bin/koha/members/setstatus.pl?borrowernumber=' + borrowernumber + '&amp;destination=' + destination + '&amp;reregistration=y';
}
}
function export_barcodes() {
window.open('/cgi-bin/koha/members/readingrec.pl?borrowernumber=' + borrowernumber + '&amp;op=export_barcodes');
}
var slip_re = /slip/;
function printx_window(print_type) {
var handler = print_type.match(slip_re) ? "printslip" : "summary-print";
window.open("/cgi-bin/koha/members/" + handler + ".pl?borrowernumber=" + borrowernumber + "&amp;print=" + print_type, "printwindow");
return false;
}
function searchToHold(){
var date = new Date();
date.setTime(date.getTime() + (10 * 60 * 1000));
Cookies.set("holdfor", borrowernumber, { path: "/", expires: date });
location.href="/cgi-bin/koha/catalogue/search.pl";
}