1 [% PROCESS "opac/parts/header.tt2";
2 PROCESS "opac/parts/misc_util.tt2";
3 PROCESS "opac/parts/hold_status.tt2";
4 PROCESS "opac/parts/org_selector.tt2";
5 PROCESS "opac/parts/metarecord_hold_filters.tt2";
6 WRAPPER "opac/parts/myopac/base.tt2";
7 myopac_page = "holds"; # in this case, just for tab coloring.
11 attrs = {marc_xml => hold.marc_xml};
12 PROCESS get_marc_attrs args=attrs;
13 hold.human_status = PROCESS get_hold_status hold=hold;
15 # Do this up front to avoid verbosity later
16 expire_time = ahr.expire_time ? date.format(ctx.parse_datetime(ahr.expire_time), DATE_FORMAT) : '';
17 thaw_date = ahr.thaw_date ? date.format(ctx.parse_datetime(ahr.thaw_date), DATE_FORMAT) : '';
19 <h3 class="sr-only">[% l('Edit Hold') %]</h3>
20 <div class="pad-bottom-five">
21 <div class="header_middle">
22 <span id="acct_holds_header float-left">[% l('Editing Hold') %]</span>
23
24 <a href="[% ctx.opac_root %]/myopac/holds" class="float-right">[% l('List all holds') %]</a>
26 <div id="hold_editor" class="mt-4">
29 IF ahr.hold_type == 'P';
30 title = l('[_1] ([_2])', title, hold.hold.part.label);
33 <h1>[% title | html %]</h1>
34 <h2>[% attrs.author | html %]</h2>
35 [% IF attrs.format_icon %]<p>
36 <strong>[% l('Format:') %]</strong>
37 <img src="[% attrs.format_icon %]" alt="[% attrs.format_label | html %]" title="[% attrs.format_label | html %]" />
40 <strong>[% l('Status') %]</strong>: [% hold.human_status %]
43 <table id="hold_editor_table" >
46 <input type="hidden" name="action" value="edit" />
47 <input type="hidden" name="hold_id"
48 value="[% ahr.id %]" />
49 [% l('Pickup library') %]
52 [% INCLUDE build_org_selector
53 name='pickup_lib' value=ahr.pickup_lib
54 can_have_vols_only=1 hold_pickup_lib=1 %]
57 [% IF hold.hold.status < 3 OR hold.hold.status == 7 %]
58 [%# The following actions cannot be performed on holds that
59 have already been captured... %]
62 [% l('Cancel unless filled by') %]
65 <input class="form-control" type="text" name="expire_time"
66 value="[% expire_time | html %]" />
67 <p><em>[% l('Enter date in MM/DD/YYYY format') %]</em></p>
68 <!-- XXX TODO pick out a minimal, simple, reliable
69 calendar widget that's not part of some giant,
70 bloated framework and doesn't do anything at onload.
80 <select class="form-control" name="frozen">
81 <option value="f"[% ahr.frozen == 't' ? '' :' selected="selected"' %]>
82 [% l('Yes, this hold is active now') %]
84 <option value="t"[% ahr.frozen == 't' ? ' selected="selected"' : '' %]>
85 [% l('No, this hold is suspended') %]
92 [% l('If suspended, activate on') %]
95 <input class="form-control" type="text" name="thaw_date"
96 value="[% thaw_date | html %]" />
97 <p><em>[% l('Enter date in MM/DD/YYYY format') %]</em></p>
103 [% IF hold.metarecord_filters.formats.size OR
104 (hold.metarecord_filters.langs.size.defined && hold.metarecord_filters.langs.size > 1);
105 PROCESS metarecord_hold_filters_selector
106 hold_data=hold; END %]
109 <td colspan="2" class="hold-editor-controls">
111 <input type="submit" value="[% l('Submit') %]" class="btn btn-confirm" />
112 <a href="[% ctx.opac_root %]/myopac/holds"><button
113 class="btn btn-deny">[% l('Go Back') %]</button></a>