Koha/koha-tmpl/intranet-tmpl/prog/js/catalog.js
Owen Leonard 6cb78c4d61
Bug 34562: Update more pop-up windows with consistent footer markup
This patch updates a few more pop-up window templates to standardize the
markup of footer controls. The patch also updates the way catalog.js
triggers the "Add to list" pop-up so that it uses the same
window-opening JS function that similar pages do, since the default
gives us consistent popup features.

To test, apply the patch and perform a catalog search in the staff
interface which will return multiple results.

- Check the box next to one or more results.
- Click the "Add to list" button.
  - Test the various options here: Add to an existing list, a new list,
    or choose "More lists."
  - In each case the pop-up window which appears should have a
    consistent fixed footer with "Save" and "Cancel" buttons.
  - Confirm that these controls can be navigated to using the tab key.
  - Confirm that each one works correctly.

- Go to Administration -> Z39.50/SRU servers -> New SRU server.
  - Click the "Modify" button by the "SRU Search fields mapping" field.
  - Inspect and test the resulting pop-up window.
  - Switch the "Record type" dropdown to "Authority," click the
    "Modify" button again, and test this version of the pop-up window
    too.

Signed-off-by: Émily-Rose Francoeur <emily-rose.francoeur@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-09 11:41:25 -03:00

139 lines
5.9 KiB
JavaScript

/* global __ biblionumber count holdcount countorders countdeletedorders searchid addRecord delSingleRecord */
/* exported GetZ3950Terms PopupZ3950Confirmed */
/* IF ( CAN_user_editcatalogue_edit_catalogue ) */
/* this function open a popup to search on z3950 server. */
function PopupZ3950() {
var strQuery = GetZ3950Terms();
if(strQuery){
window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=" + biblionumber + strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
}
}
function PopupZ3950Confirmed() {
if (confirm( __("Please note that this external search could replace the current record.") )) {
PopupZ3950();
}
}
/* END IF( CAN_user_editcatalogue_edit_catalogue ) */
function addToCart(){
addRecord( biblionumber );
}
function addToShelf() {
openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?biblionumber=' + biblionumber,'Add_to_virtualshelf');
}
function printBiblio() {window.print(); }
/* IF CAN_user_editcatalogue_edit_catalogue or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) */
function confirm_deletion(link) {
var order_manage_permission = $(link).data("order-manage");
var is_confirmed;
if (count > 0){
is_confirmed = alert(__("%s item(s) are attached to this record. You must delete all items before deleting this record.").format(count));
} else if (countorders > 0){
if( order_manage_permission ){
is_confirmed = confirm(__("Warning: This record is used in %s order(s). Deleting it could cause serious issues on acquisition module. Are you sure you want to delete this record?").format(countorders));
} else {
is_confirmed = alert(__("%s order(s) are using this record. You need order managing permissions to delete this record.").format(countorders));
}
} else if (countdeletedorders > 0){
if( order_manage_permission ){
is_confirmed = confirm(__("%s deleted order(s) are using this record. Are you sure you want to delete this record?").format(countdeletedorders));
} else {
is_confirmed = alert(__("%s deleted order(s) are using this record. You need order managing permissions to delete this record.").format(countdeletedorders));
}
} else if ( holdcount > 0 ) {
is_confirmed = confirm( __("%s holds(s) for this record. Are you sure you want to delete this record?").format(holdcount));
} else if (subscriptionscount > 0){
is_confirmed = alert(__("%s subscription(s) are attached to this record. You must delete all subscription before deleting this record.").format(subscriptionscount));
} else {
is_confirmed = confirm( __("Are you sure you want to delete this record?") );
}
if (is_confirmed) {
$("#deletebiblio").unbind('click');
window.location="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&amp;biblionumber=" + biblionumber + (searchid ? "&amp;searchid="+searchid : "");
} else {
return false;
}
}
/* END IF CAN_user_editcatalogue_edit_catalogue or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) */
/* IF CAN_user_editcatalogue_edit_items or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) */
function confirm_items_deletion() {
if ( holdcount > 0 ) {
alert(__("%s hold(s) on this record. You must delete all holds before deleting all items.").format(holdcount));
} else if ( count > 0 ) {
if (confirm(__("Are you sure you want to delete the %s attached items?").format(count))) {
window.location="/cgi-bin/koha/cataloguing/additem.pl?op=delallitems&amp;biblionumber=" + biblionumber + (searchid ? "&amp;searchid="+searchid : "");
} else {
return false;
}
} else {
return false;
}
}
/* END IF CAN_user_editcatalogue_edit_items or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) */
$(document).ready(function() {
$("#z3950copy").click(function(){
PopupZ3950();
return false;
});
$("#deletebiblio").click(function(){
confirm_deletion(this);
return false;
});
$("#deleteallitems").click(function(){
confirm_items_deletion();
return false;
});
$("#printbiblio").click(function(){
printBiblio();
return false;
});
$(".addtocart").on("click", function (e) {
e.preventDefault();
var selection_id = this.id;
var biblionumber = selection_id.replace("cart", "");
addRecord(biblionumber);
});
$(".cartRemove").on("click", function (e) {
e.preventDefault();
var selection_id = this.id;
var biblionumber = selection_id.replace("cartR", "");
delSingleRecord(biblionumber);
$(".addtocart").html("<i class=\"fa fa-shopping-cart\"></i> " + __("Add to cart"));
});
$("#addtoshelf").click(function(){
addToShelf();
$(".btn-group").removeClass("open");
return false;
});
$("#export").remove(); // Hide embedded export form if JS menus available
$("#deletebiblio").tooltip();
$("#batchedit-disabled,#batchdelete-disabled,#deleteallitems-disabled")
.on("click",function(e){
e.stopPropagation();
})
.tooltip();
$(".addtolist").on("click", function (e) {
e.preventDefault();
var shelfnumber = $(this).data("shelfnumber");
if ($(this).hasClass("morelists")) {
openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?biblionumber=' + biblionumber);
} else if ($(this).hasClass("newlist")) {
openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?newshelf=1&biblionumber=' + biblionumber);
} else {
openWindow('/cgi-bin/koha/virtualshelves/addbybiblionumber.pl?shelfnumber=' + shelfnumber + '&confirm=1&biblionumber=' + biblionumber);
}
});
});