View | Details | Raw Unified | Return to bug 15516
Collapse All | Expand All

(-)a/C4/Reserves.pm (-13 / +18 lines)
Lines 1237-1242 sub ModReserveAffect { Link Here
1237
1237
1238
    $hold->itemnumber($itemnumber);
1238
    $hold->itemnumber($itemnumber);
1239
1239
1240
    my @reserve_ids;
1241
    push @reserve_ids, $hold->reserve_id;
1242
1240
    if ($transferToDo) {
1243
    if ($transferToDo) {
1241
        $hold->set_transfer();
1244
        $hold->set_transfer();
1242
    } elsif (C4::Context->preference('HoldsNeedProcessingSIP')
1245
    } elsif (C4::Context->preference('HoldsNeedProcessingSIP')
Lines 1253-1258 sub ModReserveAffect { Link Here
1253
        # if this hold was part of a group, cancel other holds in the group
1256
        # if this hold was part of a group, cancel other holds in the group
1254
        my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id });
1257
        my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id });
1255
        foreach my $h ( @holds ) {
1258
        foreach my $h ( @holds ) {
1259
            push @reserve_ids, $h->reserve_id;
1256
            $h->cancel unless $h->reserve_id == $hold->reserve_id;
1260
            $h->cancel unless $h->reserve_id == $hold->reserve_id;
1257
        }
1261
        }
1258
    }
1262
    }
Lines 1266-1283 sub ModReserveAffect { Link Here
1266
      CartToShelf( $itemnumber );
1270
      CartToShelf( $itemnumber );
1267
    }
1271
    }
1268
1272
1269
    my $std = $dbh->prepare(q{
1273
    foreach my $id ( @reserve_ids ) {
1270
        DELETE  q, t
1274
        my $std = $dbh->prepare(q{
1271
        FROM    tmp_holdsqueue q
1275
            DELETE  q, t
1272
        INNER JOIN hold_fill_targets t
1276
            FROM    tmp_holdsqueue q
1273
        ON  q.borrowernumber = t.borrowernumber
1277
            INNER JOIN hold_fill_targets t
1274
            AND q.biblionumber = t.biblionumber
1278
            ON  q.borrowernumber = t.borrowernumber
1275
            AND q.itemnumber = t.itemnumber
1279
                AND q.biblionumber = t.biblionumber
1276
            AND q.item_level_request = t.item_level_request
1280
                AND q.itemnumber = t.itemnumber
1277
            AND q.holdingbranch = t.source_branchcode
1281
                AND q.item_level_request = t.item_level_request
1278
        WHERE t.reserve_id = ?
1282
                AND q.holdingbranch = t.source_branchcode
1279
    });
1283
            WHERE t.reserve_id = ?
1280
    $std->execute($hold->reserve_id);
1284
        });
1285
        $std->execute($id);
1286
    }
1281
1287
1282
    logaction( 'HOLDS', 'MODIFY', $hold->reserve_id, $hold )
1288
    logaction( 'HOLDS', 'MODIFY', $hold->reserve_id, $hold )
1283
        if C4::Context->preference('HoldsLog');
1289
        if C4::Context->preference('HoldsLog');
1284
- 

Return to bug 15516