diff --git a/catalogue/detail.pl b/catalogue/detail.pl index 9a1306cf05..dd0802c025 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -495,11 +495,8 @@ if ( C4::Context->preference('UseCourseReserves') ) { $template->param( course_reserves => $course_reserves ); } -my @libraries = $biblio->items($items_params)->get_column('homebranch'); -my %can_edit_items_from = map { - $_ => $patron->can_edit_items_from($_) -} @libraries; -$template->param(can_edit_items_from => \%can_edit_items_from); +my @libraries = $patron->libraries_where_can_edit_items; +$template->param(can_edit_items_from => \@libraries); my @itemtypes = Koha::ItemTypes->search->as_list; my %item_type_image_locations = map { diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc index eaf1790549..722ab6521a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers/tables/items/catalogue_detail.inc @@ -190,7 +190,7 @@ }); const item_types_notforloan = new Map(all_item_types.map( it => [it.itemtype, it.notforloan] )); - const can_edit_items_from = [% To.json(can_edit_items_from || {}) | $raw %]; + const can_edit_items_from = [% To.json(can_edit_items_from || []) | $raw %]; const item_type_image_locations = [% To.json(item_type_image_locations) | $raw %]; const av_loc = new Map([% To.json(AuthorisedValues.Get('LOC')) | $raw %].map( av => [av.authorised_value, av.lib])); const av_lost = new Map([% To.json(AuthorisedValues.GetDescriptionsByKohaField({ kohafield => 'items.itemlost' })) | $raw %].map( av => [av.authorised_value, av.lib])); @@ -300,7 +300,7 @@ searchable: false, orderable: false, render: function (data, type, row, meta) { - if ( can_edit_items_from[row.holding_library_id] ){ + if ( can_edit_items_from.includes(row.home_library_id) || !can_edit_items_from.length ){ if ( items_selection[tab_id].includes(row.item_id) ) { return ''.format(row.item_id); } else { @@ -752,7 +752,7 @@ { data: function( row, type, val, meta ) { let nodes = ''; - if ( can_edit_items_from[row.holding_library_id] ){ + if ( can_edit_items_from.includes(row.home_library_id) || !can_edit_items_from.length ){ [% IF Koha.Preference('LocalCoverImages') OR Koha.Preference('OPACLocalCoverImages') %] nodes += '