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

(-)a/C4/Accounts.pm (-1 / +3 lines)
Lines 134-140 FIXME : if no replacement price, borrower just doesn't get charged? Link Here
134
134
135
sub chargelostitem{
135
sub chargelostitem{
136
    my $dbh = C4::Context->dbh();
136
    my $dbh = C4::Context->dbh();
137
    my ($borrowernumber, $itemnumber, $amount, $description) = @_;
137
    my ($borrowernumber, $itemnumber, $issue_id, $amount, $description) = @_;
138
    my $itype = Koha::ItemTypes->find({ itemtype => Koha::Items->find($itemnumber)->effective_itemtype() });
138
    my $itype = Koha::ItemTypes->find({ itemtype => Koha::Items->find($itemnumber)->effective_itemtype() });
139
    my $replacementprice = $amount;
139
    my $replacementprice = $amount;
140
    my $defaultreplacecost = $itype->defaultreplacecost;
140
    my $defaultreplacecost = $itype->defaultreplacecost;
Lines 162-167 sub chargelostitem{ Link Here
162
            my $accountline = Koha::Account::Line->new(
162
            my $accountline = Koha::Account::Line->new(
163
                {
163
                {
164
                    borrowernumber    => $borrowernumber,
164
                    borrowernumber    => $borrowernumber,
165
                    issue_id          => $issue_id,
165
                    accountno         => getnextacctno($borrowernumber),
166
                    accountno         => getnextacctno($borrowernumber),
166
                    date              => \'NOW()',
167
                    date              => \'NOW()',
167
                    amount            => $processfee,
168
                    amount            => $processfee,
Lines 202-207 sub chargelostitem{ Link Here
202
            my $accountline = Koha::Account::Line->new(
203
            my $accountline = Koha::Account::Line->new(
203
                {
204
                {
204
                    borrowernumber    => $borrowernumber,
205
                    borrowernumber    => $borrowernumber,
206
                    issue_id          => $issue_id,
205
                    accountno         => getnextacctno($borrowernumber),
207
                    accountno         => getnextacctno($borrowernumber),
206
                    date              => \'NOW()',
208
                    date              => \'NOW()',
207
                    amount            => $replacementprice,
209
                    amount            => $replacementprice,
(-)a/C4/Circulation.pm (-1 / +3 lines)
Lines 3632-3638 sub LostItem{ Link Here
3632
            defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $itemnumber...) failed!";  # zero is OK, check defined
3632
            defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $itemnumber...) failed!";  # zero is OK, check defined
3633
        }
3633
        }
3634
        if (C4::Context->preference('WhenLostChargeReplacementFee')){
3634
        if (C4::Context->preference('WhenLostChargeReplacementFee')){
3635
            C4::Accounts::chargelostitem($borrowernumber, $itemnumber, $issues->{'replacementprice'}, "Lost Item $issues->{'title'} $issues->{'barcode'}");
3635
            my $checkout = Koha::Checkouts->find({ itemnumber => $itemnumber });
3636
            my $checkout_id = $checkout ? $checkout->id : undef;
3637
            C4::Accounts::chargelostitem($borrowernumber, $itemnumber, $checkout_id, $issues->{'replacementprice'}, "Lost Item $issues->{'title'} $issues->{'barcode'}");
3636
            #FIXME : Should probably have a way to distinguish this from an item that really was returned.
3638
            #FIXME : Should probably have a way to distinguish this from an item that really was returned.
3637
            #warn " $issues->{'borrowernumber'}  /  $itemnumber ";
3639
            #warn " $issues->{'borrowernumber'}  /  $itemnumber ";
3638
        }
3640
        }
(-)a/t/db_dependent/Accounts.t (-17 / +31 lines)
Lines 489-495 subtest 'balance' => sub { Link Here
489
};
489
};
490
490
491
subtest "Koha::Account::chargelostitem tests" => sub {
491
subtest "Koha::Account::chargelostitem tests" => sub {
492
    plan tests => 32;
492
    plan tests => 40;
493
493
494
    my $lostfine;
494
    my $lostfine;
495
    my $procfee;
495
    my $procfee;
Lines 519-630 subtest "Koha::Account::chargelostitem tests" => sub { Link Here
519
    my $cli_itemnumber2 = $builder->build({ source => 'Item', value => { itype => $itype_replace_no_fee->{itemtype} } })->{'itemnumber'};
519
    my $cli_itemnumber2 = $builder->build({ source => 'Item', value => { itype => $itype_replace_no_fee->{itemtype} } })->{'itemnumber'};
520
    my $cli_itemnumber3 = $builder->build({ source => 'Item', value => { itype => $itype_no_replace_fee->{itemtype} } })->{'itemnumber'};
520
    my $cli_itemnumber3 = $builder->build({ source => 'Item', value => { itype => $itype_no_replace_fee->{itemtype} } })->{'itemnumber'};
521
    my $cli_itemnumber4 = $builder->build({ source => 'Item', value => { itype => $itype_replace_fee->{itemtype} } })->{'itemnumber'};
521
    my $cli_itemnumber4 = $builder->build({ source => 'Item', value => { itype => $itype_replace_fee->{itemtype} } })->{'itemnumber'};
522
523
    my $cli_issue_id_1 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1 } })->{issue_id};
524
    my $cli_issue_id_2 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2 } })->{issue_id};
525
    my $cli_issue_id_3 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3 } })->{issue_id};
526
    my $cli_issue_id_4 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4 } })->{issue_id};
527
522
    my $duck = Koha::Items->find({itemnumber=>$cli_itemnumber1});
