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

(-)a/C4/Acquisition.pm (-2 / +5 lines)
Lines 1443-1458 sub ModReceiveOrder { Link Here
1443
            UPDATE aqorders
1443
            UPDATE aqorders
1444
            SET quantity = ?,
1444
            SET quantity = ?,
1445
                orderstatus = 'partial'|;
1445
                orderstatus = 'partial'|;
1446
        $query .= q|, order_internalnote = ?| if defined $order->{order_internalnote};
1447
        $query .= q| WHERE ordernumber = ?|;
1446
        $query .= q| WHERE ordernumber = ?|;
1448
        my $sth = $dbh->prepare($query);
1447
        my $sth = $dbh->prepare($query);
1449
1448
1450
        $sth->execute(
1449
        $sth->execute(
1451
            ( $is_standing ? 1 : ($order->{quantity} - $quantrec) ),
1450
            ( $is_standing ? 1 : ($order->{quantity} - $quantrec) ),
1452
            ( defined $order->{order_internalnote} ? $order->{order_internalnote} : () ),
1453
            $order->{ordernumber}
1451
            $order->{ordernumber}
1454
        );
1452
        );
1455
1453
1454
        if ( not $order->{subscriptionid} && defined $order->{order_internalnote} ) {
1455
            $dbh->do(q|UPDATE aqorders
1456
                SET order_internalnote = ?|, {}, $order->{order_internalnote});
1457
        }
1458
1456
        # Recalculate tax_value
1459
        # Recalculate tax_value
1457
        $dbh->do(q|
1460
        $dbh->do(q|
1458
            UPDATE aqorders
1461
            UPDATE aqorders
(-)a/acqui/orderreceive.pl (-3 / +12 lines)
Lines 197-202 my @gst_values = map { Link Here
197
    option => $_ + 0.0
197
    option => $_ + 0.0
198
}, split( '\|', C4::Context->preference("gist") );
198
}, split( '\|', C4::Context->preference("gist") );
199
199
200
my $order_internalnote = $order->{order_internalnote};
201
my $order_vendornote   = $order->{order_vendornote};
200
if ( $order->{subscriptionid} ) {
202
if ( $order->{subscriptionid} ) {
201
    # Order from a subscription, we will display an history of what has been received
203
    # Order from a subscription, we will display an history of what has been received
202
    my $orders = Koha::Acquisition::Orders->search(
204
    my $orders = Koha::Acquisition::Orders->search(
Lines 206-212 if ( $order->{subscriptionid} ) { Link Here
206
            ordernumber        => { '!=' => $order->{ordernumber} }
208
            ordernumber        => { '!=' => $order->{ordernumber} }
207
        }
209
        }
208
    );
210
    );
209
    $template->param( orders => $orders );
211
    if ( $order->{parent_ordernumber} != $order->{ordernumber} ) {
212
        my $parent_order = Koha::Acquisition::Orders->find($order->{parent_ordernumber});
213
        $order_internalnote = $parent_order->{order_internalnote};
214
        $order_vendornote   = $parent_order->{order_vendornote};
215
    }
216
    $template->param(
217
        orders => $orders,
218
    );
210
}
219
}
211
220
212
$template->param(
221
$template->param(
Lines 240-247 $template->param( Link Here
240
    invoiceid             => $invoice->{invoiceid},
249
    invoiceid             => $invoice->{invoiceid},
241
    invoice               => $invoice->{invoicenumber},
250
    invoice               => $invoice->{invoicenumber},
242
    datereceived          => $datereceived,
251
    datereceived          => $datereceived,
243
    order_internalnote    => $order->{order_internalnote},
252
    order_internalnote    => $order_internalnote,
244
    order_vendornote      => $order->{order_vendornote},
253
    order_vendornote      => $order_vendornote,
245
    suggestionid          => $suggestion->{suggestionid},
254
    suggestionid          => $suggestion->{suggestionid},
246
    surnamesuggestedby    => $suggestion->{surnamesuggestedby},
255
    surnamesuggestedby    => $suggestion->{surnamesuggestedby},
247
    firstnamesuggestedby  => $suggestion->{firstnamesuggestedby},
256
    firstnamesuggestedby  => $suggestion->{firstnamesuggestedby},
(-)a/t/db_dependent/Acquisition.t (-2 / +40 lines)
Lines 19-25 use Modern::Perl; Link Here
19
19
20
use POSIX qw(strftime);
20
use POSIX qw(strftime);
21
21
22
use Test::More tests => 72;
22
use Test::More tests => 73;
23
use t::lib::Mocks;
23
use t::lib::Mocks;
24
use Koha::Database;
24
use Koha::Database;
25
25
Lines 713-716 subtest 'ModReceiveOrder replacementprice tests' => sub { Link Here
713
    is ($received_order->{replacementprice},'16.120000',"Replacement price set if none passed in");
713
    is ($received_order->{replacementprice},'16.120000',"Replacement price set if none passed in");
714
};
714
};
715
715
716
subtest 'ModReceiveOrder and subscription' => sub {
717
    plan tests => 2;
718
719
    my $builder     = t::lib::TestBuilder->new;
720
    my $first_note  = 'first note';
721
    my $second_note = 'second note';
722
    my $subscription = $builder->build_object( { class => 'Koha::Subscriptions' } );
723
    my $order = $builder->build_object(
724
        {
725
            class => 'Koha::Acquisition::Orders',
726
            value => {
727
                subscriptionid     => $subscription->subscriptionid,
728
                order_internalnote => $first_note,
729
                quantity           => 5,
730
                quantityreceived   => 0,
731
            }
732
        }
733
    );
734
    my $order_info = $order->unblessed;
735
    # We do not want the note from the original note to be modified
736
    # Keeping it will permit to display it for future receptions
737
    $order_info->{order_internalnote} = $second_note;
738
    my ( undef, my $received_ordernumber ) = ModReceiveOrder(
739
        {
740
            biblionumber     => $order->biblionumber,
741
            order            => $order_info,
742
            invoice          => $order->{invoiceid},
743
            quantityreceived => 1,
744
            budget_id        => $order->budget_id,
745
        }
746
    );
747
    my $received_order = Koha::Acquisition::Orders->find($received_ordernumber);
748
    is( $received_order->order_internalnote,
749
        $second_note, "No price set if none passed in" );
750
751
    $order->get_from_storage;
752
    is( $order->get_from_storage->order_internalnote, $first_note );
753
};
754
716
$schema->storage->txn_rollback();
755
$schema->storage->txn_rollback();
717
- 

Return to bug 21467