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

(-)a/C4/Accounts.pm (-1 / +3 lines)
Lines 130-136 FIXME : if no replacement price, borrower just doesn't get charged? Link Here
130
130
131
sub chargelostitem{
131
sub chargelostitem{
132
    my $dbh = C4::Context->dbh();
132
    my $dbh = C4::Context->dbh();
133
    my ($borrowernumber, $itemnumber, $amount, $description) = @_;
133
    my ($borrowernumber, $itemnumber, $issue_id, $amount, $description) = @_;
134
    my $itype = Koha::ItemTypes->find({ itemtype => Koha::Items->find($itemnumber)->effective_itemtype() });
134
    my $itype = Koha::ItemTypes->find({ itemtype => Koha::Items->find($itemnumber)->effective_itemtype() });
135
    my $replacementprice = $amount;
135
    my $replacementprice = $amount;
136
    my $defaultreplacecost = $itype->defaultreplacecost;
136
    my $defaultreplacecost = $itype->defaultreplacecost;
Lines 158-163 sub chargelostitem{ Link Here
158
            my $accountline = Koha::Account::Line->new(
158
            my $accountline = Koha::Account::Line->new(
159
                {
159
                {
160
                    borrowernumber    => $borrowernumber,
160
                    borrowernumber    => $borrowernumber,
161
                    issue_id          => $issue_id,
161
                    accountno         => getnextacctno($borrowernumber),
162
                    accountno         => getnextacctno($borrowernumber),
162
                    date              => \'NOW()',
163
                    date              => \'NOW()',
163
                    amount            => $processfee,
164
                    amount            => $processfee,
Lines 198-203 sub chargelostitem{ Link Here
198
            my $accountline = Koha::Account::Line->new(
199
            my $accountline = Koha::Account::Line->new(
199
                {
200
                {
200
                    borrowernumber    => $borrowernumber,
201
                    borrowernumber    => $borrowernumber,
202
                    issue_id          => $issue_id,
201
                    accountno         => getnextacctno($borrowernumber),
203
                    accountno         => getnextacctno($borrowernumber),
202
                    date              => \'NOW()',
204
                    date              => \'NOW()',
203
                    amount            => $replacementprice,
205
                    amount            => $replacementprice,
(-)a/C4/Circulation.pm (-1 / +3 lines)
Lines 3672-3678 sub LostItem{ Link Here
3672
            defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $itemnumber...) failed!";  # zero is OK, check defined
3672
            defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $itemnumber...) failed!";  # zero is OK, check defined
3673
        }
3673
        }
3674
        if (C4::Context->preference('WhenLostChargeReplacementFee')){
3674
        if (C4::Context->preference('WhenLostChargeReplacementFee')){
3675
            C4::Accounts::chargelostitem($borrowernumber, $itemnumber, $issues->{'replacementprice'}, "Lost Item $issues->{'title'} $issues->{'barcode'}");
3675
            my $checkout = Koha::Checkouts->find({ itemnumber => $itemnumber });
3676
            my $checkout_id = $checkout ? $checkout->id : undef;
3677
            C4::Accounts::chargelostitem($borrowernumber, $itemnumber, $checkout_id, $issues->{'replacementprice'}, "Lost Item $issues->{'title'} $issues->{'barcode'}");
3676
            #FIXME : Should probably have a way to distinguish this from an item that really was returned.
3678
            #FIXME : Should probably have a way to distinguish this from an item that really was returned.
3677
            #warn " $issues->{'borrowernumber'}  /  $itemnumber ";
3679
            #warn " $issues->{'borrowernumber'}  /  $itemnumber ";
3678
        }
3680
        }
(-)a/t/db_dependent/Accounts.t (-17 / +31 lines)
Lines 491-497 subtest 'balance' => sub { Link Here
491
};
491
};
492
492
493
subtest "Koha::Account::chargelostitem tests" => sub {
493
subtest "Koha::Account::chargelostitem tests" => sub {
494
    plan tests => 32;
494
    plan tests => 40;
495
495
496
    my $lostfine;
496
    my $lostfine;
497
    my $procfee;
497
    my $procfee;
Lines 521-632 subtest "Koha::Account::chargelostitem tests" => sub { Link Here
521
    my $cli_itemnumber2 = $builder->build({ source => 'Item', value => { itype => $itype_replace_no_fee->{itemtype} } })->{'itemnumber'};
521
    my $cli_itemnumber2 = $builder->build({ source => 'Item', value => { itype => $itype_replace_no_fee->{itemtype} } })->{'itemnumber'};
522
    my $cli_itemnumber3 = $builder->build({ source => 'Item', value => { itype => $itype_no_replace_fee->{itemtype} } })->{'itemnumber'};
522
    my $cli_itemnumber3 = $builder->build({ source => 'Item', value => { itype => $itype_no_replace_fee->{itemtype} } })->{'itemnumber'};
523
    my $cli_itemnumber4 = $builder->build({ source => 'Item', value => { itype => $itype_replace_fee->{itemtype} } })->{'itemnumber'};
523
    my $cli_itemnumber4 = $builder->build({ source => 'Item', value => { itype => $itype_replace_fee->{itemtype} } })->{'itemnumber'};
524
525
    my $cli_issue_id_1 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1 } })->{issue_id};
526
    my $cli_issue_id_2 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2 } })->{issue_id};
527
    my $cli_issue_id_3 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3 } })->{issue_id};
528
    my $cli_issue_id_4 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4 } })->{issue_id};
529
524
    my $duck = Koha::Items->find({itemnumber=>$cli_itemnumber1});
