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

(-)a/C4/Acquisition.pm (-7 / +27 lines)
Lines 1420-1427 sub GetCancelledOrders { Link Here
1420
1420
1421
=head3 ModReceiveOrder
1421
=head3 ModReceiveOrder
1422
1422
1423
  &ModReceiveOrder($biblionumber, $ordernumber, $quantityreceived, $user,
1423
  &ModReceiveOrder({
1424
    $cost, $ecost, $invoiceid, rrp, budget_id, datereceived, \@received_itemnumbers);
1424
    biblionumber => $biblionumber,
1425
    ordernumber => $ordernumber,
1426
    quantityreceived => $quantityreceived,
1427
    user => $user,
1428
    cost => $cost,
1429
    ecost => $ecost,
1430
    invoiceid => $invoiceid,
1431
    rrp => rrp,
1432
    budget_id => budget_id,
1433
    datereceived => datereceived,
1434
    received_itemnumbers => \@received_itemnumbers,
1435
    notes => $notes,
1436
    );
1425
1437
1426
Updates an order, to reflect the fact that it was received, at least
1438
Updates an order, to reflect the fact that it was received, at least
1427
in part. All arguments not mentioned below update the fields with the
1439
in part. All arguments not mentioned below update the fields with the
Lines 1436-1446 C<$ordernumber>. Link Here
1436
1448
1437
1449
1438
sub ModReceiveOrder {
1450
sub ModReceiveOrder {
1439
    my (
1451
    my ( $params ) = @_;
1440
        $biblionumber,    $ordernumber,  $quantrec, $user, $cost, $ecost,
1452
    my $biblionumber = $params->{biblionumber};
1441
        $invoiceid, $rrp, $budget_id, $datereceived, $received_items, $notes
1453
    my $ordernumber = $params->{ordernumber};
1442
    )
1454
    my $quantrec = $params->{quantityreceived};
1443
    = @_;
1455
    my $user = $params->{user};
1456
    my $cost = $params->{cost};
1457
    my $ecost = $params->{ecost};
1458
    my $invoiceid = $params->{invoiceid};
1459
    my $rrp = $params->{rrp};
1460
    my $budget_id = $params->{budget_id};
1461
    my $datereceived = $params->{datereceived};
1462
    my $received_items = $params->{received_items};
1463
    my $notes = $params->{notes};
1444
1464
1445
    my $dbh = C4::Context->dbh;
1465
    my $dbh = C4::Context->dbh;
1446
    $datereceived = C4::Dates->output('iso') unless $datereceived;
1466
    $datereceived = C4::Dates->output('iso') unless $datereceived;
(-)a/acqui/finishreceive.pl (-14 / +14 lines)
Lines 100-119 if ($quantityrec > $origquantityrec ) { Link Here
100
100
101
    # save the quantity received.
101
    # save the quantity received.
102
    if ( $quantityrec > 0 ) {
102
    if ( $quantityrec > 0 ) {
103
        ($datereceived, $new_ordernumber) = ModReceiveOrder(
103
        ($datereceived, $new_ordernumber) = ModReceiveOrder({
104
            $biblionumber,
104
              biblionumber     => $biblionumber,
105
            $ordernumber,
105
              ordernumber      => $ordernumber,
106
            $quantityrec,
106
              quantityreceived => $quantityrec,
107
            $user,
107
              user             => $user,
108
            $order->{unitprice},
108
              cost             => $order->{unitprice},
109
            $order->{ecost},
109
              ecost            => $order->{ecost},
110
            $invoiceid,
110
              invoiceid        => $invoiceid,
111
            $order->{rrp},
111
              rrp              => $order->{rrp},
112
            $bookfund,
112
              budget_id        => $bookfund,
113
            $datereceived,
113
              datereceived     => $datereceived,
114
            \@received_items,
114
              received_items   => \@received_items,
115
            $notes,
115
              notes            => $notes,
116
        );
116
        } );
117
    }
117
    }
118
118
119
    # now, add items if applicable
119
    # now, add items if applicable
(-)a/t/db_dependent/Acquisition.t (-12 / +50 lines)
Lines 651-659 my $invoiceid = AddInvoice( Link Here
651
    unknown       => "unknown"
651
    unknown       => "unknown"
652
);
652
);
653
653
654
my ( $datereceived, $new_ordernumber ) =
654
my ($datereceived, $new_ordernumber) = ModReceiveOrder(
655
  ModReceiveOrder( $biblionumber4, $ordernumbers[4], 1, undef, 10, 10,
655
    {
656
    $invoiceid, 10, $order_content[4]->{str}->{budget_id} );
656
        biblionumber      => $biblionumber4,
657
        ordernumber       => $ordernumbers[4],
658
        quantityreceived  => 1,
659
        cost              => 10,
660
        ecost             => 10,
661
        invoiceid         => $invoiceid,
662
        rrp               => 10,
663
        budget_id          => $order_content[4]->{str}->{budget_id},
664
    }
665
);
657
666
658
my $search_orders = SearchOrders({
667
my $search_orders = SearchOrders({
659
    booksellerid => $booksellerid,
668
    booksellerid => $booksellerid,
Lines 791-799 is( Link Here
791
    "AddClaim : Check claimed_date"
800
    "AddClaim : Check claimed_date"
792
);
801
);
793
802
794
( $datereceived, $new_ordernumber ) =
803
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
795
  ModReceiveOrder( $biblionumber2, $ordernumbers[1], 2, undef, 12, 12,
804
    {
796
    $invoiceid, 42, undef, undef, undef, "my notes");
805
        biblionumber     => $biblionumber2,
806
        ordernumber      => $ordernumbers[1],
807
        quantityreceived => 2,
808
        cost             => 12,
809
        ecost            => 12,
810
        invoiceid        => $invoiceid,
811
        rrp              => 42,
812
        notes            => "my notes",
813
    }
814
);
797
my $order2 = GetOrder( $ordernumbers[1] );
815
my $order2 = GetOrder( $ordernumbers[1] );
798
is( $order2->{'quantityreceived'},
816
is( $order2->{'quantityreceived'},
799
    0, 'Splitting up order did not receive any on original order' );
817
    0, 'Splitting up order did not receive any on original order' );
Lines 816-824 my $budgetid2 = C4::Budgets::AddBudget( Link Here
816
    }
834
    }
817
);
835
);
818
836
819
( $datereceived, $new_ordernumber ) =
837
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
820
  ModReceiveOrder( $biblionumber2, $ordernumbers[2], 2, undef, 12, 12,
838
    {
821
    $invoiceid, 42, $budgetid2, undef, undef, "my other notes" );
839
        biblionumber     => $biblionumber2,
840
        ordernumber      => $ordernumbers[2],
841
        quantityreceived => 2,
842
        cost             => 12,
843
        ecost            => 12,
844
        invoiceid        => $invoiceid,
845
        rrp              => 42,
846
        budget_id        => $budgetid2,
847
        notes            => "my other notes",
848
    }
849
);
822
850
823
my $order3 = GetOrder( $ordernumbers[2] );
851
my $order3 = GetOrder( $ordernumbers[2] );
824
is( $order3->{'quantityreceived'},
852
is( $order3->{'quantityreceived'},
Lines 835-843 is( $neworder->{'quantityreceived'}, Link Here
835
    2, 'Splitting up order received items on new order' );
863
    2, 'Splitting up order received items on new order' );
836
is( $neworder->{'budget_id'}, $budgetid2, 'Budget on new order is changed' );
864
is( $neworder->{'budget_id'}, $budgetid2, 'Budget on new order is changed' );
837
865
838
( $datereceived, $new_ordernumber ) =
866
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
839
  ModReceiveOrder( $biblionumber2, $ordernumbers[2], 2, undef, 12, 12,
867
    {
840
    $invoiceid, 42, $budgetid2, undef, undef, "my third notes" );
868
        biblionumber     => $biblionumber2,
869
        ordernumber      => $ordernumbers[2],
870
        quantityreceived => 2,
871
        cost             => 12,
872
        ecost            => 12,
873
        invoiceid        => $invoiceid,
874
        rrp              => 42,
875
        budget_id        => $budgetid2,
876
        notes            => "my third notes",
877
    }
878
);
841
879
842
$order3 = GetOrder( $ordernumbers[2] );
880
$order3 = GetOrder( $ordernumbers[2] );
843
is( $order3->{'quantityreceived'}, 2,          'Order not split up' );
881
is( $order3->{'quantityreceived'}, 2,          'Order not split up' );
(-)a/t/db_dependent/Acquisition/Invoices.t (-32 / +34 lines)
Lines 87-125 my $invoiceid2 = AddInvoice(invoicenumber => 'invoice2', booksellerid => $bookse Link Here
87
                            shipmentdate => '2012-12-24',
87
                            shipmentdate => '2012-12-24',
88
                           );
88
                           );
89
89
90
my ($datereceived, $new_ordernumber) = ModReceiveOrder(
90
my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
91
    $biblionumber1,
91
    {
92
    $ordernumber1,
92
        biblionumber     => $biblionumber1,
93
    2,
93
        ordernumber      => $ordernumber1,
94
    undef,
94
        quantityreceived => 2,
95
    12,
95
        cost             => 12,
96
    12,
96
        ecost            => 12,
97
    $invoiceid1,
97
        invoiceid        => $invoiceid1,
98
    42
98
        rrp              => 42
99
    );
99
    }
100
100
);
101
($datereceived, $new_ordernumber) = ModReceiveOrder(
101
102
    $biblionumber2,
102
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
103
    $ordernumber2,
103
    {
104
    1,
104
        biblionumber     => $biblionumber2,
105
    undef,
105
        ordernumber      => $ordernumber2,
106
    5,
106
        quantityreceived => 1,
107
    5,
107
        cost             => 5,
108
    $invoiceid2,
108
        ecost            => 5,
109
    42
109
        invoiceid        => $invoiceid2,
110
    );
110
        rrp              => 42
111
111
    }
