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

(-)a/C4/Accounts.pm (-1 / +3 lines)
Lines 98-104 FIXME : if no replacement price, borrower just doesn't get charged? Link Here
98
98
99
sub chargelostitem{
99
sub chargelostitem{
100
    my $dbh = C4::Context->dbh();
100
    my $dbh = C4::Context->dbh();
101
    my ($borrowernumber, $itemnumber, $amount, $description) = @_;
101
    my ($borrowernumber, $itemnumber, $issue_id, $amount, $description) = @_;
102
    my $itype = Koha::ItemTypes->find({ itemtype => Koha::Items->find($itemnumber)->effective_itemtype() });
102
    my $itype = Koha::ItemTypes->find({ itemtype => Koha::Items->find($itemnumber)->effective_itemtype() });
103
    my $replacementprice = $amount;
103
    my $replacementprice = $amount;
104
    my $defaultreplacecost = $itype->defaultreplacecost;
104
    my $defaultreplacecost = $itype->defaultreplacecost;
Lines 126-131 sub chargelostitem{ Link Here
126
            my $accountline = Koha::Account::Line->new(
126
            my $accountline = Koha::Account::Line->new(
127
                {
127
                {
128
                    borrowernumber    => $borrowernumber,
128
                    borrowernumber    => $borrowernumber,
129
                    issue_id          => $issue_id,
129
                    accountno         => getnextacctno($borrowernumber),
130
                    accountno         => getnextacctno($borrowernumber),
130
                    date              => \'NOW()',
131
                    date              => \'NOW()',
131
                    amount            => $processfee,
132
                    amount            => $processfee,
Lines 166-171 sub chargelostitem{ Link Here
166
            my $accountline = Koha::Account::Line->new(
167
            my $accountline = Koha::Account::Line->new(
167
                {
168
                {
168
                    borrowernumber    => $borrowernumber,
169
                    borrowernumber    => $borrowernumber,
170
                    issue_id          => $issue_id,
169
                    accountno         => getnextacctno($borrowernumber),
171
                    accountno         => getnextacctno($borrowernumber),
170
                    date              => \'NOW()',
172
                    date              => \'NOW()',
171
                    amount            => $replacementprice,
173
                    amount            => $replacementprice,
(-)a/C4/Circulation.pm (-1 / +3 lines)
Lines 3694-3700 sub LostItem{ Link Here
3694
            defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $itemnumber...) failed!";  # zero is OK, check defined
3694
            defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $itemnumber...) failed!";  # zero is OK, check defined
3695
        }
3695
        }
3696
        if (C4::Context->preference('WhenLostChargeReplacementFee')){
3696
        if (C4::Context->preference('WhenLostChargeReplacementFee')){
3697
            C4::Accounts::chargelostitem($borrowernumber, $itemnumber, $issues->{'replacementprice'}, "Lost Item $issues->{'title'} $issues->{'barcode'}");
3697
            my $checkout = Koha::Checkouts->find({ itemnumber => $itemnumber });
3698
            my $checkout_id = $checkout ? $checkout->id : undef;
3699
            C4::Accounts::chargelostitem($borrowernumber, $itemnumber, $checkout_id, $issues->{'replacementprice'}, "Lost Item $issues->{'title'} $issues->{'barcode'}");
3698
            #FIXME : Should probably have a way to distinguish this from an item that really was returned.
3700
            #FIXME : Should probably have a way to distinguish this from an item that really was returned.
3699
            #warn " $issues->{'borrowernumber'}  /  $itemnumber ";
3701
            #warn " $issues->{'borrowernumber'}  /  $itemnumber ";
3700
        }
3702
        }
(-)a/t/db_dependent/Accounts.t (-17 / +31 lines)
Lines 490-496 subtest 'balance' => sub { Link Here
490
};
490
};
491
491
492
subtest "Koha::Account::chargelostitem tests" => sub {
492
subtest "Koha::Account::chargelostitem tests" => sub {
493
    plan tests => 32;
493
    plan tests => 40;
494
494
495
    my $lostfine;
495
    my $lostfine;
496
    my $procfee;
496
    my $procfee;
Lines 520-631 subtest "Koha::Account::chargelostitem tests" => sub { Link Here
520
    my $cli_itemnumber2 = $builder->build({ source => 'Item', value => { itype => $itype_replace_no_fee->{itemtype} } })->{'itemnumber'};
520
    my $cli_itemnumber2 = $builder->build({ source => 'Item', value => { itype => $itype_replace_no_fee->{itemtype} } })->{'itemnumber'};
521
    my $cli_itemnumber3 = $builder->build({ source => 'Item', value => { itype => $itype_no_replace_fee->{itemtype} } })->{'itemnumber'};
521
    my $cli_itemnumber3 = $builder->build({ source => 'Item', value => { itype => $itype_no_replace_fee->{itemtype} } })->{'itemnumber'};
522
    my $cli_itemnumber4 = $builder->build({ source => 'Item', value => { itype => $itype_replace_fee->{itemtype} } })->{'itemnumber'};
522
    my $cli_itemnumber4 = $builder->build({ source => 'Item', value => { itype => $itype_replace_fee->{itemtype} } })->{'itemnumber'};
523
524
    my $cli_issue_id_1 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1 } })->{issue_id};
525
    my $cli_issue_id_2 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2 } })->{issue_id};
526
    my $cli_issue_id_3 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3 } })->{issue_id};
527
    my $cli_issue_id_4 = $builder->build({ source => 'Issue', value => { borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4 } })->{issue_id};
528
523
    my $duck = Koha::Items->find({itemnumber=>$cli_itemnumber1});
529
    my $duck = Koha::Items->find({itemnumber=>$cli_itemnumber1});
524
530
525
    t::lib::Mocks::mock_preference('item-level_itypes', '1');
531
    t::lib::Mocks::mock_preference('item-level_itypes', '1');
526
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
532
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
527
533
528
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
534
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 0, "Perdedor");
529
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
535
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
530
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
536
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
531
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref off");
537
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref off");
532
    ok( !$procfee,  "No processing fee if no processing fee");
538
    ok( !$procfee,  "No processing fee if no processing fee");
533
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
539
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 6.12, "Perdedor");
534
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
540
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
535
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
541
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
536
    ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
