# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
-# $Id$
use strict;
-
+# use Smart::Comments;
use vars qw($VERSION @ISA @EXPORT);
# set the version for version checking
-$VERSION = do { my @v = '$Revision$' =~ /\d+/g; shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v ); };
+$VERSION = 3.00;
=head1 NAME
=head3 ModBookFund
-&ModBookFund($bookfundname,$branchcode,$bookfundid);
-this function update the bookfundname and the branchcode on aqbookfund table
-on database.
+&ModBookFund($bookfundname,$bookfundid,$current_branch, $branchcode)
+
+This function updates the bookfundname and the branchcode in the aqbookfund table.
=cut
+# FIXME: use placeholders, ->prepare(), ->execute()
+
sub ModBookFund {
- my ($bookfundname,$bookfundid,$branchcode) = @_;
+ my ($bookfundname,$bookfundid,$current_branch, $branchcode) = @_;
+
my $dbh = C4::Context->dbh;
- my $query = "
- UPDATE aqbookfund
- SET bookfundname = ?
- WHERE bookfundid = ?
- AND branchcode= ?
- ";
- warn "name : $bookfundname";
- my $sth=$dbh->prepare($query);
- $sth->execute($bookfundname,$bookfundid,"$branchcode");
-# budgets depending on a bookfund must have the same branchcode
-# if the bookfund branchcode is set
- if (defined $branchcode) {
- $query = "
- UPDATE aqbudget
- SET branchcode = ?
- ";
- $sth=$dbh->prepare($query);
- $sth->execute($branchcode);
+
+ my $retval = $dbh->do("
+ UPDATE aqbookfund
+ SET bookfundname = '$bookfundname',
+ branchcode = '$branchcode'
+ WHERE bookfundid = '$bookfundid'
+ AND branchcode = '$current_branch'
+ ");
+
+ ### $retval
+
+ # budgets depending on a bookfund must have the same branchcode
+
+ # if the bookfund branchcode is set, and previous update is successfull, then update aqbudget.branchcode too.
+ if (defined $branchcode && $retval > 0) {
+ my $query = "UPDATE aqbudget
+ SET branchcode = ?
+ WHERE bookfundid = ? ";
+
+ my $sth=$dbh->prepare($query);
+ $sth->execute($branchcode, $bookfundid) ;
}
}
AND branchcode = ?
";
my $sth = $dbh->prepare($query);
- $sth->execute($bookfundid,$branchcode);
+ $sth->execute($bookfundid,"$branchcode");
return $sth->fetchrow;
}