X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FVirtualShelves%2FPage.pm;h=1727389dc35ef10b62da35a94f0edffe0baed46c;hb=4612eeddf7889521f3ba73587beee45ac058ef82;hp=cfa4f60c00358cdda2a8f2a23ead2ba025c0cd40;hpb=9c06057f21f1cdbc0a87ecbbdf84306e51e3d6a0;p=koha_gimpoz diff --git a/C4/VirtualShelves/Page.pm b/C4/VirtualShelves/Page.pm index cfa4f60c00..1727389dc3 100644 --- a/C4/VirtualShelves/Page.pm +++ b/C4/VirtualShelves/Page.pm @@ -68,6 +68,14 @@ sub shelfpage ($$$$$) { my ( $shelflimit, $shelfoffset, $shelveslimit, $shelvesoffset ); my $marcflavour = C4::Context->preference("marcflavour"); + # get biblionumbers stored in the cart + my @cart_list; + my $cart_cookie = ( $type eq 'opac' ? "bib_list" : "intranet_bib_list" ); + if($query->cookie($cart_cookie)){ + my $cart_list = $query->cookie($cart_cookie); + @cart_list = split(/\//, $cart_list); + } + $shelflimit = ( $type eq 'opac' ? C4::Context->preference('OPACnumSearchResults') : C4::Context->preference('numSearchResults') ); $shelflimit = $shelflimit || 20; $shelfoffset = ( $itemoff - 1 ) * $shelflimit; # Sets the offset to begin retrieving items at @@ -160,6 +168,14 @@ sub shelfpage ($$$$$) { }; ModShelf( $shelfnumber, $shelf ); + if($displaymode eq "viewshelf"){ + print $query->redirect( $pages{$type}->{redirect} . "?viewshelf=$shelfnumber" ); + } elsif($displaymode eq "publicshelves"){ + print $query->redirect( $pages{$type}->{redirect} ); + } else { + print $query->redirect( $pages{$type}->{redirect} . "?display=privateshelves" ); + } + exit; } elsif ( $op eq 'modif' ) { my ( $shelfnumber2, $shelfname, $owner, $category, $sortfield ) = GetShelf($shelfnumber); @@ -168,6 +184,7 @@ sub shelfpage ($$$$$) { $edit = 1; $template->param( edit => 1, + display => $displaymode, shelfnumber => $shelfnumber2, shelfname => $shelfname, owner => $owner, @@ -227,6 +244,9 @@ sub shelfpage ($$$$$) { my @items_infos = &GetItemsLocationInfo( $this_item->{'biblionumber'}); $this_item->{'itemsissued'} = CountItemsIssued( $this_item->{'biblionumber'} ); $this_item->{'ITEM_RESULTS'} = \@items_infos; + if ( grep {$_ eq $biblionumber} @cart_list) { + $this_item->{'incart'} = 1; + } if (C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->preference('TagsShowOnList')) { $this_item->{'TagLoop'} = get_tags({