b2513a6a47f41888d39d00f33005362874ec8749
[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" 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 hdata.frozen %]
58                         <div>
59                         [% l("Hold is suspended") %]
60                         [% IF hdata.thaw_date %]
61                         <br/>
62                         [% l("Reactivate on [_1]", date.format(ctx.parse_datetime(hdata.thaw_date), DATE_FORMAT));
63                            END %]
64                         </div>
65                         [% END %]
66
67                         [% IF ctx.is_staff %]
68                             <script>
69                                 window.addEventListener(
70                                     'load',
71                                     function() {
72                                         setTimeout( // we want this to run _after_ other onload handlers (such as from eframe.js)
73                                             function() {
74                                                 try {
75                                                     if (typeof xulG != 'undefined' && xulG.opac_hold_placed) {
76                                                         xulG.opac_hold_placed([% hdata.hold_success %]);
77                                                     }
78                                                 } catch(E) {
79                                                     alert('Error updating Work Log with hold placement: ' + E);
80                                                 }
81                                             }, 0
82                                         );
83                                     },
84                                     false
85                                 );
86                             </script>
87                         [% END %]
88
89                         [% ELSIF hdata.hold_failed; any_failures = 1 %]
90
91                             <div><big><strong>[% l("Hold was not successfully placed"); %]</strong></big></div>
92                             [% IF hdata.hold_local_block %]
93                                 <div>[% l("There is already a copy available at your local library.") %]</div>
94                             [% ELSIF hdata.hold_failed_event || hdata.hold_local_alert %]
95                                 <div>
96                                     <span class='hold-items-list-problem'>[% l('Problem:') %]</span>
97                                     <span title="[% hdata.hold_failed_event.textcode | html %]">
98                                         <em>[%
99                                                 fail_part_key = hdata.hold_failed_event.payload.fail_part;
100                                                 event_key = hdata.hold_failed_event.textcode;
101
102                                                 # display:
103                                                 (hdata.age_protect ?
104                                                     l("All available copies are temporarily unavailable at your pickup library. Placing this hold could result in longer wait times.") :
105                                                     EVENT_MSG_MAP.$event_key ||
106                                                     FAIL_PART_MSG_MAP.$fail_part_key ||
107                                                     (hdata.hold_failed_event.desc ? l(hdata.hold_failed_event.desc) : '') ||
108                                                     hdata.hold_failed_event.payload.fail_part ||
109                                                     hdata.hold_failed_event.textcode ||
110                                                     (hdata.hold_local_alert ?
111                                                         l("There is already a copy available at your local library.") :
112                                                         l("Unknown problem"))) | html
113                                             %]</em>
114                                             [% IF event_key == 'PERM_FAILURE' %]
115                                             <div>[% l('Permission: "[_1]"', hdata.hold_failed_event.ilsperm) | html %]</div>
116                                             [% END %]
117                                     </span>
118                                     [% IF hdata.hold_copy_available %]
119                                         <p>[%  l('Find a copy in the shelving location, "[_1]."', locname) | html %]</p>
120                                     [% END %]
121                                 </div>
122                             [% END;
123                         END %]
124                     </div>
125                 </td>
126             </tr>
127         [% END %]
128         </table>
129         [% IF override_possible %]
130             <br/>
131             <hr/>
132             <div class='big-strong'>
133                 [% |l %]You have permission to override some of the failed holds. Click Submit to override and place your hold on the selected items.[% END %]
134             </div>
135             <span style='padding-right: 10px;'>
136                 <input type="submit" name="submit" value="[% l('Submit') %]"
137                     title="[% l('Submit') %]" alt="[% l('Submit') %]"
138                     class="opac-button" />
139             </span>
140         [% END %]
141         <span>
142         [% IF any_failures OR ctx.general_hold_error %]
143         <a href="[% CGI.param('redirect_to') || CGI.referer | html %]">[% l('Cancel') %]</a>
144         [% ELSE %]
145         <div class='hold_success_links'>
146           <span><a href="[% CGI.param('redirect_to') || CGI.referer | html %]">[% l('Continue') %]</a></span>
147            [% IF ctx.is_staff %]
148              [% IF CGI.param('hold_type') == 'C';
149                   hold_type_label = l('copy');
150                 ELSIF CGI.param('hold_type') == 'V';
151                   hold_type_label = l('volume');
152                 ELSE;
153                   hold_type_label = l('title');
154               END %]
155                <span><a href="[% mkurl(ctx.opac_root _ '/place_hold', {hold_source_page => CGI.param('hold_source_page'), bre_id => CGI.param('bre_id')}) %]">
156                [% l('Place another hold for this ') %] [% hold_type_label %]</a>
157                </span>
158           [% END %]
159         [% END %]
160         </span>
161     </form>
162 </div>
163