From 662a98345a71fb170bc6ae5b3679e3edf4eee96f Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 3 Aug 2017 12:55:07 -0300 Subject: [PATCH] Bug 19028: Add 'shelving location' to holdings table in detail page This patch adds the option to show shelving locations on a separate column. This is controlled by a new syspref, 'OpacLocationOnDetail', which replaces 'OpacLocationBranchToDisplayShelving', adding a conveniente 'column' option. The new 'Shelving location' column is conveniently added to the columns configuration entry added by bug 16759 for this purpose. The current behaviour is preserved. To test: - Apply this patches - Run the upgrade: $ sudo koha-shell kohadev k$ cd kohaclone k$ perl installer/data/mysql/updatedatabase.pl => SUCCESS: Upgrade doesn't fail - Have an item with shelving location set to something not void - Have the item set home and holding libraries for testing purposes. - Set 'OpacLocationBranchToDisplay' to 'home and holding libraries' [*] - Visit the OPAC detail page for the record containing the item => SUCCESS: Both home and holding libraries are displayed. - Loop through all OpacLocationOnDetail options (except from 'column', we leave it for later). => SUCCESS: Works as expected. - Go to Administration > Columns settings - Make item_shelving_location available in the OPAC section - Reload the OPAC detail page => SUCCESS: No change - Set OpacLocationOnDetail to 'on a separate column' - Reload the OPAC detail page => SUCCESS: Shelving location is displayed on a separate column - Sign off :-D Sponsored-by: Dover [*] For testing purposes Signed-off-by: Owen Leonard Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart --- admin/columns_settings.yml | 3 +++ .../prog/en/modules/admin/preferences/opac.pref | 11 ++++++----- .../opac-tmpl/bootstrap/en/modules/opac-detail.tt | 11 +++++++++-- opac/opac-detail.pl | 8 ++++---- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/admin/columns_settings.yml b/admin/columns_settings.yml index ab23de9603..e0708fc4c6 100644 --- a/admin/columns_settings.yml +++ b/admin/columns_settings.yml @@ -264,6 +264,9 @@ modules: columnname: item_current_location - columnname: item_home_location + - + columnname: item_shelving_location + is_hidden: 1 - columnname: item_ccode - diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index b6954ef667..7c822449d0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -143,12 +143,13 @@ OPAC: both: "home and holding libraries" - for items on the OPAC record details page. - - - Display the shelving location under the - - pref: OpacLocationBranchToDisplayShelving + - 'Display the shelving location ' + - pref: OpacLocationOnDetail choices: - home: "home library" - holding: "holding library" - both: "home and holding libraries" + home: "below the home library" + holding: "below the holding library" + both: "below both home and holding libraries" + column: "on a separate column" - for items on the OPAC record details page. - - pref: OpacKohaUrl diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt index af77f55660..1a2e4b56cc 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt @@ -1188,6 +1188,8 @@ Home library[% END %] [% IF ( itemdata_ccode ) %] Collection[% END %] + [% IF ( Koha.Preference('OpacLocationOnDetail') == 'column' && itemdata_location ) %] + Shelving location[% END %] Call number [% IF ( itemdata_enumchron ) %] Vol info[% END %] @@ -1240,7 +1242,7 @@
[% ITEM_RESULT.holding_branch_opac_info %]
- [% IF ( OpacLocationBranchToDisplayShelving == 'holding' || OpacLocationBranchToDisplayShelving == 'both' ) %] + [% IF ( Koha.Preference('OpacLocationOnDetail') == 'holding' || Koha.Preference('OpacLocationOnDetail') == 'both' ) %] [% ITEM_RESULT.location_description %] [% END %] @@ -1265,7 +1267,7 @@
[% ITEM_RESULT.home_branch_opac_info %]
- [% IF ( OpacLocationBranchToDisplayShelving == 'home' || OpacLocationBranchToDisplayShelving == 'both' ) %] + [% IF ( Koha.Preference('OpacLocationOnDetail') == 'home' || Koha.Preference('OpacLocationOnDetail') == 'both' ) %] [% ITEM_RESULT.location_description %] [% END %] @@ -1275,6 +1277,11 @@ [% IF ( itemdata_ccode ) %] [% ITEM_RESULT.ccode %] [% END %] + + [% IF ( Koha.Preference('OpacLocationOnDetail') == 'column' && itemdata_location ) %] + [% ITEM_RESULT.location_description %] + [% END %] + [% IF ( ITEM_RESULT.itemcallnumber ) %] [% ITEM_RESULT.itemcallnumber %] diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index b31a00fe03..4a7e79a5e6 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -687,7 +687,7 @@ if ( not $viewallitems and @items > $max_items_to_display ) { $itm->{'imageurl'} = getitemtypeimagelocation( 'opac', $itemtypes->{ $itm->{itype} }->{'imageurl'} ); $itm->{'description'} = $itemtypes->{ $itm->{itype} }->{translated_description}; } - foreach (qw(ccode enumchron copynumber itemnotes uri)) { + foreach (qw(ccode enumchron copynumber itemnotes location_description uri)) { $itemfields{$_} = 1 if ($itm->{$_}); } @@ -759,7 +759,8 @@ my $subtitle = GetRecordValue('subtitle', $record, GetFrameworkCode($bib itemdata_enumchron => $itemfields{enumchron}, itemdata_uri => $itemfields{uri}, itemdata_copynumber => $itemfields{copynumber}, - itemdata_itemnotes => $itemfields{itemnotes}, + itemdata_itemnotes => $itemfields{itemnotes}, + itemdata_location => $itemfields{location_description}, subtitle => $subtitle, OpacStarRatings => C4::Context->preference("OpacStarRatings"), ); @@ -1190,8 +1191,7 @@ if ( C4::Context->preference('UseCourseReserves') ) { } $template->param( - 'OpacLocationBranchToDisplay' => C4::Context->preference('OpacLocationBranchToDisplay') , - 'OpacLocationBranchToDisplayShelving' => C4::Context->preference('OpacLocationBranchToDisplayShelving'), + 'OpacLocationBranchToDisplay' => C4::Context->preference('OpacLocationBranchToDisplay'), ); output_html_with_http_headers $query, $cookie, $template->output; -- 2.39.5