my $env;
my $query = new CGI;
+
my ($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "opac-shelves.tmpl",
query => $query,
type => "opac",
- authnotrequired => 0,
- flagsrequired => {catalogue => 1},
+ authnotrequired => 1,
});
if ($query->param('modifyshelfcontents')) {
my ($shelflist) = GetShelfList($loggedinuser,2);
$template->param({ loggedinuser => $loggedinuser,
- LibraryName => C4::Context->preference("LibraryName"),
- });
+ suggestion => C4::Context->preference("suggestion"),
+ virtualshelves => C4::Context->preference("virtualshelves"),
+ });
SWITCH: {
- if ($query->param('viewshelf')) { viewshelf($query->param('viewshelf')); last SWITCH;}
- if ($query->param('shelves')) { shelves(); last SWITCH;}
+ if ($query->param('op') eq 'modifsave') {
+ ModifShelf($query->param('shelfnumber'),$query->param('shelfname'),$loggedinuser,$query->param('category'));
+ last SWITCH;
+ }
+ if ($query->param('op') eq 'modif') {
+ my ($shelfnumber,$shelfname,$owner,$category) = GetShelf($query->param('shelf'));
+ $template->param(edit => 1,
+ shelfnumber => $shelfnumber,
+ shelfname => $shelfname,
+ "category$category" => 1);
+# editshelf($query->param('shelf'));
+ last SWITCH;
+ }
+ if ($query->param('viewshelf')) {
+ viewshelf($query->param('viewshelf'));
+ last SWITCH;
+ }
+ if ($query->param('shelves')) {
+ shelves();
+ last SWITCH;
+ }
}
($shelflist) = GetShelfList($loggedinuser,2); # rebuild shelflist in case a shelf has been added
-my $color=1;
+my $color='';
my @shelvesloop;
foreach my $element (sort keys %$shelflist) {
my %line;
- $line{'color'}= 1 if ($color eq 1);
- $color = -$color;
+ ($color eq 0) ? ($color=1) : ($color=0);
+ $line{'color'}= $color;
$line{'shelf'}=$element;
$line{'shelfname'}=$shelflist->{$element}->{'shelfname'};
+ $line{"category".$shelflist->{$element}->{'category'}} = 1;
+ $line{'mine'} = 1 if $shelflist->{$element}->{'owner'} eq $loggedinuser;
$line{'shelfbookcount'}=$shelflist->{$element}->{'count'};
$line{'canmanage'} = ShelfPossibleAction($loggedinuser,$element,'manage');
+ $line{'firstname'}=$shelflist->{$element}->{'firstname'} unless $shelflist->{$element}->{'owner'} eq $loggedinuser;
+ $line{'surname'}=$shelflist->{$element}->{'surname'} unless $shelflist->{$element}->{'owner'} eq $loggedinuser;
;
push (@shelvesloop, \%line);
}
output_html_with_http_headers $query, $cookie, $template->output;
+# sub editshelf {
+# my ($shelfnumber) = @_;
+# my ($shelfnumber,$shelfname,$owner,$category) = GetShelf($shelfnumber);
+# $template->param(edit => 1,
+# shelfnumber => $shelfnumber,
+# shelfname => $shelfname,
+# "category$category" => 1);
+# }
sub shelves {
if (my $newshelf=$query->param('addshelf')) {
my ($status, $string) = AddShelf($env,$newshelf,$query->param('owner'),$query->param('category'));
}
$template->param(paramsloop => \@paramsloop);
my ($shelflist) = GetShelfList($loggedinuser,2);
- my $color=1;
+ my $color='';
my @shelvesloop;
foreach my $element (sort keys %$shelflist) {
my %line;
- $line{'color'}=1 if ($color eq 1);
- $color = -$color;
+ ($color eq 0) ? ($color=1) : ($color=0);
+ $line{'color'}=$color;
$line{'shelf'}=$element;
$line{'shelfname'}=$shelflist->{$element}->{'shelfname'} ;
$line{'shelfbookcount'}=$shelflist->{$element}->{'count'} ;
return unless (ShelfPossibleAction($loggedinuser,$shelfnumber,'view'));
my ($itemlist) = GetShelfContents($env, $shelfnumber);
my $item='';
- my $color=1;
+ my $color='';
my @itemsloop;
foreach $item (sort {$a->{'barcode'} cmp $b->{'barcode'}} @$itemlist) {
my %line;
- $line{'color'}=1 if ($color eq 1);
- $color = -$color;
+ ($color eq 0) ? ($color=1) : ($color=0);
+ $line{'color'}=$color;
$line{'itemnumber'}=$item->{'itemnumber'};
$line{'barcode'}=$item->{'barcode'};
$line{'title'}=$item->{'title'};
$line{'author'}=$item->{'author'};
- $line{'biblionumber'} = $item->{'biblionumber'};
+ $line{'classification'}=$item->{'classification'};
+ $line{'itemtype'}=$item->{'itemtype'};
+ $line{biblionumber} = $item->{biblionumber};
push(@itemsloop, \%line);
}
$template->param( itemsloop => \@itemsloop,
#
# $Log$
-# Revision 1.1 2004/03/15 15:02:19 tipaul
-# adding virtual shelves to opac
+# Revision 1.7 2005/05/04 09:02:38 tipaul
+# synch'ing 2.2 and head
+#
+# Revision 1.3.2.4 2005/03/25 17:04:28 tipaul
+# adding virtual shelves & suggestions button to the top
+#
+# Revision 1.3.2.3 2005/01/27 17:18:28 oleonard
+# Taking table cell background color information out of the script and moving it into the template (requires update to opac-shelves.tmpl)
+#
+# Revision 1.3.2.2 2005/01/11 20:18:29 oleonard
+# Adding call number and item type to list of returned variables
+#
+# Revision 1.3.2.1 2005/01/11 16:33:57 tipaul
+# fix for http://bugs.koha.org/cgi-bin/bugzilla/show_bug.cgi?id=811 :
+# The OPAC requires uses to log in to view virtual shelves, and it requires a user
+# with librarian privileges. Virtual shelves should be viewable by all users,
+# logged in or not, and editable by all logged-in users in good standing.
+#
+# Revision 1.3 2005/01/03 11:09:34 tipaul
+# synch'ing virtual shelves management in opac with the librarian one, that has more features
+#
+# Revision 1.5 2004/12/16 11:30:57 tipaul
+# adding bookshelf features :
+# * create bookshelf on the fly
+# * modify a bookshelf name & status
+#
+# Revision 1.4 2004/12/15 17:28:23 tipaul
+# adding bookshelf features :
+# * create bookshelf on the fly
+# * modify a bookshelf (this being not finished, will commit the rest soon)
+#
+# Revision 1.3 2004/12/02 16:38:50 tipaul
+# improvement in book shelves
+#
+# Revision 1.2 2004/11/19 16:31:30 tipaul
+# bugfix for bookshelves not in official CVS
#
# Revision 1.1.2.1 2004/03/10 15:08:18 tipaul
# modifying shelves : introducing category of shelf : private, public, free for all