BEGIN {
# set the version for version checking
$VERSION = 3.01;
+ require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(
- &GetBookSeller &GetBooksellersWithLateOrders
+ &GetBookSeller &GetBooksellersWithLateOrders &GetBookSellerFromId
&ModBookseller
&DelBookseller
&AddBookseller
=cut
-sub GetBookSeller {
+# FIXME: This function is badly named. It should be something like
+# SearchBookSellersByName. It is NOT a singular return value.
+
+sub GetBookSeller($) {
my ($searchstring) = @_;
my $dbh = C4::Context->dbh;
- my $query = "
- SELECT *
- FROM aqbooksellers
- WHERE name LIKE ? OR id = ?
- ";
+ my $query = "SELECT * FROM aqbooksellers WHERE name LIKE ?";
my $sth =$dbh->prepare($query);
- $sth->execute("$searchstring%", $searchstring );
+ $sth->execute( "$searchstring%" );
my @results;
# count how many baskets this bookseller has.
# if it has none, the bookseller can be deleted
- my $sth2 = $dbh->prepare("select count(*) from aqbasket where booksellerid=?");
+ my $sth2 = $dbh->prepare("SELECT count(*) FROM aqbasket WHERE booksellerid=?");
while ( my $data = $sth->fetchrow_hashref ) {
$sth2->execute($data->{id});
- ($data->{basketcount}) = $sth2->fetchrow();
+ $data->{basketcount} = $sth2->fetchrow();
push( @results, $data );
}
$sth->finish;
}
+sub GetBookSellerFromId($) {
+ my ($id) = shift or return undef;
+ my $dbh = C4::Context->dbh();
+ my $query = "SELECT * FROM aqbooksellers WHERE id = ?";
+ my $sth =$dbh->prepare($query);
+ $sth->execute( $id );
+ if (my $data = $sth->fetchrow_hashref()){
+ my $sth2 = $dbh->prepare("SELECT count(*) FROM aqbasket WHERE booksellerid=?");
+ $sth2->execute($id);
+ $data->{basketcount}=$sth2->fetchrow();
+ return ($data);
+ }
+ return 0;
+}
#-----------------------------------------------------------------#
=head2 GetBooksellersWithLateOrders
=cut
sub GetBooksellersWithLateOrders {
- my ($delay,$branch) = @_;
+ my ($delay,$branch) = @_; # FIXME: Branch argument unused.
my $dbh = C4::Context->dbh;
# FIXME NOT quite sure that this operation is valid for DBMs different from Mysql, HOPING so
);
# return the id of this new supplier
+ # FIXME: no protection against simultaneous addition: max(id) might be wrong!
$query = "
SELECT max(id)
FROM aqbooksellers
#-----------------------------------------------------------------#
-=head2 ModSupplier
+=head2 ModBookseller
-&ModSupplier($bookseller);
+&ModBookseller($bookseller);
Updates the information for a given bookseller. C<$bookseller> is a
reference-to-hash whose keys are the fields of the aqbooksellers table