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

(-)a/C4/Acquisition.pm (-20 / +27 lines)
Lines 1560-1565 sub CancelReceipt { Link Here
1560
        };
1560
        };
1561
        $sth = $dbh->prepare($query);
1561
        $sth = $dbh->prepare($query);
1562
        $sth->execute(0, undef, undef, $ordernumber);
1562
        $sth->execute(0, undef, undef, $ordernumber);
1563
        _cancel_items_receipt( $ordernumber );
1563
    } else {
1564
    } else {
1564
        # The order line has a parent, increase parent quantity and delete
1565
        # The order line has a parent, increase parent quantity and delete
1565
        # the order line.
1566
        # the order line.
Lines 1596-1620 sub CancelReceipt { Link Here
1596
                " receipt";
1597
                " receipt";
1597
            return;
1598
            return;
1598
        }
1599
        }
1599
        if(C4::Context->preference('AcqCreateItem') eq 'receiving') {
1600
        _cancel_items_receipt( $ordernumber, $parent_ordernumber );
1600
            # Remove items that were created at receipt
1601
            $query = qq{
1602
                DELETE FROM items, aqorders_items
1603
                USING items, aqorders_items
1604
                WHERE items.itemnumber = ? AND aqorders_items.itemnumber = ?
1605
            };
1606
            $sth = $dbh->prepare($query);
1607
            my @itemnumbers = GetItemnumbersFromOrder($ordernumber);
1608
            foreach my $itemnumber (@itemnumbers) {
1609
                $sth->execute($itemnumber, $itemnumber);
1610
            }
1611
        } else {
1612
            # Update items
1613
            my @itemnumbers = GetItemnumbersFromOrder($ordernumber);
1614
            foreach my $itemnumber (@itemnumbers) {
1615
                ModItemOrder($itemnumber, $parent_ordernumber);
1616
            }
1617
        }
1618
        # Delete order line
1601
        # Delete order line
1619
        $query = qq{
1602
        $query = qq{
1620
            DELETE FROM aqorders
1603
            DELETE FROM aqorders
Lines 1628-1633 sub CancelReceipt { Link Here
1628
    return $parent_ordernumber;
1611
    return $parent_ordernumber;
1629
}
1612
}
1630
1613
1614
sub _cancel_items_receipt {
1615
    my ( $ordernumber, $parent_ordernumber ) = @_;
1616
    $parent_ordernumber ||= $ordernumber;
1617
1618
    my @itemnumbers = GetItemnumbersFromOrder($ordernumber);
1619
    if(C4::Context->preference('AcqCreateItem') eq 'receiving') {
1620
        # Remove items that were created at receipt
1621
        my $query = qq{
1622
            DELETE FROM items, aqorders_items
1623
            USING items, aqorders_items
1624
            WHERE items.itemnumber = ? AND aqorders_items.itemnumber = ?
1625
        };
1626
        my $dbh = C4::Context->dbh;
1627
        my $sth = $dbh->prepare($query);
1628
        foreach my $itemnumber (@itemnumbers) {
1629
            $sth->execute($itemnumber, $itemnumber);
1630
        }
1631
    } else {
1632
        # Update items
1633
        foreach my $itemnumber (@itemnumbers) {
1634
            ModItemOrder($itemnumber, $parent_ordernumber);
1635
        }
1636
    }
1637
}
1638
1631
#------------------------------------------------------------#
1639
#------------------------------------------------------------#
1632
1640
1633
=head3 SearchOrders
1641
=head3 SearchOrders
1634
- 

Return to bug 11744