528
    my $duck = Koha::Items->find({itemnumber=>$cli_itemnumber1});
523
529
524
    t::lib::Mocks::mock_preference('item-level_itypes', '1');
530
    t::lib::Mocks::mock_preference('item-level_itypes', '1');
525
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
531
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
526
532
527
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
533
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 0, "Perdedor");
528
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
534
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
529
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
535
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
530
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref off");
536
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref off");
531
    ok( !$procfee,  "No processing fee if no processing fee");
537
    ok( !$procfee,  "No processing fee if no processing fee");
532
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
538
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 6.12, "Perdedor");
533
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
539
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
534
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
540
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
535
    ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
541
    ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
536
    ok( !$procfee,  "No processing fee if no processing fee");
542
    ok( !$procfee,  "No processing fee if no processing fee");
537
    $lostfine->delete();
543
    $lostfine->delete();
538
544
539
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
545
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 0, "Perdedor");
540
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
546
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
541
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
547
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
542
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
548
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
543
    ok( !$procfee,  "No processing fee if no processing fee");
549
    ok( !$procfee,  "No processing fee if no processing fee");
544
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
550
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 6.12, "Perdedor");
545
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
551
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
546
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
552
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
547
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
553
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
548
    ok( !$procfee,  "No processing fee if no processing fee");
554
    ok( !$procfee,  "No processing fee if no processing fee");
549
    $lostfine->delete();
555
    $lostfine->delete();
550
556
551
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
557
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 0, "Perdedor");
552
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
558
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
553
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
559
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
554
    ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
560
    ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
555
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
561
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
562
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
556
    $procfee->delete();
563
    $procfee->delete();
557
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
564
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 6.12, "Perdedor");
558
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
565
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
559
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
566
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
560
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
567
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
561
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
568
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
569
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
562
    $lostfine->delete();
570
    $lostfine->delete();
563
    $procfee->delete();
571
    $procfee->delete();
564
572
565
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
573
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 0, "Perdedor");
566
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
574
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
567
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
575
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
568
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
576
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
569
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
577
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
578
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
570
    $procfee->delete();
579
    $procfee->delete();
571
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
580
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 6.12, "Perdedor");
572
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
581
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
573
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
582
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
574
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
583
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
575
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
584
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
585
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
576
    $lostfine->delete();
586
    $lostfine->delete();
577
    $procfee->delete();
587
    $procfee->delete();
578
588
579
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
589
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
580
590
581
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
591
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 0, "Perdedor");
582
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
592
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
583
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
593
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
584
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
594
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
585
    ok( !$procfee,  "No processing fee if no processing fee");
595
    ok( !$procfee,  "No processing fee if no processing fee");
586
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
596
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 6.12, "Perdedor");
587
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
597
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
588
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
598
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
589
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
599
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
590
    ok( !$procfee,  "No processing fee if no processing fee");
600
    ok( !$procfee,  "No processing fee if no processing fee");
591
601
592
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
602
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 0, "Perdedor");
593
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
603
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
594
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
604
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
595
    is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
605
    is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
596
    ok( !$procfee,  "No processing fee if no processing fee");
606
    ok( !$procfee,  "No processing fee if no processing fee");
597
    $lostfine->delete();
607
    $lostfine->delete();
598
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
608
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 6.12, "Perdedor");
599
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
609
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
600
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
610
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
601
    is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
611
    is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
602
    ok( !$procfee,  "No processing fee if no processing fee");
612
    ok( !$procfee,  "No processing fee if no processing fee");
603
613
604
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
614
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 0, "Perdedor");
605
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
615
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
606
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
616
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
607
    ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
617
    ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
608
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
618
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
619
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
609
    $procfee->delete();
620
    $procfee->delete();
610
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
621
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 6.12, "Perdedor");
611
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
622
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
612
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
623
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
613
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
624
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
614
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
625
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
626
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
615
627
616
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
628
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 0, "Perdedor");
617
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
629
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
618
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
630
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
619
    is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
631
    is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
620
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
632
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
633
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
621
    $lostfine->delete();
634
    $lostfine->delete();
622
    $procfee->delete();
635
    $procfee->delete();
623
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
636
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 6.12, "Perdedor");
624
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
637
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
625
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
638
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
626
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
639
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
627
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
640
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
641
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
628
};
642
};
629
643
630
subtest "Koha::Account::non_issues_charges tests" => sub {
644
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 => 114;
20
use Test::More tests => 115;
21
21
22
use DateTime;
22
use DateTime;
23
use POSIX qw( floor );
23
use POSIX qw( floor );
Lines 895-900 C4::Context->dbh->do("DELETE FROM accountlines"); Link Here
895
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber7);
895
    ( $renewokay, $error ) = CanBookBeRenewed($renewing_borrowernumber, $itemnumber7);
896
    is( $renewokay, 0, '(Bug 8236), Cannot renew, one of the items is overdue');
896
    is( $renewokay, 0, '(Bug 8236), Cannot renew, one of the items is overdue');
897
897
898
    t::lib::Mocks::mock_preference('WhenLostChargeReplacementFee','1');
899
    my $checkout = Koha::Checkouts->find( { itemnumber => $itemnumber3 } );
900
    LostItem( $itemnumber3, 0 );
901
    my $accountline = Koha::Account::Lines->find( { itemnumber => $itemnumber3 } );
902
    is( $accountline->issue_id, $checkout->id, "Issue id added for lost replacement fee charge" );
903
898
  }
904
  }
899
905
900
{
906
{
901
- 

Return to bug 18677