);
my $sth = $dbh->prepare($query);
$sth->execute($owner,$mincategory,$limit);
- return $sth->fetchall_arrayref({});
+
+ my $shelves = $sth->fetchall_arrayref({});
+ # add private flag to each shelf entry --
+ # need to do this because HTML::Template::Pro's EXPR
+ # support complains about a non-initialized 'category'
+ # if the user has no shelves -- the offending line in
+ # masthead.inc was <-- TMPL_IF EXPR="category == 1"...
+ foreach my $shelf (@{ $shelves }) {
+ $shelf->{'private'} = ($shelf->{'category'} == 1);
+ }
+ return $shelves;
+
# Probably NOT the final implementation since it is still bulky (repeated hash keys).
# might like an array of rows of delimited values:
# 1|2||0|blacklist|112
use strict;
use warnings;
use CGI;
-use C4::VirtualShelves;
+use C4::VirtualShelves qw/:DEFAULT GetShelvesSummary/;
use C4::Biblio;
use C4::Items;
-use C4::Auth;
+use C4::Auth qw/get_session/;
use C4::Output;
use Exporter;
);
$shelflist = GetShelves( $loggedinuser, 2 ); # refresh after mods
} elsif ( $op eq 'modif' ) {
- my ( $shelfnumber2, $shelfname, $owner, $category, $sortfield ) =GetShelf( $query->param('shelf') );
+ my ( $shelfnumber2, $shelfname, $owner, $category, $sortfield ) =GetShelf( $query->param('shelfnumber') );
$template->param(
edit => 1,
shelfnumber => $shelfnumber2,
last SWITCH;
}
if ( $query->param('shelves') ) {
- my $stay = 0;
+ my $stay = 1;
if (my $newshelf = $query->param('addshelf')) {
# note: a user can always add a new shelf
my $shelfnumber = AddShelf(
delete $shelflist->{$number};
push(@paramsloop, {delete_ok=>$name});
# print $query->redirect($pages{$type}->{redirect}); exit;
+ $stay = 0;
}
$showadd = 1;
$stay and $template->param(shelves => 1);
$template->param( seflag => 1);
}
+my $sessionID = $query->cookie("CGISESSID") ;
+my $session = get_session($sessionID);
+my $shelves = GetShelvesSummary($loggedinuser, 2, 10);
+$session->param('shelves', $shelves);
+$template->param( barshelves => scalar (@$shelves));
+$template->param( barshelvesloop => $shelves);
+
output_html_with_http_headers $query, $cookie, $template->output;
}
<!-- TMPL_IF NAME="barshelves" -->
<ul class="first-of-type">
<!-- TMPL_LOOP NAME="barshelvesloop" -->
- <!-- TMPL_IF EXPR="category != 1" --><li class="yuimenuitem"><a href="/cgi-bin/koha/opac-shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelfnumber" -->"><!-- TMPL_VAR NAME="shelfname" --></a></li><!-- /TMPL_IF -->
+ <!-- TMPL_UNLESS NAME="private" --><li class="yuimenuitem"><a href="/cgi-bin/koha/opac-shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelfnumber" -->"><!-- TMPL_VAR NAME="shelfname" --></a></li><!-- /TMPL_UNLESS -->
<!-- /TMPL_LOOP -->
</ul>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="barshelves" -->
<ul class="first-of-type">
<!-- TMPL_LOOP NAME="barshelvesloop" -->
- <!-- TMPL_IF EXPR="category == 1" --><li class="yuimenuitem"><a href="/cgi-bin/koha/opac-shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelfnumber" -->"><!-- TMPL_VAR NAME="shelfname" --></a></li><!-- /TMPL_IF -->
+ <!-- TMPL_IF NAME="private" --><li class="yuimenuitem"><a href="/cgi-bin/koha/opac-shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelfnumber" -->"><!-- TMPL_VAR NAME="shelfname" --></a></li><!-- /TMPL_IF -->
<!-- /TMPL_LOOP -->
</ul>
<!-- /TMPL_IF -->