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

(-)a/C4/Acquisition.pm (-7 / +27 lines)
Lines 1426-1433 sub GetCancelledOrders { Link Here
1426
1426
1427
=head3 ModReceiveOrder
1427
=head3 ModReceiveOrder
1428
1428
1429
  &ModReceiveOrder($biblionumber, $ordernumber, $quantityreceived, $user,
1429
  &ModReceiveOrder({
1430
    $cost, $ecost, $invoiceid, rrp, budget_id, datereceived, \@received_itemnumbers);
1430
    biblionumber => $biblionumber,
1431
    ordernumber => $ordernumber,
1432
    quantityreceived => $quantityreceived,
1433
    user => $user,
1434
    cost => $cost,
1435
    ecost => $ecost,
1436
    invoiceid => $invoiceid,
1437
    rrp => rrp,
1438
    budget_id => budget_id,
1439
    datereceived => datereceived,
1440
    received_itemnumbers => \@received_itemnumbers,
1441
    notes => $notes,
1442
    );
1431
1443
1432
Updates an order, to reflect the fact that it was received, at least
1444
Updates an order, to reflect the fact that it was received, at least
1433
in part. All arguments not mentioned below update the fields with the
1445
in part. All arguments not mentioned below update the fields with the
Lines 1442-1452 C<$ordernumber>. Link Here
1442
1454
1443
1455
1444
sub ModReceiveOrder {
1456
sub ModReceiveOrder {
1445
    my (
1457
    my ( $params ) = @_;
1446
        $biblionumber,    $ordernumber,  $quantrec, $user, $cost, $ecost,
1458
    my $biblionumber = $params->{biblionumber};
1447
        $invoiceid, $rrp, $budget_id, $datereceived, $received_items, $notes
1459
    my $ordernumber = $params->{ordernumber};
1448
    )
1460
    my $quantrec = $params->{quantityreceived};
1449
    = @_;
1461
    my $user = $params->{user};
1462
    my $cost = $params->{cost};
1463
    my $ecost = $params->{ecost};
1464
    my $invoiceid = $params->{invoiceid};
1465
    my $rrp = $params->{rrp};
1466
    my $budget_id = $params->{budget_id};
1467
    my $datereceived = $params->{datereceived};
1468
    my $received_items = $params->{received_items};
1469
    my $notes = $params->{notes};
1450
1470
1451
    my $dbh = C4::Context->dbh;
1471
    my $dbh = C4::Context->dbh;
1452
    $datereceived = C4::Dates->output('iso') unless $datereceived;
1472
    $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 (-42 / +38 lines)
Lines 159-178 my $invoiceid = AddInvoice( Link Here
159
    unknown => "unknown"
159
    unknown => "unknown"
160
);
160
);
161
161
162
my ($datereceived, $new_ordernumber) = ModReceiveOrder(
162
my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
163
    $biblionumber2,
163
    {
164
    $ordernumber2,
164
        biblionumber      => $biblionumber2,
165
    2,
165
        ordernumber       => $ordernumber2,
166
    undef,
166
        quantityreceived => 2,
167
    12,
167
        cost              => 12,
168
    12,
168
        ecost             => 12,
169
    $invoiceid,
169
        invoiceid         => $invoiceid,
170
    42,
170
        rrp               => 42,
171
    undef,
171
        notes             => "my notes",
172
    undef,
172
    }
173
    undef,
173
);
174
    "my notes",
175
    );
176
my $order2 = GetOrder( $ordernumber2 );
174
my $order2 = GetOrder( $ordernumber2 );
177
is($order2->{'quantityreceived'}, 0, 'Splitting up order did not receive any on original order');
175
is($order2->{'quantityreceived'}, 0, 'Splitting up order did not receive any on original order');
178
is($order2->{'quantity'}, 40, '40 items on original order');
176
is($order2->{'quantity'}, 40, '40 items on original order');
Lines 191-210 my $budgetid2 = C4::Budgets::AddBudget( Link Here
191
    }
189
    }
192
);
190
);
193
191
194
($datereceived, $new_ordernumber) = ModReceiveOrder(
192
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
195
    $biblionumber2,
193
    {
196
    $ordernumber3,
194
        biblionumber     => $biblionumber2,
197
    2,
195
        ordernumber      => $ordernumber3,
198
    undef,
196
        quantityreceived => 2,
199
    12,
197
        cost             => 12,
200
    12,
198
        ecost            => 12,
201
    $invoiceid,
199
        invoiceid        => $invoiceid,
202
    42,
200
        rrp              => 42,
203
    $budgetid2,
201
        budget_id        => $budgetid2,
204
    undef,
202
        notes            => "my other notes",
205
    undef,
203
    }
206
    "my other notes",
204
);
207
    );
208
205
209
my $order3 = GetOrder( $ordernumber3 );
206
my $order3 = GetOrder( $ordernumber3 );
210
is($order3->{'quantityreceived'}, 0, 'Splitting up order did not receive any on original order');
207
is($order3->{'quantityreceived'}, 0, 'Splitting up order did not receive any on original order');
Lines 217-236 is($neworder->{'quantity'}, 2, '2 items on new order'); Link Here
217
is($neworder->{'quantityreceived'}, 2, 'Splitting up order received items on new order');
214
is($neworder->{'quantityreceived'}, 2, 'Splitting up order received items on new order');
218
is($neworder->{'budget_id'}, $budgetid2, 'Budget on new order is changed');
215
is($neworder->{'budget_id'}, $budgetid2, 'Budget on new order is changed');
219
216
220
($datereceived, $new_ordernumber) = ModReceiveOrder(
217
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
221
    $biblionumber2,
218
    {
222
    $ordernumber3,
219
        biblionumber     => $biblionumber2,
223
    2,
220
        ordernumber      => $ordernumber3,
224
    undef,
221
        quantityreceived => 2,
225
    12,
222
        cost             => 12,
226
    12,
223
        ecost            => 12,
227
    $invoiceid,
224
        invoiceid        => $invoiceid,
228
    42,
225
        rrp              => 42,
229
    $budgetid2,
226
        budget_id        => $budgetid2,
230
    undef,
227
        notes            => "my third notes",
231
    undef,
228
    }
232
    "my third notes",
229
);
233
    );
234
230
235
$order3 = GetOrder( $ordernumber3 );
231
$order3 = GetOrder( $ordernumber3 );
236
is($order3->{'quantityreceived'}, 2, 'Order not split up');
232
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