+ #Close this page and return
+ print $query->header;
+ print "<html><meta http-equiv=\"refresh\" content=\"0\" /><body onload=\"self.close();\"></body></html>";
+ exit;
+ } else {
+ $authorized = 0;
+ }
+} elsif ($selectedshelf) {
+ my $shelfnumber = $query->param('selectedshelf');
+ my $shelf = Koha::Virtualshelves->find($shelfnumber);
+ if ( $shelf->can_biblios_be_added($loggedinuser) ) {
+ $template->param(
+ singleshelf => 1,
+ shelfnumber => $shelf->shelfnumber,
+ shelfname => $shelf->shelfname,
+ );
+ } else {
+ $authorized = 0;
+ }
+} else {
+ if ( $loggedinuser > 0 ) {
+ my $private_shelves = Koha::Virtualshelves->search(
+ { category => 1,
+ owner => $loggedinuser,
+ },
+ { order_by => 'shelfname' }
+ );
+ my $shelves_shared_with_me = Koha::Virtualshelves->search(
+ { category => 1,
+ 'virtualshelfshares.borrowernumber' => $loggedinuser,
+ -or => {
+ allow_add => 1,
+ owner => $loggedinuser,
+ }
+ },
+ { join => 'virtualshelfshares', }
+ );
+ my $public_shelves = Koha::Virtualshelves->search(
+ { category => 2,
+ -or => {
+ allow_add => 1,
+ owner => $loggedinuser,
+ }
+ },
+ { order_by => 'shelfname' }
+ );
+ $template->param(
+ private_shelves => $private_shelves,
+ private_shelves_shared_with_me => $shelves_shared_with_me,
+ public_shelves => $public_shelves,
+ );
+ } else {
+ $authorized = 0;
+ }