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

(-)a/C4/Acquisition.pm (-11 / +15 lines)
Lines 1438-1444 C<$ordernumber>. Link Here
1438
sub ModReceiveOrder {
1438
sub ModReceiveOrder {
1439
    my (
1439
    my (
1440
        $biblionumber,    $ordernumber,  $quantrec, $user, $cost, $ecost,
1440
        $biblionumber,    $ordernumber,  $quantrec, $user, $cost, $ecost,
1441
        $invoiceid, $rrp, $budget_id, $datereceived, $received_items
1441
        $invoiceid, $rrp, $budget_id, $datereceived, $received_items, $notes
1442
    )
1442
    )
1443
    = @_;
1443
    = @_;
1444
1444
Lines 1466-1479 q{SELECT * FROM aqorders WHERE biblionumber=? AND aqorders.ordernumber=?}, Link Here
1466
        # without received items (the quantity is decreased),
1466
        # without received items (the quantity is decreased),
1467
        # the second part is a new order line with quantity=quantityrec
1467
        # the second part is a new order line with quantity=quantityrec
1468
        # (entirely received)
1468
        # (entirely received)
1469
        my $sth=$dbh->prepare("
1469
        my $query = q|
1470
            UPDATE aqorders
1470
            UPDATE aqorders
1471
            SET quantity = ?,
1471
            SET quantity = ?,
1472
                orderstatus = 'partial'
1472
                orderstatus = 'partial'|;
1473
            WHERE ordernumber = ?
1473
        $query .= q|, notes = ?| if defined $notes;
1474
        ");
1474
        $query .= q| WHERE ordernumber = ?|;
1475
        my $sth = $dbh->prepare($query);
1475
1476
1476
        $sth->execute($order->{quantity} - $quantrec, $ordernumber);
1477
        $sth->execute($order->{quantity} - $quantrec, ( defined $notes ? $notes : () ), $ordernumber);
1477
1478
1478
        delete $order->{'ordernumber'};
1479
        delete $order->{'ordernumber'};
1479
        $order->{'budget_id'} = ( $budget_id || $order->{'budget_id'} );
1480
        $order->{'budget_id'} = ( $budget_id || $order->{'budget_id'} );
Lines 1494-1504 q{SELECT * FROM aqorders WHERE biblionumber=? AND aqorders.ordernumber=?}, Link Here
1494
            }
1495
            }
1495
        }
1496
        }
1496
    } else {
1497
    } else {
1497
        my $sth=$dbh->prepare("update aqorders
1498
        my $query = q|
1498
                            set quantityreceived=?,datereceived=?,invoiceid=?,
1499
            update aqorders
1499
                                unitprice=?,rrp=?,ecost=?,budget_id=?,orderstatus='complete'
1500
            set quantityreceived=?,datereceived=?,invoiceid=?,
1500
                            where biblionumber=? and ordernumber=?");
1501
                unitprice=?,rrp=?,ecost=?,budget_id=?,orderstatus='complete'|;
1501
        $sth->execute($quantrec,$datereceived,$invoiceid,$cost,$rrp,$ecost,$budget_id,$biblionumber,$ordernumber);
1502
        $query .= q|, notes = ?| if defined $notes;
1503
        $query .= q| where biblionumber=? and ordernumber=?|;
1504
        my $sth = $dbh->prepare( $query );
1505
        $sth->execute($quantrec,$datereceived,$invoiceid,$cost,$rrp,$ecost,$budget_id,( defined $notes ? $notes : () ),$biblionumber,$ordernumber);
1502
    }
1506
    }
1503
    return ($datereceived, $new_ordernumber);
1507
    return ($datereceived, $new_ordernumber);
1504
}
1508
}
(-)a/acqui/finishreceive.pl (-1 / +2 lines)
Lines 53-59 my $booksellerid = $input->param('booksellerid'); Link Here
53
my $cnt              = 0;
53
my $cnt              = 0;
54
my $ecost            = $input->param('ecost');
54
my $ecost            = $input->param('ecost');
55
my $rrp              = $input->param('rrp');
55
my $rrp              = $input->param('rrp');
56
my $note             = $input->param("note");
56
my $notes            = $input->param("notes");
57
my $bookfund         = $input->param("bookfund");
57
my $bookfund         = $input->param("bookfund");
58
my $order            = GetOrder($ordernumber);
58
my $order            = GetOrder($ordernumber);
59
my $new_ordernumber  = $ordernumber;
59
my $new_ordernumber  = $ordernumber;
Lines 112-117 if ($quantityrec > $origquantityrec ) { Link Here
112
            $bookfund,
112
            $bookfund,
113
            $datereceived,
113
            $datereceived,
114
            \@received_items,
114
            \@received_items,
115
            $notes,
115
        );
116
        );
116
    }
117
    }
117
118
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt (-1 / +1 lines)
Lines 329-335 Link Here
329
        [% ELSE %]
329
        [% ELSE %]
330
            <input type="text" size="20" name="cost" id="cost" value="[% ecost %]" />
330
            <input type="text" size="20" name="cost" id="cost" value="[% ecost %]" />
331
        [% END %]</li></ol>
331
        [% END %]</li></ol>
332
        <label for="note">Notes: </label><textarea name="note" width="40" rows="8" >[% notes %]</textarea>
332
        <label for="note">Notes: </label><textarea name="notes" width="40" rows="8" >[% notes %]</textarea>
333
    </fieldset>
