From 5e1736f1d2395992a85de26b481497cd7fa85de1 Mon Sep 17 00:00:00 2001 From: erickson Date: Mon, 13 Mar 2006 17:10:13 +0000 Subject: [PATCH] added ability to set / unset email hold notifications in my holds display git-svn-id: svn://svn.open-ils.org/ILS/trunk@3347 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/opac/common/js/config.js | 1 + Open-ILS/web/opac/skin/default/js/myopac.js | 36 +++++++++++++++++-- .../skin/default/xml/myopac/myopac_holds.xml | 17 ++++++--- 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/Open-ILS/web/opac/common/js/config.js b/Open-ILS/web/opac/common/js/config.js index ffaa602e4e..b0a8acfff5 100644 --- a/Open-ILS/web/opac/common/js/config.js +++ b/Open-ILS/web/opac/common/js/config.js @@ -284,6 +284,7 @@ var FLESH_PUBLIC_CONTAINER = 'open-ils.actor:open-ils.actor.container.public.fl var UPDATE_CONTAINER = 'open-ils.actor:open-ils.actor.container.update'; var FETCH_COPY = 'open-ils.search:open-ils.search.asset.copy.retrieve'; var CHECK_HOLD_POSSIBLE = 'open-ils.circ:open-ils.circ.title_hold.is_possible'; +var UPDATE_HOLD = 'open-ils.circ:open-ils.circ.hold.update'; var FETCH_BIBLIO_NOTES = 'open-ils.circ:open-ils.circ.biblio_notes.public.batch.retrieve'; /* ---------------------------------------------------------------------------- */ diff --git a/Open-ILS/web/opac/skin/default/js/myopac.js b/Open-ILS/web/opac/skin/default/js/myopac.js index e4a55f8ffa..9dd9a46ced 100644 --- a/Open-ILS/web/opac/skin/default/js/myopac.js +++ b/Open-ILS/web/opac/skin/default/js/myopac.js @@ -6,6 +6,7 @@ attachEvt('common','locationUpdated', myopacReload ); var fleshedUser = null; var fleshedContainers = {}; +var holdCache = {}; function clearNodes( node, keepArray ) { @@ -247,6 +248,7 @@ function myOPACDrawHolds(r) { for( var i = 0; i != holds.length; i++ ) { var h = holds[i]; + holdCache[h.id()] = h; var row = holdsTemplateRow.cloneNode(true); row.id = "myopac_holds_row_" + h.id() + '_' + h.target(); @@ -257,8 +259,13 @@ function myOPACDrawHolds(r) { $n(row, "myopac_holds_location"). appendChild(text(findOrgUnit(h.pickup_lib()).name())); - $n(row, "myopac_holds_email_link"). - appendChild(text(h.email_notify())); + + if(h.email_notify()) + $n(row, "myopac_holds_email_link").checked = true; + else + $n(row, "myopac_holds_email_link").checked = false; + + $n(row, "myopac_holds_phone_link"). appendChild(text(h.phone_notify())); tbody.appendChild(row); @@ -271,6 +278,31 @@ function myOPACDrawHolds(r) { } } +function myopacChangeEmailNotify(node) { + var id = node.parentNode.parentNode.id.replace(/myopac_holds_row_/,"").replace(/_\d+$/,""); + var hold = holdCache[id]; + + if(!confirm($('myopac_hold_email_verify').innerHTML)) { + if( hold.email_notify() ) node.checked = true; + else node.checked = false; + return; + } + + if( hold.email_notify() ) { + hold.email_notify(0); + node.checked = false; + } else { + hold.email_notify(1); + node.checked = true; + } + + var req = new Request(UPDATE_HOLD, G.user.session, hold); + req.send(true); + var x = req.result(); + holdsTemplateRow = null + myOPACShowHolds(); +} + function myOPACCancelHold(holdid) { if( confirm($('myopac_holds_cancel_verify').innerHTML) ) { holdsCancel(holdid); diff --git a/Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml b/Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml index 7d237eae97..31b5878bf8 100644 --- a/Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml +++ b/Open-ILS/web/opac/skin/default/xml/myopac/myopac_holds.xml @@ -10,10 +10,10 @@ Title Author Formats - Pickup Location - Email Notify - Phone Notify - Cancel + Pickup Location + Enable Email Notification + Notification Phone Number + Cancel This Hold @@ -38,9 +38,14 @@ + + + + @@ -57,6 +62,10 @@
Are you sure you wish to cancel the selected hold?
+ + Are you sure you wish to set/unset the email notification for this hold? + + -- 2.43.2