[%- # If being used in serial mode, flatten list of units so that they can be # used like one long list of copies without changing so much code below. IF serial_holdings; copies = []; FOREACH h IN serial_holdings; units = h.units.slice(0); # copy FOREACH unit IN units; unit.holding_label = h.label; END; copies = copies.merge(units); END; END; FOREACH copy_info IN copies; IF copy_info.call_number_label != '##URI##'; has_copies = 'true'; END; IF copy_info.part_label != ''; has_parts = 'true'; END; IF has_parts && has_copies; LAST; END; END; -%] [%- IF has_copies or ctx.foreign_copies; depth = CGI.param('copy_depth').defined ? CGI.param('copy_depth') : CGI.param('depth').defined ? CGI.param('depth') : ctx.copy_summary.last.depth; total_copies = ctx.copy_summary.$depth.count; %] [% IF serial_holdings -%] [%- ELSE -%] [%- END %] [%- IF has_parts == 'true' %] [%- END %] [%- IF ctx.is_staff || ctx.use_courses %] [%- END %] [%- IF ctx.is_staff %] [%- END %] [%- IF ctx.is_staff OR serial_holdings %] [%- END %] [%- IF ctx.use_courses %] [%- END %] [%- FOREACH peer IN ctx.foreign_copies; FOREACH bib IN peer.foreign_copy_maps; %] [%- END; # FOREACH peer END; # FOREACH bib -%] [%- last_cn = 0; FOR copy_info IN copies; callnum = copy_info.call_number_label; NEXT IF callnum == '##URI##'; callnum_prefix = copy_info.call_number_prefix_label; IF callnum_prefix != ""; callnum = callnum_prefix _ " " _ callnum; END; callnum_suffix = copy_info.call_number_suffix_label; IF callnum_suffix != ""; callnum = callnum _ " " _ callnum_suffix; END; -%] [%- IF serial_holdings %] [%- ELSE %][% END %] [%- IF has_parts == 'true' %] [%- END %] [% IF copy_info.courses.size > 0 || ctx.is_staff %] [% ELSIF ctx.use_courses %] [% END %] [% IF ctx.is_staff %] [% END # is_staff %] [% IF ctx.is_staff OR serial_holdings %] [%- END %] [%- IF ctx.use_courses %] [% END %] [% IF copy_info.notes; %] [% FOREACH note IN copy_info.notes; %] [% END %] [% END %] [% IF copy_info.tags; %] [% FOREACH tag IN copy_info.tags; %] [% END %] [% END %] [%- IF copy_info.peer_bib_marc.size > 0; ''; END # IF copy_info.peer_bib_marc.size %] [%- END; # FOR copy_info %] [% IF ctx.copy_limit < total_copies AND NOT serial_holdings %] [%- IF ctx.copy_offset > 0; new_offset = ctx.copy_offset - ctx.copy_limit; IF new_offset < 0; new_offset = 0; END %] [%- END %] [%- IF copies.size >= ctx.copy_limit AND (ctx.copy_offset + ctx.copy_limit < total_copies) %] [%- END %] [% END %] [% IF NOT serial_holdings -%] [%- more_copies_limit = 50 %] [%# TODO: config %] [%- IF ctx.copy_limit != more_copies_limit AND copies.size >= ctx.copy_limit AND ctx.copy_limit < total_copies %] [%- ELSIF ctx.copy_limit == more_copies_limit %] [%- END %] [%- END %]
[% l("Issue Label") %][% l("Location") %][% l("Call Number / Copy Notes") %][% l("Part") %][% l("Barcode") %] [% l("Shelving Location") %][% l("Circulation Modifier") %][% l("Age Hold Protection") %] [% l("Active/Create Date") %][% l("Holdable?") %][% l("Status") %] [% l("Due Date") %][% l("Courses") %]
[%- bib_lib_name = ctx.get_aou(bib.target_copy.circ_lib).name | html; l("[_1] (foreign item)", bib_lib_name); -%] [% bib.target_copy.call_number.label | html %] [% bib.target_copy.barcode | html %] [% bib.target_copy.location.name | html %] [% bib.target_copy.status.name | html %] [% date.format(ctx.parse_datetime(copy_info.due_date, copy_info.circ_circ_lib),DATE_FORMAT) %]
[%- copy_info.holding_label | html; -%] [%- INCLUDE "opac/parts/library_name_link.tt2"; -%] [% callnum | html %] [% IF ctx.get_org_setting(CGI.param('loc') OR ctx.aou_tree.id, 'sms.enable') == 1 %](Text)[% END %][% copy_info.part_label | html %] [% copy_info.barcode | html -%] [% IF ctx.is_staff %] [%- IF ctx.is_browser_staff %] [% l('view') %] [% IF ctx.has_perm('UPDATE_COPY', copy_info.circ_lib) OR ctx.has_perm('UPDATE_COPY', copy_info.call_number_owning_lib) %] | [% l('edit') %] [% END %] [% ELSE %] [% l('view') %] [%# if the user can edit copies, show the copy edit link %] [% IF ctx.has_perm('UPDATE_COPY', copy_info.circ_lib) OR ctx.has_perm('UPDATE_COPY', copy_info.call_number_owning_lib) %] | [% l(' edit') %] [% END %] [% END %] [% END %] [%- IF attrs.gtin13; ''; END; -%] [%- INCLUDE "opac/parts/location_name_link.tt2"; -%][% copy_info.circ_modifier | html %] [% copy_info.age_protect ? ctx.get_crahp(copy_info.age_protect).name : l('None') | html %] [% IF ctx.get_org_setting(copy_info.circ_lib, 'circ.holds.age_protect.active_date') == 1; disp_date = copy_info.active_date ? copy_info.active_date : copy_info.create_date; ELSE; disp_date = copy_info.create_date; END; IF disp_date; date.format( ctx.parse_datetime(disp_date), DATE_FORMAT ); ELSE; '-'; END; %][% # Show copy/volume hold links to staff (without # checking whether they have permissions to do those). overall_holdable = ( copy_info.holdable == 't' AND copy_info.location_holdable == 't' AND copy_info.status_holdable == 't' ); IF overall_holdable; hold_link = ''; param_sep = l(" / "); # Only staff get to place copy or volume holds IF ctx.is_staff; hold_link = '' _ l('Copy hold') _ ''; IF copy_info.call_number != last_cn; last_cn = copy_info.call_number; hold_link = hold_link _ param_sep; hold_link = hold_link _ '' _ l('Volume hold') _ ''; END; IF serial_holdings; hold_link = hold_link _ param_sep; END; END; IF serial_holdings; hold_link = hold_link _ '' _ l('Issue hold') _ ''; END; hold_link; ELSE; l("Not holdable"); END %][%- schema_copy_status.${copy_info.status_code}; copy_info.copy_status | html; -%] [% IF copy_info.due_date; date.format( ctx.parse_datetime(copy_info.due_date, copy_info.circ_circ_lib), DATE_FORMAT ); ELSE; '-'; END %][%- FOREACH course IN copy_info.courses %]
[% course.course_number %]
[% END %]
 [% note.title | html %]: [% note.value | html %]
  [% tag.tag_type.label _ ": " | html %] [% IF tag.url %] [% END %] [% tag.value | html %] [% IF tag.url %] [% END %]
    '; FOREACH bib IN copy_info.peer_bib_marc; attrs = {marc_xml => bib}; PROCESS get_marc_attrs args=attrs %] [%- IF attrs.bibid != ctx.bre_id; -%]
  • [%- # Map the bound-with relationship -%] [% attrs.title | html %] / [% attrs.author | html %]
  • [%- END; # IF attrs.bibid %] [%- END; # FOREACH bib in copy_info.peer_bib_marc '
« [% l('Previous [_1]', ctx.copy_offset - new_offset) %] [% l('Next [_1]', ctx.copy_limit) %] »
[% END %]