333
    </fieldset>
334
334
335
</div>
335
</div>
(-)a/t/db_dependent/Acquisition.t (-5 / +9 lines)
Lines 8-14 use POSIX qw(strftime); Link Here
8
8
9
use C4::Bookseller qw( GetBookSellerFromId );
9
use C4::Bookseller qw( GetBookSellerFromId );
10
10
11
use Test::More tests => 68;
11
use Test::More tests => 71;
12
12
13
BEGIN {
13
BEGIN {
14
    use_ok('C4::Acquisition');
14
    use_ok('C4::Acquisition');
Lines 793-805 is( Link Here
793
793
794
( $datereceived, $new_ordernumber ) =
794
( $datereceived, $new_ordernumber ) =
795
  ModReceiveOrder( $biblionumber2, $ordernumbers[1], 2, undef, 12, 12,
795
  ModReceiveOrder( $biblionumber2, $ordernumbers[1], 2, undef, 12, 12,
796
    $invoiceid, 42, );
796
    $invoiceid, 42, undef, undef, undef, "my notes");
797
my $order2 = GetOrder( $ordernumbers[1] );
797
my $order2 = GetOrder( $ordernumbers[1] );
798
is( $order2->{'quantityreceived'},
798
is( $order2->{'quantityreceived'},
799
    0, 'Splitting up order did not receive any on original order' );
799
    0, 'Splitting up order did not receive any on original order' );
800
is( $order2->{'quantity'}, 40, '40 items on original order' );
800
is( $order2->{'quantity'}, 40, '40 items on original order' );
801
is( $order2->{'budget_id'}, $budgetid,
801
is( $order2->{'budget_id'}, $budgetid,
802
    'Budget on original order is unchanged' );
802
    'Budget on original order is unchanged' );
803
is( $order2->{notes}, "my notes",
804
    'ModReceiveOrder and GetOrder deal with notes' );
803
805
804
$neworder = GetOrder($new_ordernumber);
806
$neworder = GetOrder($new_ordernumber);
805
is( $neworder->{'quantity'}, 2, '2 items on new order' );
807
is( $neworder->{'quantity'}, 2, '2 items on new order' );
Lines 816-822 my $budgetid2 = C4::Budgets::AddBudget( Link Here
816
818
817
( $datereceived, $new_ordernumber ) =
819
( $datereceived, $new_ordernumber ) =
818
  ModReceiveOrder( $biblionumber2, $ordernumbers[2], 2, undef, 12, 12,
820
  ModReceiveOrder( $biblionumber2, $ordernumbers[2], 2, undef, 12, 12,
819
    $invoiceid, 42, $budgetid2 );
821
    $invoiceid, 42, $budgetid2, undef, undef, "my other notes" );
820
822
821
my $order3 = GetOrder( $ordernumbers[2] );
823
my $order3 = GetOrder( $ordernumbers[2] );
822
is( $order3->{'quantityreceived'},
824
is( $order3->{'quantityreceived'},
Lines 824-829 is( $order3->{'quantityreceived'}, Link Here
824
is( $order3->{'quantity'}, 2, '2 items on original order' );
826
is( $order3->{'quantity'}, 2, '2 items on original order' );
825
is( $order3->{'budget_id'}, $budgetid,
827
is( $order3->{'budget_id'}, $budgetid,
826
    'Budget on original order is unchanged' );
828
    'Budget on original order is unchanged' );
829
is( $order3->{notes}, "my other notes",
830
    'ModReceiveOrder and GetOrder deal with notes' );
827
831
828
$neworder = GetOrder($new_ordernumber);
832
$neworder = GetOrder($new_ordernumber);
829
is( $neworder->{'quantity'}, 2, '2 items on new order' );
833
is( $neworder->{'quantity'}, 2, '2 items on new order' );
Lines 833-844 is( $neworder->{'budget_id'}, $budgetid2, 'Budget on new order is changed' ); Link Here
833
837
834
( $datereceived, $new_ordernumber ) =
838
( $datereceived, $new_ordernumber ) =
835
  ModReceiveOrder( $biblionumber2, $ordernumbers[2], 2, undef, 12, 12,
839
  ModReceiveOrder( $biblionumber2, $ordernumbers[2], 2, undef, 12, 12,
836
    $invoiceid, 42, $budgetid2 );
840
    $invoiceid, 42, $budgetid2, undef, undef, "my third notes" );
837
841
838
$order3 = GetOrder( $ordernumbers[2] );
842
$order3 = GetOrder( $ordernumbers[2] );
839
is( $order3->{'quantityreceived'}, 2,          'Order not split up' );
843
is( $order3->{'quantityreceived'}, 2,          'Order not split up' );
840
is( $order3->{'quantity'},         2,          '2 items on order' );
844
is( $order3->{'quantity'},         2,          '2 items on order' );
841
is( $order3->{'budget_id'},        $budgetid2, 'Budget has changed' );
845
is( $order3->{'budget_id'},        $budgetid2, 'Budget has changed' );
846
is( $order3->{notes}, "my third notes", 'ModReceiveOrder and GetOrder deal with notes' );
842
847
843
my $nonexistent_order = GetOrder();
848
my $nonexistent_order = GetOrder();
844
is( $nonexistent_order, undef, 'GetOrder returns undef if no ordernumber is given' );
849
is( $nonexistent_order, undef, 'GetOrder returns undef if no ordernumber is given' );
845
- 

Return to bug 11699