<label for="hold_usr_is_requestor_not">
[% l("Place hold for patron by barcode:") %]
</label>
- <input type="text" name="hold_usr" id="hold_usr_input" onchange="staff_hold_usr_barcode_changed();" onpaste="setTimeout(staff_hold_usr_barcode_changed,1);" onkeypress="return no_hold_submit(event)" autofocus /> <span id="patron_name"></span><span id="patron_usr_barcode_not_found" style="display: none">[% l('Patron barcode was not found') %]</span><br />
- <input type="hidden" id="staff_barcode" value="[% ctx.staff_recipient.card.barcode | html %]"/>
+ <input type="text" name="hold_usr" id="hold_usr_input"
+ value="[% CGI.param('staff_barcode') | html %]"
+ onchange="staff_hold_usr_barcode_changed();"
+ onpaste="setTimeout(staff_hold_usr_barcode_changed,1);"
+ onkeypress="return no_hold_submit(event)" autofocus />
+ <span id="patron_name"></span>
+ <span id="patron_usr_barcode_not_found" style="display: none">
+ [% l('Patron barcode was not found') %]
+ </span><br />
+ <input type="hidden" id="staff_barcode"
+ value="[% CGI.param('staff_barcode') || ctx.staff_recipient.card.barcode | html %]"/>
<span>
<input type="radio" id="hold_usr_is_requestor"
onchange="staff_hold_usr_input_disabler(this);"
[% END %]
[% IF NOT metarecords.disabled %]
[% IF CGI.param('hold_type') == 'T' AND hdata.record.metarecord %]
- <a href="[% mkurl('', {hold_type => 'M', hold_target => hdata.record.metarecord.id}) %]">
+ <a id='advanced_hold_link'
+ href="[% mkurl('', {hold_type => 'M', hold_target => hdata.record.metarecord.id}) %]">
[% l('Advanced Hold Options') %]</a>
[% END %]
[% IF hdata.metarecord_filters.formats.size OR # should this be size > 1
document.getElementById('patron_name').innerHTML = load_info.patron_name;
document.getElementById("patron_usr_barcode_not_found").style.display = 'none';
}
+
+ // update the advanced hold options link to propagate the patron
+ // barcode if clicked. This is needed when the patron barcode
+ // is manually entered (i.e. the staff client does not provide one).
+ var adv_link = document.getElementById('advanced_hold_link');
+ var href = adv_link.getAttribute('href').replace(
+ /;staff_barcode=[^;\&]+|$/,
+ ';staff_barcode=' + encodeURIComponent(cur_hold_barcode));
+ adv_link.setAttribute('href', href);
+
// Ok, now we can allow submitting again, unless this is a "true" load, in which case we likely have a blank barcode box active
if (isload !== true)
document.getElementById('place_hold_submit').disabled = false;