542
    ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
537
    ok( !$procfee,  "No processing fee if no processing fee");
543
    ok( !$procfee,  "No processing fee if no processing fee");
538
    $lostfine->delete();
544
    $lostfine->delete();
539
545
540
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
546
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 0, "Perdedor");
541
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
547
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
542
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
548
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
543
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
549
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
544
    ok( !$procfee,  "No processing fee if no processing fee");
550
    ok( !$procfee,  "No processing fee if no processing fee");
545
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
551
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 6.12, "Perdedor");
546
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
552
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
547
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
553
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
548
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
554
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
549
    ok( !$procfee,  "No processing fee if no processing fee");
555
    ok( !$procfee,  "No processing fee if no processing fee");
550
    $lostfine->delete();
556
    $lostfine->delete();
551
557
552
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
558
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 0, "Perdedor");
553
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
559
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
554
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
560
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
555
    ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
561
    ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
556
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
562
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
563
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
557
    $procfee->delete();
564
    $procfee->delete();
558
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
565
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 6.12, "Perdedor");
559
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
566
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
560
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
567
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
561
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
568
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
562
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
569
    ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
570
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
563
    $lostfine->delete();
571
    $lostfine->delete();
564
    $procfee->delete();
572
    $procfee->delete();
565
573
566
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
574
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 0, "Perdedor");
567
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
575
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
568
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
576
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
569
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
577
    ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
570
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
578
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
579
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
571
    $procfee->delete();
580
    $procfee->delete();
572
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
581
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 6.12, "Perdedor");
573
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
582
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
574
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
583
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
575
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
584
    ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
576
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
585
    ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
586
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
577
    $lostfine->delete();
587
    $lostfine->delete();
578
    $procfee->delete();
588
    $procfee->delete();
579
589
580
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
590
    t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
581
591
582
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
592
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 0, "Perdedor");
583
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
593
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
584
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
594
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
585
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
595
    ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
586
    ok( !$procfee,  "No processing fee if no processing fee");
596
    ok( !$procfee,  "No processing fee if no processing fee");
587
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
597
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, $cli_issue_id_1, 6.12, "Perdedor");
588
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
598
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
589
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
599
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
590
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
600
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
591
    ok( !$procfee,  "No processing fee if no processing fee");
601
    ok( !$procfee,  "No processing fee if no processing fee");
592
602
593
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
603
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 0, "Perdedor");
594
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
604
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
595
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
605
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
596
    is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
606
    is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
597
    ok( !$procfee,  "No processing fee if no processing fee");
607
    ok( !$procfee,  "No processing fee if no processing fee");
598
    $lostfine->delete();
608
    $lostfine->delete();
599
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
609
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, $cli_issue_id_2, 6.12, "Perdedor");
600
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
610
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
601
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
611
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
602
    is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
612
    is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
603
    ok( !$procfee,  "No processing fee if no processing fee");
613
    ok( !$procfee,  "No processing fee if no processing fee");
604
614
605
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
615
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 0, "Perdedor");
606
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
616
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
607
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
617
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
608
    ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
618
    ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
609
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
619
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
620
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
610
    $procfee->delete();
621
    $procfee->delete();
611
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
622
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, $cli_issue_id_3, 6.12, "Perdedor");
612
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
623
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
613
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
624
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
614
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
625
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
615
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
626
    is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
627
    is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
616
628
617
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
629
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 0, "Perdedor");
618
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
630
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
619
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
631
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
620
    is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
632
    is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
621
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
633
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
634
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
622
    $lostfine->delete();
635
    $lostfine->delete();
623
    $procfee->delete();
636
    $procfee->delete();
624
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
637
    C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, $cli_issue_id_4, 6.12, "Perdedor");
625
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
638
    $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
626
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
639
    $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
627
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
640
    is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
628
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
641
    is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
642
    is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
629
};
643
};
630
644
631
subtest "Koha::Account::non_issues_charges tests" => sub {
645
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