-
- # get existing reserves .....
- my ($count,$reserves) = GetReservesFromBiblionumber($biblio);
- my $totalcount = $count;
- foreach my $res (@$reserves) {
- if ($res->{'found'} eq 'W') {
- $count--;
+ my ($count2,@bibitems) = GetBiblioItemByBiblioNumber($biblio);
+ my @itemresults = GetItemsInfo( $subs->{biblionumber} );
+ my $branch = $itemresults[0]->{'holdingbranch'};
+ my $branchname = GetBranchName($branch);
+
+ 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 $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});
+ my $reserve = $sth->fetchrow_hashref;
+
+ if($routing->{borrowernumber} == $reserve->{borrowernumber}){
+ ModReserve({
+ rank => $routing->{ranking},
+ biblionumber => $biblio,
+ borrowernumber => $routing->{borrowernumber},
+ branchcode => $branch
+ });
+ } else {
+ AddReserve($branch,$routing->{borrowernumber},$biblio,\@bibitems,$routing->{ranking}, undef, undef, $notes,$title);