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';
/* ---------------------------------------------------------------------------- */
var fleshedUser = null;
var fleshedContainers = {};
+var holdCache = {};
function clearNodes( node, keepArray ) {
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();
$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);
}
}
+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);
<td width='40%'>Title</td>
<td width='20%'>Author</td>
<td>Formats</td>
- <td align='center' nowrap='nowrap'>Pickup Location</td>
- <td align='center' nowrap='nowrap'>Email Notify</td>
- <td align='center' nowrap='nowrap'>Phone Notify</td>
- <td align='center' nowrap='nowrap'>Cancel</td>
+ <td align='center'>Pickup Location</td>
+ <td align='center'>Enable Email Notification</td>
+ <td align='center'>Notification Phone Number</td>
+ <td align='center'>Cancel This Hold</td>
</tr>
</thead>
<td align='center' name='myopac_holds_location' class='light_border'> </td>
+ <!--
<td align='center' name='myopac_holds_email' class='light_border'>
<a href='javascript:void(0);' name='myopac_holds_email_link'></a>
</td>
+ -->
+ <td align='center' class='light_border'>
+ <input type='checkbox' name='myopac_holds_email_link' onclick='myopacChangeEmailNotify(this);'/>
+ </td>
<td align='center' name='myopac_holds_phone' class='light_border'>
<a href='javascript:void(0);' name='myopac_holds_phone_link'></a>
<div class='hide_me' id='myopac_holds_cancel_verify'>Are you sure you wish to cancel the selected hold?</div>
+ <span class='hide_me' id='myopac_hold_email_verify'>
+ Are you sure you wish to set/unset the email notification for this hold?
+ </span>
+
</div>