# getting the Shelves list
my $category = (($displaymode eq 'privateshelves') ? 1 : 2);
my ($shelflist, $totshelves) = GetShelves( $category, $shelveslimit, $shelvesoffset, $loggedinuser );
+ #Get a list of private shelves for possible deletion. Only do this when we've defaulted to public shelves
+ my ($privshelflist, $privtotshelves);
+ if ($category == 2) {
+ ($privshelflist, $privtotshelves) = GetShelves( 1, $shelveslimit, $shelvesoffset, $loggedinuser );
+ }
my $op = $query->param('op');
# my $imgdir = getitemtypeimagesrc();
# my $itemtypes = GetItemTypes();
#$this_item->{'description'} = $itemtypes->{ $this_item->{itemtype} }->{'description'};
$this_item->{'dateadded'} = format_date($this_item->{'dateadded'});
}
+ push @paramsloop, {display => 'privateshelves'} if $category == 1;
$showadd = 1;
my $i = 0;
foreach (grep {$i++ % 2} @$items) { # every other item
}
my $manageshelf = ShelfPossibleAction( $loggedinuser, $shelfnumber, 'manage' );
$template->param(
- shelfname => $shelflist->{$shelfnumber}->{'shelfname'},
+ shelfname => $shelflist->{$shelfnumber}->{'shelfname'} || $privshelflist->{$shelfnumber}->{'shelfname'},
shelfnumber => $shelfnumber,
viewshelf => $shelfnumber,
manageshelf => $manageshelf,
/DEL-(\d+)/ or next;
$delflag = 1;
my $number = $1;
- unless (defined $shelflist->{$number}) {
+ unless (defined $shelflist->{$number} || defined $privshelflist->{$number}) {
push(@paramsloop, {unrecognized=>$number}); last;
}
unless (ShelfPossibleAction($loggedinuser, $number, 'manage')) {
($contents, $totshelves) = GetShelfContents($number, $shelveslimit, $shelvesoffset);
if (my $count = scalar @$contents){
unless (scalar grep {/^CONFIRM-$number$/} $query->param()) {
- push(@paramsloop, {need_confirm=>$shelflist->{$number}->{shelfname}, count=>$count});
- $shelflist->{$number}->{confirm} = $number;
+ if (defined $shelflist->{$number}) {
+ push(@paramsloop, {need_confirm=>$shelflist->{$number}->{shelfname}, count=>$count});
+ $shelflist->{$number}->{confirm} = $number;
+ } else {
+ push(@paramsloop, {need_confirm=>$privshelflist->{$number}->{shelfname}, count=>$count});
+ $privshelflist->{$number}->{confirm} = $number;
+ }
$stay = 0;
next;
}
}
- my $name = $shelflist->{$number}->{'shelfname'};
+ my $name;
+ if (defined $shelflist->{$number}) {
+ $name = $shelflist->{$number}->{'shelfname'};
+ delete $shelflist->{$number};
+ } else {
+ $name = $privshelflist->{$number}->{'shelfname'};
+ delete $privshelflist->{$number};
+ }
unless (DelShelf($number)) {
push(@paramsloop, {delete_fail=>$name}); last;
}
- delete $shelflist->{$number};
push(@paramsloop, {delete_ok=>$name});
# print $query->redirect($pages{$type}->{redirect}); exit;
$stay = 0;
function confirmDelete(message){
if (window.confirm(message)) {
- location.href="/cgi-bin/koha/virtualshelves/shelves.pl?shelves=1&DEL-<!-- TMPL_VAR NAME="shelfnumber" -->=1";
+ location.href="/cgi-bin/koha/virtualshelves/shelves.pl?<!-- TMPL_IF NAME="showprivateshelves" -->display=privateshelves&<!-- /TMPL_IF -->shelves=1&DEL-<!-- TMPL_VAR NAME="shelfnumber" -->=1";
} else {
return false;
}
<tr><th>List Name</th><th>Contents</th><th>Sort by</th><th>Type</th><th>Options</th></tr>
<!-- TMPL_LOOP NAME="shelveslooppriv" -->
<!-- TMPL_IF NAME="toggle" --><tr class="highlight"><!--TMPL_ELSE--><tr><!-- /TMPL_IF -->
- <td><a href="shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelf" -->"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></a></td>
+ <td><a href="shelves.pl?<!-- TMPL_IF NAME="showprivateshelves" -->display=privateshelves&<!-- /TMPL_IF -->viewshelf=<!-- TMPL_VAR NAME="shelf" -->"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></a></td>
<td><!-- TMPL_VAR NAME="count" --> item(s)</td>
<td><!-- TMPL_VAR NAME="sortfield" --></td>
<td><!-- TMPL_IF NAME="viewcategory1" -->Private<!-- /TMPL_IF -->
</form>
<form action="shelves.pl" method="post">
<input type="hidden" name="shelves" value="1" />
+ <input type="hidden" name="display" value="privateshelves" />
<input type="hidden" name="DEL-<!-- TMPL_VAR NAME="shelf" -->" value="1" />
<!-- TMPL_IF NAME="confirm" -->
<input type="hidden" name="CONFIRM-<!-- TMPL_VAR NAME="confirm" -->" value="1" />
<!-- TMPL_IF NAME="manageshelf" --><div><span class="checkall"></span>
<span class="clearall"></span> | <a class="editshelf" href="/cgi-bin/koha/opac-shelves.pl?shelfnumber=<!-- TMPL_VAR NAME="shelfnumber" -->&op=modif">Edit List</a> <form method="post" action="opac-shelves.pl">
<input type="hidden" value="1" name="shelves"/>
+<!-- TMPL_IF NAME="showprivateshelves" -->
+<input type="hidden" name="display" value="privateshelves" />
+<!-- /TMPL_IF -->
<input type="hidden" value="1" name="DEL-<!-- TMPL_VAR NAME="shelfnumber" -->"/>
<input type="submit" class="deleteshelf" value="Delete List" onclick="return confirmDelete(_('Are you sure you want to remove this List?'));"/></form>
</div><!-- /TMPL_IF -->
<tr><th>List Name</th><th>Contents</th><th>Sort by</th><th>Type</th><th> </th></tr>
<!-- TMPL_LOOP NAME="shelveslooppriv" -->
<!-- TMPL_IF NAME="toggle" --><tr class="highlight"><!--TMPL_ELSE--><tr><!-- /TMPL_IF -->
- <td><a href="opac-shelves.pl?viewshelf=<!-- TMPL_VAR NAME="shelf" -->"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></a></td>
+ <td><a href="opac-shelves.pl?display=privateshelves&viewshelf=<!-- TMPL_VAR NAME="shelf" -->"><!-- TMPL_VAR NAME="shelfname" ESCAPE="html" --></a></td>
<td><!-- TMPL_VAR NAME="count" --> item(s)</td>
<td><!-- TMPL_VAR NAME="sortfield" --></td>
<td><!-- TMPL_IF NAME="viewcategory1" -->Private<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="mine" -->
<form action="opac-shelves.pl" method="get">
<input type="hidden" name="shelfnumber" value="<!-- TMPL_VAR NAME="shelf" -->" />
+ <input type="hidden" name="display" value="privateshelves" />
<input type="hidden" name="op" value="modif" />
<input type="submit" class="editshelf" value="Edit" />
</form>
<form action="opac-shelves.pl" method="post">
<input type="hidden" name="shelves" value="1" />
- <input type="hidden" name="DEL-<!-- TMPL_VAR NAME="shelf" -->" value="1" />
<input type="hidden" name="display" value="privateshelves" />
+ <input type="hidden" name="DEL-<!-- TMPL_VAR NAME="shelf" -->" value="1" />
<!-- TMPL_IF NAME="confirm" -->
<input type="hidden" name="CONFIRM-<!-- TMPL_VAR NAME="confirm" -->" value="1" />
<input type="submit" class="confirm" value="Confirm" />