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">
13 <a href='holds'>[% l("Items on Hold") %]</a>
15 <div class="align selected">
16 <a href="#">[% l("Holds History") %]</a>
20 <div class="header_middle">
21 <span style="float:left;">[% l("Previously Held Items") %]</span>
22 <span class='float-left' style='padding-left: 10px;'>
23 <a href='hold_history?limit=[% limit %]&offset=[% offset - limit %]'
24 [% IF offset == 0 %] class='invisible' [% END %]><span class="nav_arrow_fix">◄</span>[% l('Previous') %]</a>
25 [%# TODO: get total to prevent paging off then end of the list.. %]
26 <a href='hold_history?limit=[% limit %]&offset=[% offset + limit %]'
27 [% IF ctx.holds.size < limit %] class='invisible' [% END %] >[% l('Next') %]<span class="nav_arrow_fix">►</span></a>
29 <span style="float:right;">
30 <a class="hide_me" href="#">Export List</a>
33 <div class="clear-both"></div>
36 [% IF ctx.holds.size < 1 %]
37 <div class="warning_box">
38 <big><strong>[% l('No holds found.') %]</strong></big>
41 <table style='border-collapse:collapse; width: 100%;'>
42 <thead id='acct_holds_main_header'>
44 <td width="138"><span>[% l('Title') %]</span></td>
45 <td width="123"><span>[% l('Author') %]</span></td>
46 <td width="64"> <span>[% l('Format') %]</span></td>
47 <td width="136"><span>[% l('Pickup Location') %]</span> </td>
48 <td width="104">[% l('Active On') %]</td>
49 <td width="95">[% l('Active') %]</td>
50 <td width="106">[% l('Date Fulfilled') %]</td>
51 <td width="172"><span>[% l('Status') %]</span></td>
55 [% FOR hold IN ctx.holds;
56 attrs = {marc_xml => hold.marc_xml};
57 PROCESS get_marc_attrs args=attrs;
58 ahr = hold.hold.hold %]
60 <tr id="acct_holds_temp" name="acct_holds_temp" class="acct_holds_temp">
63 <div style="margin-top:10px;margin-bottom:10px;">
64 <a href="[% ctx.opac_root %]/record/[% hold.hold.bre.id %]">[% attrs.title | html %]</a>
68 <div style="margin-top:10px;margin-bottom:10px;">
69 <a href="[% ctx.opac_root %]/results?qtype=author&query=[% attrs.author | replace('[,\.:;]', '') | url %]">[% attrs.author | html %]</a>
73 <div style="width:26px;height:23px;margin-top:6px;margin-bottom:6px;">
74 [% IF attrs.format_icon %]
75 <img src="[% ctx.media_prefix %]/images/[% attrs.form_icon %]"
76 title="[% attrs.format %]" alt="[% attrs.format %]" />
83 [% ctx.get_aou(ahr.pickup_lib).name | html %]
86 [% IF ahr.frozen == 't' AND ahr.thaw_date;
87 date.format(ctx.parse_datetime(ahr.thaw_date), DATE_FORMAT);
91 [% l(ahr.frozen == 'f' ? 'Active' : 'Suspended') %]
94 [% IF ahr.fulfillment_time;
95 date.format(ctx.parse_datetime(ahr.fulfillment_time), DATE_FORMAT);
99 <div name="acct_holds_status"
100 style="margin-top:10px;margin-bottom:10px;">
102 IF hold.hold.status == 4;
104 IF ahr.shelf_expire_time;
105 l('<br/>Expires [_1]',
106 date.format(ctx.parse_datetime(ahr.shelf_expire_time), DATE_FORMAT));
108 ELSIF hold.hold.estimated_wait AND hold.hold.estimated_wait > 0;
109 # estimated wait is delivered as seconds.
110 SET hwait = POSIX.ceil(hold.hold.estimated_wait / 86400);
111 l("Estimated wait: [quant,_1,day,days]", hwait);
112 ELSIF hold.hold.status == 3;
114 ELSIF hold.hold.status < 3;
115 l("Waiting for copy");