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

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