[Koha-cvs] CVS: koha/C4 BookShelves.pm,1.11.2.1,1.11.2.2
Paul POULAIN
tipaul at users.sourceforge.net
Thu Feb 19 11:15:44 CET 2004
Update of /cvsroot/koha/koha/C4
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22735/C4
Modified Files:
Tag: rel_2_0
BookShelves.pm
Log Message:
new feature : adding book to bookshelf from biblio detail screen.
Index: BookShelves.pm
===================================================================
RCS file: /cvsroot/koha/koha/C4/BookShelves.pm,v
retrieving revision 1.11.2.1
retrieving revision 1.11.2.2
diff -C2 -r1.11.2.1 -r1.11.2.2
*** BookShelves.pm 6 Feb 2004 14:16:55 -0000 1.11.2.1
--- BookShelves.pm 19 Feb 2004 10:15:41 -0000 1.11.2.2
***************
*** 54,58 ****
@ISA = qw(Exporter);
! @EXPORT = qw(&GetShelfList &GetShelfContents &AddToShelf &RemoveFromShelf &AddShelf &RemoveShelf);
my $dbh = C4::Context->dbh;
--- 54,59 ----
@ISA = qw(Exporter);
! @EXPORT = qw(&GetShelfList &GetShelfContents &AddToShelf &AddToShelfFromBiblio
! &RemoveFromShelf &AddShelf &RemoveShelf);
my $dbh = C4::Context->dbh;
***************
*** 86,104 ****
# hash.
sub GetShelfList {
! # FIXME - These two database queries can be combined into one:
! # SELECT bookshelf.shelfnumber, bookshelf.shelfname,
! # count(shelfcontents.itemnumber)
! # FROM bookshelf
! # LEFT JOIN shelfcontents
! # ON bookshelf.shelfnumber = shelfcontents.shelfnumber
! # GROUP BY bookshelf.shelfnumber
! my $sth=$dbh->prepare("select shelfnumber,shelfname from bookshelf");
$sth->execute;
my %shelflist;
! while (my ($shelfnumber, $shelfname) = $sth->fetchrow) {
! my $sti=$dbh->prepare("select count(*) from shelfcontents where shelfnumber=?");
! # FIXME - Should there be an "order by" in here somewhere?
! $sti->execute($shelfnumber);
! my ($count) = $sti->fetchrow;
$shelflist{$shelfnumber}->{'shelfname'}=$shelfname;
$shelflist{$shelfnumber}->{'count'}=$count;
--- 87,99 ----
# hash.
sub GetShelfList {
! my $sth=$dbh->prepare("SELECT bookshelf.shelfnumber, bookshelf.shelfname,
! count(shelfcontents.itemnumber) as count
! FROM bookshelf
! LEFT JOIN shelfcontents
! ON bookshelf.shelfnumber = shelfcontents.shelfnumber
! GROUP BY bookshelf.shelfnumber order by shelfname");
$sth->execute;
my %shelflist;
! while (my ($shelfnumber, $shelfname,$count) = $sth->fetchrow) {
$shelflist{$shelfnumber}->{'shelfname'}=$shelfname;
$shelflist{$shelfnumber}->{'count'}=$count;
***************
*** 157,160 ****
--- 152,170 ----
}
}
+ sub AddToShelfFromBiblio {
+ my ($env, $biblionumber, $shelfnumber) = @_;
+ return unless $biblionumber;
+ my $sth = $dbh->prepare("select itemnumber from items where biblionumber=?");
+ $sth->execute($biblionumber);
+ my ($itemnumber) = $sth->fetchrow;
+ $sth=$dbh->prepare("select * from shelfcontents where shelfnumber=? and itemnumber=?");
+ $sth->execute($shelfnumber, $itemnumber);
+ if ($sth->rows) {
+ # already on shelf
+ } else {
+ $sth=$dbh->prepare("insert into shelfcontents (shelfnumber, itemnumber, flags) values (?, ?, 0)");
+ $sth->execute($shelfnumber, $itemnumber);
+ }
+ }
=item RemoveFromShelf
***************
*** 240,243 ****
--- 250,256 ----
#
# $Log$
+ # Revision 1.11.2.2 2004/02/19 10:15:41 tipaul
+ # new feature : adding book to bookshelf from biblio detail screen.
+ #
# Revision 1.11.2.1 2004/02/06 14:16:55 tipaul
# fixing bugs in bookshelves management.
More information about the Koha-cvs
mailing list