use C4::Items;
use C4::Serials;
use URI::Escape;
-use C4::Branch;
+
+use Koha::Biblios;
use Koha::Libraries;
+use Koha::Patrons;
my $query = new CGI;
my $subscriptionid = $query->param('subscriptionid');
if($ok){
# get biblio information....
- my $biblio = $subs->{'biblionumber'};
- my ($count2,@bibitems) = GetBiblioItemByBiblioNumber($biblio);
- my @itemresults = GetItemsInfo( $subs->{biblionumber} );
- my $branch = $itemresults[0]->{'holdingbranch'};
+ my $biblionumber = $subs->{'bibnum'};
+ my ($count2,@bibitems) = GetBiblioItemByBiblioNumber($biblionumber);
+ my @itemresults = GetItemsInfo( $biblionumber );
+ my $branch = @itemresults ? $itemresults[0]->{'holdingbranch'} : $subs->{branchcode};
my $branchname = Koha::Libraries->find($branch)->branchname;
if (C4::Context->preference('RoutingListAddReserves')){
# get existing reserves .....
- my $reserves = GetReservesFromBiblionumber({ biblionumber => $biblio });
- my $count = scalar( @$reserves );
- my $totalcount = $count;
- foreach my $res (@$reserves) {
- if ($res->{'found'} eq 'W') {
- $count--;
- }
- }
+
+ my $biblio = Koha::Biblios->find( $biblionumber );
+ my $holds = $biblio->current_holds;
+ my $count = $holds->count;
+ while ( my $hold = $holds->next ) {
+ $count-- if $hold->is_waiting;
+ }
my $notes;
my $title = $subs->{'bibliotitle'};
for my $routing ( @routinglist ) {
my $sth = $dbh->prepare('SELECT * FROM reserves WHERE biblionumber = ? AND borrowernumber = ? LIMIT 1');
- $sth->execute($biblio,$routing->{borrowernumber});
+ $sth->execute($biblionumber,$routing->{borrowernumber});
my $reserve = $sth->fetchrow_hashref;
if($routing->{borrowernumber} == $reserve->{borrowernumber}){
ModReserve({
rank => $routing->{ranking},
- biblionumber => $biblio,
+ biblionumber => $biblionumber,
borrowernumber => $routing->{borrowernumber},
branchcode => $branch
});
} else {
- AddReserve($branch,$routing->{borrowernumber},$biblio,\@bibitems,$routing->{ranking}, undef, undef, $notes,$title);
+ AddReserve($branch,$routing->{borrowernumber},$biblionumber,\@bibitems,$routing->{ranking}, undef, undef, $notes,$title);
}
}
}
my $memberloop = [];
for my $routing (@routinglist) {
- my $member = GetMember( borrowernumber => $routing->{borrowernumber} );
+ my $member = Koha::Patrons->find( $routing->{borrowernumber} )->unblessed;
$member->{name} = "$member->{firstname} $member->{surname}";
push @{$memberloop}, $member;
}