622137294a
Make the message deletion confirmation popup translatable. Test plan uses fr-CA translations. Test plan: 1) Switch language to french (fr-CA) If you do not have the translations, go to misc/translator then do ./translate install fr-CA After it is done, go to administration > global system preference > l18N/L10N then select Français (fr-CA) under language preference. Refresh then you should be able to switch languages. 2) Add a message to a patron account from your own branch (or make sure AllowAllMessageDeletion is on) 3) Click "Delete" next to the message --> a confirmation message appears "Are you sure you want to delete this message? This cannot be undone." with options "Cancel" and "OK". 4) Apply the patch 5) Write a translation in misc/translator/po/fr-CA-messages-js.po : msgid "Are you sure you want to delete this message? This cannot be undone." msgstr "Êtes-vous sûr de vouloir supprimer ce message? Cette opération est irréversible." 6) Refresh the translations by going to misc/translator and execute ./translate install fr-CA 7) Refresh and click "Delete" again --> now the confirmation message is "Êtes-vous sûr de vouloir supprimer ce message? Cette opération est irréversible." with options "Cancel" and "OK" Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
181 lines
6.7 KiB
JavaScript
181 lines
6.7 KiB
JavaScript
/* global borrowernumber advsearch dateformat __ CAN_user_borrowers_delete_borrowers 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_delete_borrowers ){
|
|
$("#deletepatron").click(function(){
|
|
window.location='/cgi-bin/koha/members/deletemem.pl?member=' + borrowernumber;
|
|
});
|
|
}
|
|
if( CAN_user_borrowers_edit_borrowers ){
|
|
$("#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");
|
|
}
|
|
});
|
|
}
|
|
|
|
$(".delete_message").click(function(){
|
|
return window.confirm( __("Are you sure you want to delete this message? This cannot be undone.") );
|
|
});
|
|
|
|
$("#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");
|
|
});
|
|
$("#printclearscreenq").click(function(){
|
|
printx_window("qslip");
|
|
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() );
|
|
});
|
|
|
|
$("#patronImageEdit").on("shown.bs.modal", function(){
|
|
startup();
|
|
});
|
|
|
|
$(".edit-patronimage").on("click", function(e){
|
|
e.preventDefault();
|
|
var borrowernumber = $(this).data("borrowernumber");
|
|
var cardnumber = $(this).data("cardnumber");
|
|
var modalTitle = $(this).attr("title");
|
|
$("#patronImageEdit .modal-title").text(modalTitle);
|
|
$("#patronImageEdit").modal("show");
|
|
$("#patronImageEdit").on("hidden.bs.modal", function(){
|
|
/* Stop using the user's camera when modal is closed */
|
|
let viewfinder = document.getElementById("viewfinder");
|
|
if( viewfinder.srcObject ){
|
|
viewfinder.srcObject.getTracks().forEach( track => {
|
|
if( track.readyState == 'live' && track.kind === 'video'){
|
|
track.stop();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
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 + '&destination=' + destination + '&reregistration=y';
|
|
}
|
|
}
|
|
function export_barcodes() {
|
|
window.open('/cgi-bin/koha/members/readingrec.pl?borrowernumber=' + borrowernumber + '&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 + "&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, sameSite: 'Lax' });
|
|
location.href="/cgi-bin/koha/catalogue/search.pl";
|
|
}
|