112
($datereceived, $new_ordernumber) = ModReceiveOrder(
112
);
113
    $biblionumber3,
114
    $ordernumber3,
115
    1,
116
    undef,
117
    12,
118
    12,
119
    $invoiceid2,
120
    42
121
    );
122
113
114
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
115
    {
116
        biblionumber     => $biblionumber3,
117
        ordernumber      => $ordernumber3,
118
        quantityreceived => 1,
119
        cost             => 12,
120
        ecost            => 12,
121
        invoiceid        => $invoiceid2,
122
        rrp              => 42
123
    }
124
);
123
125
124
my $invoice1 = GetInvoiceDetails($invoiceid1);
126
my $invoice1 = GetInvoiceDetails($invoiceid1);
125
my $invoice2 = GetInvoiceDetails($invoiceid2);
127
my $invoice2 = GetInvoiceDetails($invoiceid2);
(-)a/t/db_dependent/Acquisition/OrderFromSubscription.t (-3 / +11 lines)
Lines 83-90 is ( $order->{subscriptionid}, $subscription->{subscriptionid}, "test subscripti Link Here
83
ok( $order->{ecost} == $cost, "test cost for the last order not received");
83
ok( $order->{ecost} == $cost, "test cost for the last order not received");
84
84
85
my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
85
my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
86
    $biblionumber, $ordernumber, 1, undef, $cost, $cost,
86
    {
87
    undef, $cost, $budget_id, '02-01-2013', undef);
87
        biblionumber     => $biblionumber,
88
        ordernumber      => $ordernumber,
89
        quantityreceived => 1,
90
        cost             => $cost,
91
        ecost            => $cost,
92
        rrp              => $cost,
93
        budget_id        => $budget_id,
94
        datereceived     => '02-01-2013'
95
    }
96
);
88
97
89
$order = GetLastOrderReceivedFromSubscriptionid( $subscription->{subscriptionid} );
98
$order = GetLastOrderReceivedFromSubscriptionid( $subscription->{subscriptionid} );
90
is ( $order->{subscriptionid}, $subscription->{subscriptionid}, "test subscriptionid for the last order received");
99
is ( $order->{subscriptionid}, $subscription->{subscriptionid}, "test subscriptionid for the last order received");
91
- 

Return to bug 11699