Bug 17367 - Showing all items must keep show holdings tab in OPAC details
authorFridolin Somers <fridolin.somers@biblibre.com>
Wed, 28 Sep 2016 12:49:32 +0000 (14:49 +0200)
committerBrendan Gallagher <brendan@bywatersolutions.com>
Mon, 17 Oct 2016 23:47:27 +0000 (23:47 +0000)
In OPAC details page, when record as too many items (depending on syspref OpacMaxItemsToDisplay), they are not displayed in holdings tab.
You can click on link "Click here to view them all" to show them : page reloads with a new arg viewallitems=1.
Also you can choose which tab is shown by default using syspref opacSerialDefaultTab.

The bug is that when default tab is not holdings, clicking on link to show all items will show another tab. So one must reclick on holings tab to see all items.

This patch corrects by forcing holdings tab when arg viewallitems is defined.

Test plan :
- Create a serial record with more items than syspref OpacMaxItemsToDisplay (or decrease this syspref)
- Select "Subscriptions tab" for syspref opacSerialDefaultTab
- Go to opac details on this record : /cgi-bin/koha/opac-detail.pl?biblionumber=xxx
=> You see Subscriptions tab selected
- Click on Holdings tab
=> You see no items but a link "Click here to view them all"
- Click on this link
=> Without patch you see Subscriptions tab selected
=> Wih patch you see Holdings tab selected and the items

Signed-off-by: Juliette <juliette.levast@iepg.fr>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
opac/opac-detail.pl

index 6a68a52..5d0eeff 100755 (executable)
@@ -1134,6 +1134,8 @@ if ( C4::Context->preference("IDREF") ) {
 # the user wants, and what's available for display
 my $opac_serial_default = C4::Context->preference('opacSerialDefaultTab');
 my $defaulttab = 
+    $viewallitems
+        ? 'holdings' :
     $opac_serial_default eq 'subscriptions' && $subscriptionsnumber
         ? 'subscriptions' :
     $opac_serial_default eq 'serialcollection' && @serialcollections > 0