530
    my $duck = Koha::Items->find({itemnumber=>$cli_itemnumber1});
525
531
526
    t::lib::Mocks::mock_preference('item-level_itypes', '1');
532
    t::lib::Mocks::mock_preference('item-level_itypes', '1');
527
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
533
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
528
534
529
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
535
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 0, "Perdedor");
530
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
536
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
531
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
537
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
532
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref off");
538
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref off");
533
    ok( !$procfee,  "No processing fee if no processing fee");
539
    ok( !$procfee,  "No processing fee if no processing fee");
534
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
540
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 6.12, "Perdedor");
535
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
541
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
536
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
542
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
537
    ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
543
    ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
538
    ok( !$procfee,  "No processing fee if no processing fee");
544
    ok( !$procfee,  "No processing fee if no processing fee");
539
    $lostfine->delete();
545
    $lostfine->delete();
540
546
541
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
547
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 0, "Perdedor");
542
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
548
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
543
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
549
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
544
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
550
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
545
    ok( !$procfee,  "No processing fee if no processing fee");
551
    ok( !$procfee,  "No processing fee if no processing fee");
546
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
552
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 6.12, "Perdedor");
547
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
553
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
548
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
554
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
549
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
555
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
550
    ok( !$procfee,  "No processing fee if no processing fee");
556
    ok( !$procfee,  "No processing fee if no processing fee");
551
    $lostfine->delete();
557
    $lostfine->delete();
552
558
553
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
559
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 0, "Perdedor");
554
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
560
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
555
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
561
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
556
    ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
562
    ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
557
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
563
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
564
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
558
    $procfee->delete();
565
    $procfee->delete();
559
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
566
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 6.12, "Perdedor");
560
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
567
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
561
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
568
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
562
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
569
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
563
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
570
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
571
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
564
    $lostfine->delete();
572
    $lostfine->delete();
565
    $procfee->delete();
573
    $procfee->delete();
566
574
567
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
575
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 0, "Perdedor");
568
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
576
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
569
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
577
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
570
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
578
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
571
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
579
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
580
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
572
    $procfee->delete();
581
    $procfee->delete();
573
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
582
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 6.12, "Perdedor");
574
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
583
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
575
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
584
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
576
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
585
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
577
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
586
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
587
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
578
    $lostfine->delete();
588
    $lostfine->delete();
579
    $procfee->delete();
589
    $procfee->delete();
580
590
581
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
591
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
582
592
583
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
593
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 0, "Perdedor");
584
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
594
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
585
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
595
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
586
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
596
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
587
    ok( !$procfee,  "No processing fee if no processing fee");
597
    ok( !$procfee,  "No processing fee if no processing fee");
588
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
598
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 6.12, "Perdedor");
589
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
599
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
590
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
600
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
591
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
601
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
592
    ok( !$procfee,  "No processing fee if no processing fee");
602
    ok( !$procfee,  "No processing fee if no processing fee");
593
603
594
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
604
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 0, "Perdedor");
595
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
605
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
596
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
606
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
597
    is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
607
    is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
598
    ok( !$procfee,  "No processing fee if no processing fee");
608
    ok( !$procfee,  "No processing fee if no processing fee");
599
    $lostfine->delete();
609
    $lostfine->delete();
600
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
610
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 6.12, "Perdedor");
601
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
611
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
602
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
612
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
603
    is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
613
    is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
604
    ok( !$procfee,  "No processing fee if no processing fee");
614
    ok( !$procfee,  "No processing fee if no processing fee");
605
615
606
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
616
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 0, "Perdedor");
607
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
617
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
608
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
618
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
609
    ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
619
    ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
610
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
620
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
621
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
611
    $procfee->delete();
622
    $procfee->delete();
612
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
623
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 6.12, "Perdedor");
613
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
624
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
614
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
625
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
615
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
626
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
616
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
627
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
628
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
617
629
618
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
630
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 0, "Perdedor");
619
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
631
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
620
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
632
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
621
    is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
633
    is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
622
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
634
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
635
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
623
    $lostfine->delete();
636
    $lostfine->delete();
624
    $procfee->delete();
637
    $procfee->delete();
625
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
638
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 6.12, "Perdedor");
626
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
639
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
627
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
640
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
628
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
641
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
629
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
642
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
643
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
630
};
644
};
631
645
632
subtest "Koha::Account::non_issues_charges tests" => sub {
646
subtest "Koha::Account::non_issues_charges tests" => sub {
(-)a/t/db_dependent/Circulation.t (-2 / +7 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 119;
20
use Test::More tests => 120;
21
21
22
use Data::Dumper;
22
use Data::Dumper;
23
use DateTime;
23
use DateTime;
Lines 904-909 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
904
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber7);
904
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber7);
905
    is( $renewokay, 0, '(Bug 8236), Cannot renew, one of the items is overdue');
905
    is( $renewokay, 0, '(Bug 8236), Cannot renew, one of the items is overdue');
906
906
907
    t::lib::Mocks::mock_preference('WhenLostChargeReplacementFee','1');
908
    $checkout = Koha::Checkouts->find( { itemnumber => $itemnumber3 } );
909
    LostItem( $itemnumber3, 'test', 0 );
910
    my $accountline = Koha::Account::Lines->find( { itemnumber => $itemnumber3 } );
911
    is( $accountline->issue_id, $checkout->id, "Issue id added for lost replacement fee charge" );
912
907
  }
913
  }
908
914
909
{
915
{
910
- 

Return to bug 18677