]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/opac/parts/place_hold_result.tt2
Work Log entry for holds placed within patron display
[working/Evergreen.git] / Open-ILS / src / templates / opac / parts / place_hold_result.tt2
1 [%  PROCESS "opac/parts/misc_util.tt2";
2     PROCESS "opac/parts/hold_error_messages.tt2";
3     override_possible = 0;
4     any_failures = 0;
5 %]
6
7 <!-- TODO: CSS for big/strong-->
8
9 <div id='holds_box' class='canvas' style='margin-top: 6px;'>
10     <h1>[% l('Place Hold') %]</h1>
11
12     <form method="POST">
13         <input type="hidden" type="name" name="override" value="1" />
14         [% FOR k IN ctx.orig_params.keys %]
15         <input type="hidden" name="[% k %]" value="[% ctx.orig_params.$k | html %]" />
16         [% END %]
17
18         <table id='hold-items-list'>
19
20         [% FOR hdata IN ctx.hold_data;
21             attrs = {marc_xml => hdata.marc_xml};
22             PROCESS get_marc_attrs args=attrs %]
23             <tr>
24                 <td>
25                     [% 
26                         override = 0;
27                         IF hdata.could_override || hdata.hold_local_alert;
28                             override_possible = 1;
29                             override = 1;
30                         END;
31                     %]
32                     <input 
33                         type="checkbox" name="hold_target" value="[% hdata.target.id | html %]"
34                         [% IF override %] checked='checked' [% ELSE %] disabled='disabled' [% END %]/>
35                 </td>
36                 <td>
37                     [%
38                         title = attrs.title_extended;
39                         IF hdata.selected_part AND hdata.parts AND hdata.parts.size > 0;
40                             FOREACH part IN hdata.parts;
41                                 IF hdata.selected_part == part.id;
42                                     title = l('[_1] ([_2])', title, part.label);
43                                 END;
44                             END;
45                         END;
46                     %]
47                         
48                     <div class='hold-items-list-title'>[% title | html %]</div>
49                     [% IF hdata.parts %]
50                         <input type='hidden' name='part' value='[% hdata.selected_part || '' %]'/>
51                     [% END %]
52                     <div>
53                         [% IF hdata.hold_success %]
54
55                         <div class='success'>[% l("Hold was successfully placed"); %]</div>
56
57                         [% IF ctx.is_staff %]
58                             <script>
59                                 window.addEventListener(
60                                     'load',
61                                     function() {
62                                         try {
63                                             if (typeof xulG != 'undefined' && xulG.opac_hold_placed) {
64                                                 xulG.opac_hold_placed([% hdata.hold_success %]);
65                                             }
66                                         } catch(E) {
67                                             alert('Error updating Work Log with hold placement: ' + E);
68                                         }
69                                     },
70                                     false
71                                 );
72                             </script>
73                         [% END %]
74
75                         [% ELSIF hdata.hold_failed; any_failures = 1 %]
76
77                             <div><big><strong>[% l("Hold was not successfully placed"); %]</strong></big></div>
78                             [% IF hdata.hold_local_block %]
79                                 <div>[% l("There is already a copy available at your local library.") %]</div>
80                             [% ELSIF hdata.hold_failed_event || hdata.hold_local_alert %]
81                                 <div>
82                                     <span class='hold-items-list-problem'>[% l('Problem:') %]</span>
83                                     <span title="[% hdata.hold_failed_event.textcode | html %]">
84                                         <em>[%
85                                                 fail_part_key = hdata.hold_failed_event.payload.fail_part;
86                                                 event_key = hdata.hold_failed_event.textcode;
87
88                                                 # display:
89                                                 (hdata.age_protect ?
90                                                     l("All available copies are temporarily unavailable at your pickup library. Placing this hold could result in longer wait times.") :
91                                                     FAIL_PART_MSG_MAP.$fail_part_key ||
92                                                     EVENT_MSG_MAP.$event_key ||
93                                                     l(hdata.hold_failed_event.desc) ||
94                                                     hdata.hold_failed_event.payload.fail_part ||
95                                                     hdata.hold_failed_event.textcode ||
96                                                     (hdata.hold_local_alert ?
97                                                         l("There is already a copy available at your local library.") :
98                                                         l("Unknown problem"))) | html
99                                             %]</em>
100                                             [% IF event_key == 'PERM_FAILURE' %]
101                                             <div>[% l('Permission: "[_1]"', hdata.hold_failed_event.ilsperm) | html %]</div>
102                                             [% END %]
103                                     </span>
104                                     [% IF hdata.hold_copy_available %]
105                                         <p>[%  l('Find a copy in the shelving location, "[_1]."', locname) | html %]</p>
106                                     [% END %]
107                                 </div>
108                             [% END;
109                         END %]
110                     </div>
111                 </td>
112             </tr>
113         [% END %]
114         </table>
115         [% IF override_possible %]
116             <br/>
117             <hr/>
118             <div class='big-strong'>
119                 [% |l %]You have permission to override some of the failed holds.<br/>  Click Submit to override and place your hold on the selected items.[% END %]
120             </div>
121             <span style='padding-right: 10px;'>
122                 <input type="submit" name="submit" value="[% l('Submit') %]"
123                     title="[% l('Submit') %]" alt="[% l('Submit') %]"
124                     class="opac-button" />
125             </span>
126         [% END %]
127         <span>
128         [% IF any_failures OR ctx.general_hold_error %]
129         <a href="[% CGI.param('redirect_to') || CGI.referer | html %]">[% l('Cancel') %]</a>
130         [% ELSE %]
131         <a href="[% CGI.param('redirect_to') || CGI.referer | html %]">[% l('Continue') %]</a>
132         [% END %]
133         </span>
134     </form>
135 </div>
136