LP#1284864 propagate patron barcode to advanced hold options
[working/Evergreen.git] / Open-ILS / src / templates / opac / parts / place_hold.tt2
1 [%  PROCESS "opac/parts/misc_util.tt2";
2     PROCESS "opac/parts/hold_error_messages.tt2";
3     PROCESS "opac/parts/metarecord_hold_filters.tt2";
4 %]
5
6 <div id='holds_box' class='canvas' style='margin-top: 6px;'>
7     <h1>[% l('Place Hold') %]</h1>
8     <form method="post">
9         <input type="hidden" name="hold_type" value="[% CGI.param('hold_type') | html %]" />
10         [%  
11             redirect = CGI.param('hold_source_page') || CGI.param('redirect_to') || CGI.referer;
12             # since we have to be logged in to get this far, return to a secure page
13             redirect = redirect.replace('^http:', 'https:') 
14         %]
15         <input type="hidden" name="redirect_to" value="[% redirect | html %]" />
16
17         [% IF ctx.is_staff %]
18         <p class="staff-hold">
19             <input type="radio" id="hold_usr_is_requestor_not"
20                 onchange="staff_hold_usr_input_disabler(this);"
21                 name="hold_usr_is_requestor" value="0"
22                 />
23             <label for="hold_usr_is_requestor_not">
24                 [% l("Place hold for patron by barcode:") %]
25             </label>
26             <input type="text" name="hold_usr" id="hold_usr_input" 
27               value="[% CGI.param('usr_barcode') | html %]"
28               onchange="staff_hold_usr_barcode_changed();" 
29               onpaste="setTimeout(staff_hold_usr_barcode_changed,1);" 
30               onkeypress="return no_hold_submit(event)" autofocus /> 
31             <span id="patron_name"></span>
32             <span id="patron_usr_barcode_not_found" style="display: none">
33               [% l('Patron barcode was not found') %]
34             </span><br />
35             <input type="hidden" id="staff_barcode" 
36               value="[% ctx.staff_recipient.card.barcode | html %]"/>
37             <span>
38                 <input type="radio" id="hold_usr_is_requestor"
39                     onchange="staff_hold_usr_input_disabler(this);"
40                     name="hold_usr_is_requestor" value="1" />
41                 <label for="hold_usr_is_requestor">
42                     [% l("Place this hold for me ([_1] [_2])", ctx.user.first_given_name, ctx.user.family_name) | html %]
43                 </label>
44             </span>
45         </p>
46         [% END %]
47
48         <!-- loop through the holds and display status of request where appropriate -->
49         <table id='hold-items-list'>
50         [% FOR hdata IN ctx.hold_data;
51             attrs = {marc_xml => hdata.marc_xml};
52             PROCESS get_marc_attrs args=attrs %]
53             <tr>
54                 <td>
55                     <input type="hidden" name="hold_target" value="[% hdata.target.id | html %]" />
56                     <div class='hold-items-list-title'>[% attrs.title_extended | html %]</div>
57                     [% IF hdata.parts %]
58                         [% IF hdata.parts.size > 0 %]
59                         <div style='padding-left: 10px'>
60                             <span><label for='select_hold_part'>[%
61                                 hdata.part_required ? l('Select a Part:') : l('Select a Part (optional):')
62                             %]</label></span>
63                             <select id='select_hold_part' name='part'>
64                                 [% IF !hdata.part_required %]
65                                 <option selected='selected' value=''>[% l('- All Parts -') %]</option>
66                                 [% END %]
67                                 [% FOR part IN hdata.parts %]
68                                 <option value='[% part.id %]'>[% part.label | html %]</option>
69                                 [% END %]
70                             </select>
71                         </div>
72                         [% ELSE %]
73                         <input type='hidden' name='part' value=''/>
74                         [% END %]
75                     [% END %]
76                     [% IF NOT metarecords.disabled %]
77                         [% IF CGI.param('hold_type') == 'T' AND hdata.record.metarecord %]
78                             <a  id='advanced_hold_link'
79                                 href="[% mkurl('', {hold_type => 'M', hold_target => hdata.record.metarecord.id}) %]">
80                                 [% l('Advanced Hold Options') %]</a>
81                         [% END %]
82                         [% IF hdata.metarecord_filters.formats.size OR # should this be size > 1
83                             hdata.metarecord_filters.langs.size > 1;
84                             PROCESS metarecord_hold_filters_selector hold_data=hdata;
85                         END;
86                     END %]
87                 </td>
88             </tr>
89         [% END %]
90         </table>
91
92         <p>
93             [%- org_select_id = 'pickup_lib'; -%]
94             <label for="[% org_select_id %]">[%l('Pickup location:') %]</label>
95             [% PROCESS "opac/parts/org_selector.tt2";
96                 INCLUDE build_org_selector name='pickup_lib' 
97                     value=ctx.default_pickup_lib id=org_select_id 
98                     can_have_vols_only=1 hold_pickup_lib=1 %]
99         </p>
100         <p>
101             [% l('Notify when hold is ready for pickup?') %]
102             <blockquote>
103                 <input type="checkbox" id="email_notify" name="email_notify" value="t"
104                     [% IF !ctx.user.email %]disabled="true"[% ELSIF ctx.default_email_notify %]checked="checked"[% END %]/>
105                     <label for="email_notify">[% l('Yes, by Email') %]</label><br/>
106                 <blockquote>
107                     [% IF !ctx.user.email and !ctx.is_staff; l('No configured Email address. See "My Account" for setting your Email address.');
108                      ELSE; l('Email Address:') %] <span name="email_address">[% ctx.user.email %]</span>[% END %]
109                 </blockquote>
110                 [%- IF allow_phone_notifications == 'true' %]
111                 <input type="checkbox" id="phone_notify_checkbox" name="phone_notify_checkbox"
112                     [% IF ctx.default_phone_notify %]checked="checked"[% END %]/>
113                     <label for="phone_notify_checkbox">[% l('Yes, by Phone') %]</label><br/>
114                 <blockquote>
115                     <label>[% l('Phone Number:') %]<input type="text" name="phone_notify" [% setting = 'opac.default_phone';
116                     IF ctx.user_setting_map.$setting; %] value='[% ctx.user_setting_map.$setting | html %]'
117                     [%- ELSIF ctx.user.day_phone; %] value='[% ctx.user.day_phone | html %]' [% END %]/></label>
118                 </blockquote>
119                 [%- END -%]
120                 [% IF ctx.get_org_setting(ctx.search_ou, 'sms.enable') == 1 %]
121                 <input type="checkbox" id="sms_notify_checkbox" name="sms_notify_checkbox"
122                     [% IF ctx.default_sms_notify %]checked="checked"[% END %]/>
123                     <label for="sms_notify_checkbox">[% l('Yes, by Text Messaging') %]</label><br/>
124                 <blockquote>
125                     [% INCLUDE "opac/parts/sms_carrier_selector.tt2" %]<br/>
126                     [% INCLUDE "opac/parts/sms_number_textbox.tt2" %]<br/>
127                 </blockquote>
128                 [% END %]
129             </blockquote>
130         </p>
131         <input id="place_hold_submit" type="submit" name="submit" value="[% l('Submit') %]" title="[% l('Submit') %]"
132             alt="[% l('Submit') %]" class="opac-button" />
133         <input type="reset" name="cancel" onclick="javascript:history.go(-1);"
134             value="[% l('Cancel') %]" id="holds_cancel" class="opac-button" />
135     </form>
136 </div>
137