Bug 9115 - basket window should close automatically when placing a hold
authorOwen Leonard <oleonard@myacpl.org>
Tue, 20 Nov 2012 14:49:19 +0000 (09:49 -0500)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Sun, 25 Nov 2012 23:06:11 +0000 (18:06 -0500)
If you choose to place a hold from the Cart pop-up, the entire
holds process (possibly including login) takes place in the cart
window. Upon completion of the operation you're left with a second
window which has lost its context as the Cart.

This patch revises the hold process so that when you click the
hold link in the cart the operation is moved to the main window
and the Cart window closes.

Since the holdSel() function doesn't require interaction with
template variables I have moved it to basket.js along with the
described changes.

To test, put items in your Cart and open it. Select items to
place on hold and click the "Place hold" link. The cart
should close, and the items you selected should appear on the
place hold screen in the main window.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Checked in Firefox and Chromium in Ubuntu, works nicely.
All tests pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
koha-tmpl/opac-tmpl/prog/en/js/basket.js
koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt

index 8a0af37..95a59bf 100644 (file)
@@ -397,6 +397,16 @@ function showLess() {
     document.location = loc;
 }
 
+function holdSel() {
+    var items = document.getElementById('records').value;
+    if (items) {
+        parent.opener.document.location = "/cgi-bin/koha/opac-reserve.pl?biblionumbers=" + items;
+        window.close();
+    } else {
+        alert(MSG_NO_RECORD_SELECTED);
+    }
+}
+
 function updateBasket(updated_value,target) {
        if(target){
        target.$('#basketcount').html("<span>"+updated_value+"</span>");
index 35aff0f..90a259e 100644 (file)
@@ -119,16 +119,7 @@ function tagAdded() {
         });
 
     });
-[% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]
-    function holdSel() {
-        var items = document.getElementById('records').value;
-        if (items) {
-            document.location = "/cgi-bin/koha/opac-reserve.pl?biblionumbers=" + items;
-        } else {
-            alert(MSG_NO_RECORD_SELECTED);
-        }
-    }
-[% END %][% END %]
+
 function enableCheckboxActions(){
     // Enable/disable controls if checkboxes are checked
     var checkedBoxes = $(".checkboxed input:checkbox:checked");