1 [% PROCESS "opac/parts/header.tt2";
2 PROCESS "opac/parts/misc_util.tt2";
3 WRAPPER "opac/parts/myopac/base.tt2";
5 limit = ctx.hold_history_limit;
6 offset = ctx.hold_history_offset;
9 <div id='myopac_holds_div'>
11 <div id="acct_holds_tabs" style="padding-bottom: 12px;color:#666;">
12 <div class="align selected">
13 <a href='holds'><img src="[% ctx.media_prefix %]/images/sub_holds_off.jpg"/></a>
16 <img src="[% ctx.media_prefix %]/images/sub_holds_hist_on.jpg"/>
18 <div class="clear-both"></div>
21 <div class="header_middle">
22 <span style="float:left;">[% l("Previously Held Items") %]</span>
23 <span class='float-left' style='padding-left: 10px;'>
24 <a href='hold_history?limit=[% limit %]&offset=[% offset - limit %]'
25 [% IF offset == 0 %] class='invisible' [% END %]><span class="nav_arrow_fix">◄</span>[% l('Previous') %]</a>
26 [%# TODO: get total to prevent paging off then end of the list.. %]
27 <a href='hold_history?limit=[% limit %]&offset=[% offset + limit %]'
28 [% IF ctx.holds.size < limit %] class='invisible' [% END %] >[% l('Next') %]<span class="nav_arrow_fix">►</span></a>
30 <span style="float:right;">
31 <a class="hide_me" href="#">Export List</a>
34 <div class="clear-both"></div>
37 [% IF ctx.holds.size < 1 %]
38 <div class="warning_box">
39 <big><strong>[% l('No holds found.') %]</strong></big>
42 <table style='border-collapse:collapse; width: 100%;'>
43 <thead id='acct_holds_main_header'>
45 <td width="138"><span>[% l('Title') %]</span></td>
46 <td width="123"><span>[% l('Author') %]</span></td>
47 <td width="64"> <span>[% l('Format') %]</span></td>
48 <td width="136"><span>[% l('Pickup Location') %]</span> </td>
49 <td width="104">[% l('Active On') %]</td>
50 <td width="95">[% l('Active') %]</td>
51 <td width="106">[% l('Date Fulfilled') %]</td>
52 <td width="172"><span>[% l('Status') %]</span></td>
56 [% FOR hold IN ctx.holds;
57 attrs = {marc_xml => hold.marc_xml};
58 PROCESS get_marc_attrs args=attrs;
59 ahr = hold.hold.hold %]
61 <tr id="acct_holds_temp" name="acct_holds_temp" class="acct_holds_temp">
64 <div style="margin-top:10px;margin-bottom:10px;">
65 <a href="[% ctx.opac_root %]/record/[% hold.hold.bre.id %]">[% attrs.title | html %]</a>
69 <div style="margin-top:10px;margin-bottom:10px;">
70 <a href="[% ctx.opac_root %]/results?qtype=author&query=[% attrs.author | replace('[,\.:;]', '') | url %]">[% attrs.author | html %]</a>
74 <div style="width:26px;height:23px;margin-top:6px;margin-bottom:6px;">
75 [% IF attrs.format_icon %]
76 <img src="[% ctx.media_prefix %]/images/[% attrs.form_icon %]"
77 title="[% attrs.format %]" alt="[% attrs.format %]" />
84 [% ctx.get_aou(ahr.pickup_lib).name | html %]
87 [% IF ahr.frozen == 't' AND ahr.thaw_date;
88 date.format(ctx.parse_datetime(ahr.thaw_date), DATE_FORMAT);
92 [% l(ahr.frozen == 'f' ? 'Active' : 'Suspended') %]
95 [% IF ahr.fulfillment_time;
96 date.format(ctx.parse_datetime(ahr.fulfillment_time), DATE_FORMAT);
100 <div name="acct_holds_status"
101 style="margin-top:10px;margin-bottom:10px;">
103 IF hold.hold.status == 4;
105 IF ahr.shelf_expire_time;
106 l('<br/>Expires [_1]',
107 date.format(ctx.parse_datetime(ahr.shelf_expire_time), DATE_FORMAT));
109 ELSIF hold.hold.estimated_wait AND hold.hold.estimated_wait > 0;
110 # estimated wait is delivered as seconds.
111 SET hwait = POSIX.ceil(hold.hold.estimated_wait / 86400);
112 l("Estimated wait: [quant,_1,day,days]", hwait);
113 ELSIF hold.hold.status == 3;
115 ELSIF hold.hold.status < 3;
116 l("Waiting for copy");