[% PROCESS "default/opac/parts/header.tt2"; PROCESS "default/opac/parts/misc_util.tt2"; WRAPPER "default/opac/parts/myopac/base.tt2"; myopac_page = "holds" limit = ctx.hold_history_limit; offset = ctx.hold_history_offset; %]
[% l("Previously Held Items") %] [%# TODO: get total to prevent paging off then end of the list.. %] Export List
[% IF ctx.holds.size < 1 %]
[% l('No holds found.') %]
[% ELSE %] [% FOR hold IN ctx.holds; attrs = {marc_xml => hold.marc_xml}; PROCESS get_marc_attrs args=attrs; ahr = hold.hold.hold %] [% END %]
[% l('Title') %] [% l('Author') %] [% l('Format') %] [% l('Pickup Location') %] [% l('Active On') %] [% l('Active') %] [% l('Date Fulfilled') %] [% l('Status') %]
[% IF attrs.format_icon %] [% attrs.format %] [% ELSE; attrs.format; END %]
[% ctx.get_aou(ahr.pickup_lib).name %] [% IF ahr.frozen == 't' AND ahr.thaw_date; date.format(ctx.parse_datetime(ahr.thaw_date), DATE_FORMAT); END %] [% l(ahr.frozen == 'f' ? 'Active' : 'Suspended') %] [% IF ahr.fulfillment_time; date.format(ctx.parse_datetime(ahr.fulfillment_time), DATE_FORMAT); END %]
[% IF hold.hold.status == 4; l("Available"); IF ahr.shelf_expire_time; l('
Expires [_1]', date.format(ctx.parse_datetime(ahr.shelf_expire_time), DATE_FORMAT)); END; ELSIF hold.hold.estimated_wait AND hold.hold.estimated_wait > 0; # estimated wait is delivered as seconds. SET hwait = POSIX.ceil(hold.hold.estimated_wait / 86400); l("Estimated wait: [quant,_1,day,days]", hwait); ELSIF hold.hold.status == 3; l("In Transit"); ELSIF hold.hold.status < 3; l("Waiting for copy"); END; %]
[% END %]
[% END %]