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

(-)a/C4/Accounts.pm (-1 / +1 lines)
Lines 91-97 sub chargelostitem{ Link Here
91
    my $existing_charges = $account->lines->search(
91
    my $existing_charges = $account->lines->search(
92
        {
92
        {
93
            itemnumber     => $itemnumber,
93
            itemnumber     => $itemnumber,
94
            accounttype    => 'L',
94
            accounttype    => 'LOST',
95
        }
95
        }
96
    )->count();
96
    )->count();
97
97
(-)a/C4/Circulation.pm (-1 / +1 lines)
Lines 2408-2414 sub _FixAccountForLostAndReturned { Link Here
2408
    my $accountlines = Koha::Account::Lines->search(
2408
    my $accountlines = Koha::Account::Lines->search(
2409
        {
2409
        {
2410
            itemnumber  => $itemnumber,
2410
            itemnumber  => $itemnumber,
2411
            accounttype => { -in => [ 'L', 'W' ] },
2411
            accounttype => { -in => [ 'LOST', 'W' ] },
2412
        },
2412
        },
2413
        {
2413
        {
2414
            order_by => { -desc => [ 'date', 'accountlines_id' ] }
2414
            order_by => { -desc => [ 'date', 'accountlines_id' ] }
(-)a/Koha/Account.pm (-4 / +10 lines)
Lines 1-4 Link Here
1
package Koha::Account;
1
 package Koha::Account;
2
2
3
# Copyright 2016 ByWater Solutions
3
# Copyright 2016 ByWater Solutions
4
#
4
#
Lines 109-115 sub pay { Link Here
109
        $balance_remaining = $balance_remaining - $amount_to_pay;
109
        $balance_remaining = $balance_remaining - $amount_to_pay;
110
110
111
        # Same logic exists in Koha::Account::Line::apply
111
        # Same logic exists in Koha::Account::Line::apply
112
        if ( $new_amountoutstanding == 0 && $fine->itemnumber && $fine->accounttype && ( $fine->accounttype eq 'L' ) )
112
        if (   $new_amountoutstanding == 0
113
            && $fine->itemnumber
114
            && $fine->accounttype
115
            && ( $fine->accounttype eq 'LOST' ) )
113
        {
116
        {
114
            C4::Circulation::ReturnLostItem( $self->{patron_id}, $fine->itemnumber );
117
            C4::Circulation::ReturnLostItem( $self->{patron_id}, $fine->itemnumber );
115
        }
118
        }
Lines 165-171 sub pay { Link Here
165
        $fine->amountoutstanding( $old_amountoutstanding - $amount_to_pay );
168
        $fine->amountoutstanding( $old_amountoutstanding - $amount_to_pay );
166
        $fine->store();
169
        $fine->store();
167
170
168
        if ( $fine->amountoutstanding == 0 && $fine->itemnumber && $fine->accounttype && ( $fine->accounttype eq 'L' ) )
171
        if (   $fine->amountoutstanding == 0
172
            && $fine->itemnumber
173
            && $fine->accounttype
174
            && ( $fine->accounttype eq 'LOST' ) )
169
        {
175
        {
170
            C4::Circulation::ReturnLostItem( $self->{patron_id}, $fine->itemnumber );
176
            C4::Circulation::ReturnLostItem( $self->{patron_id}, $fine->itemnumber );
171
        }
177
        }
Lines 727-733 our $account_type_credit = { Link Here
727
our $account_type_debit = {
733
our $account_type_debit = {
728
    'account'       => 'A',
734
    'account'       => 'A',
729
    'overdue'       => 'OVERDUE',
735
    'overdue'       => 'OVERDUE',
730
    'lost_item'     => 'L',
736
    'lost_item'     => 'LOST',
731
    'new_card'      => 'N',
737
    'new_card'      => 'N',
732
    'sundry'        => 'M',
738
    'sundry'        => 'M',
733
    'processing'    => 'PF',
739
    'processing'    => 'PF',
(-)a/Koha/Account/Line.pm (-1 / +1 lines)
Lines 226-232 sub apply { Link Here
226
            if (   $debit->amountoutstanding == 0
226
            if (   $debit->amountoutstanding == 0
227
                && $debit->itemnumber
227
                && $debit->itemnumber
228
                && $debit->accounttype
228
                && $debit->accounttype
229
                && $debit->accounttype eq 'L' )
229
                && $debit->accounttype eq 'LOST' )
230
            {
230
            {
231
                C4::Circulation::ReturnLostItem( $self->borrowernumber, $debit->itemnumber );
231
                C4::Circulation::ReturnLostItem( $self->borrowernumber, $debit->itemnumber );
232
            }
232
            }
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/accounts.inc (-1 / +1 lines)
Lines 8-14 Link Here
8
        [%- CASE 'OVERDUE' -%]<span>Fine
8
        [%- CASE 'OVERDUE' -%]<span>Fine
9
        [%- CASE 'A'       -%]<span>Account management fee
9
        [%- CASE 'A'       -%]<span>Account management fee
10
        [%- CASE 'M'       -%]<span>Sundry
10
        [%- CASE 'M'       -%]<span>Sundry
11
        [%- CASE 'L'       -%]<span>Lost item
11
        [%- CASE 'LOST'    -%]<span>Lost item
12
        [%- CASE 'W'       -%]<span>Writeoff
12
        [%- CASE 'W'       -%]<span>Writeoff
13
        [%- CASE 'HE'      -%]<span>Hold waiting too long
13
        [%- CASE 'HE'      -%]<span>Hold waiting too long
14
        [%- CASE 'Rent'    -%]<span>Rental fee
14
        [%- CASE 'Rent'    -%]<span>Rental fee
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tt (-1 / +1 lines)
Lines 79-85 Link Here
79
    [% INCLUDE 'str/members-menu.inc' %]
79
    [% INCLUDE 'str/members-menu.inc' %]
80
    [% Asset.js("js/members-menu.js") | $raw %]
80
    [% Asset.js("js/members-menu.js") | $raw %]
81
    <script>
81
    <script>
82
        var type_fees = {'L':'','OVERDUE':'','A':'','N':'','M':''};
82
        var type_fees = {'LOST':'','OVERDUE':'','A':'','N':'','M':''};
83
        [% FOREACH invoice_types_loo IN invoice_types_loop %]
83
        [% FOREACH invoice_types_loo IN invoice_types_loop %]
84
            type_fees['[% invoice_types_loo.authorised_value | html %]'] = "[% invoice_types_loo.lib | html %]";
84
            type_fees['[% invoice_types_loo.authorised_value | html %]'] = "[% invoice_types_loo.lib | html %]";
85
        [% END %]
85
        [% END %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc (-1 / +1 lines)
Lines 38-44 Link Here
38
                        [% CASE 'OVERDUE' %]Fine
38
                        [% CASE 'OVERDUE' %]Fine
39
                        [% CASE 'A' %]Account management fee
39
                        [% CASE 'A' %]Account management fee
40
                        [% CASE 'M' %]Sundry
40
                        [% CASE 'M' %]Sundry
41
                        [% CASE 'L' %]Lost item
41
                        [% CASE 'LOST' %]Lost item
42
                        [% CASE 'W' %]Writeoff
42
                        [% CASE 'W' %]Writeoff
43
                        [% CASE 'HE' %]Hold waiting too long
43
                        [% CASE 'HE' %]Hold waiting too long
44
                        [% CASE 'Rent' %]Rental fee
44
                        [% CASE 'Rent' %]Rental fee
(-)a/opac/opac-user.pl (-1 / +1 lines)
Lines 185-191 if ( $pending_checkouts->count ) { # Useless test Link Here
185
            {
185
            {
186
                borrowernumber    => $patron->borrowernumber,
186
                borrowernumber    => $patron->borrowernumber,
187
                amountoutstanding => { '>' => 0 },
187
                amountoutstanding => { '>' => 0 },
188
                accounttype       => [ 'OVERDUE', 'L' ],
188
                accounttype       => [ 'OVERDUE', 'LOST' ],
189
                itemnumber        => $issue->{itemnumber}
189
                itemnumber        => $issue->{itemnumber}
190
            },
190
            },
191
        );
191
        );
(-)a/t/db_dependent/Accounts.t (-20 / +20 lines)
Lines 77-83 my $item = $builder->build( { source => 'Item', value => { itype => $itemtype- Link Here
77
my $patron = $builder->build( { source => 'Borrower' } );
77
my $patron = $builder->build( { source => 'Borrower' } );
78
my $amount = '5.000000';
78
my $amount = '5.000000';
79
my $description = "Test fee!";
79
my $description = "Test fee!";
80
my $type = 'L';
80
my $type = 'LOST';
81
my $note = 'Test note!';
81
my $note = 'Test note!';
82
warning_like {
82
warning_like {
83
    C4::Accounts::manualinvoice( $patron->{borrowernumber},
83
    C4::Accounts::manualinvoice( $patron->{borrowernumber},
Lines 580-617 subtest "C4::Accounts::chargelostitem tests" => sub { Link Here
580
        t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
580
        t::lib::Mocks::mock_preference('useDefaultReplacementCost', '0');
581
581
582
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
582
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
583
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
583
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'LOST' });
584
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
584
        $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 off");
585
        ok( !$lostfine, "No lost fine if no replacementcost or default when pref off");
586
        ok( !$procfee,  "No processing fee if no processing fee");
586
        ok( !$procfee,  "No processing fee if no processing fee");
587
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
587
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
588
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
588
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'LOST' });
589
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
589
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
590
        ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
590
        ok( $lostfine->amount == 6.12, "Lost fine equals replacementcost when pref off and no default set");
591
        ok( !$procfee,  "No processing fee if no processing fee");
591
        ok( !$procfee,  "No processing fee if no processing fee");
592
        $lostfine->delete();
592
        $lostfine->delete();
593
593
594
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
594
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
595
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
595
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'LOST' });
596
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
596
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
597
        ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
597
        ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
598
        ok( !$procfee,  "No processing fee if no processing fee");
598
        ok( !$procfee,  "No processing fee if no processing fee");
599
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
599
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
600
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
600
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'LOST' });
601
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
601
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
602
        ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
602
        ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
603
        ok( !$procfee,  "No processing fee if no processing fee");
603
        ok( !$procfee,  "No processing fee if no processing fee");
604
        $lostfine->delete();
604
        $lostfine->delete();
605
605
606
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
606
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
607
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
607
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'LOST' });
608
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
608
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
609
        ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
609
        ok( !$lostfine, "No lost fine if no replacementcost and no default set when pref off");
610
        ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
610
        ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
611
        is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
611
        is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
612
        $procfee->delete();
612
        $procfee->delete();
613
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
613
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
614
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
614
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'LOST' });
615
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
615
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
616
        ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
616
        ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and no default set");
617
        ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
617
        ok( $procfee->amount == 8.16,  "Processing fee if processing fee");
Lines 620-633 subtest "C4::Accounts::chargelostitem tests" => sub { Link Here
620
        $procfee->delete();
620
        $procfee->delete();
621
621
622
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
622
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
623
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
623
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'LOST' });
624
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
624
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
625
        ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
625
        ok( !$lostfine, "No lost fine if no replacementcost but default set when pref off");
626
        ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
626
        ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
627
        is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
627
        is( $procfee->issue_id, $cli_issue_id_4, "Processing fee issue id is correct" );
628
        $procfee->delete();
628
        $procfee->delete();
629
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
629
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
630
        $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 => 'LOST' });
631
        $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' });
632
        ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
632
        ok( $lostfine->amount == 6.12 , "Lost fine equals replacementcost when pref off and default set");
633
        ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
633
        ok( $procfee->amount == 2.04,  "Processing fee if processing fee");
Lines 638-681 subtest "C4::Accounts::chargelostitem tests" => sub { Link Here
638
        t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
638
        t::lib::Mocks::mock_preference('useDefaultReplacementCost', '1');
639
639
640
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
640
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 0, "Perdedor");
641
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
641
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'LOST' });
642
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
642
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
643
        ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
643
        ok( !$lostfine, "No lost fine if no replacementcost or default when pref on");
644
        ok( !$procfee,  "No processing fee if no processing fee");
644
        ok( !$procfee,  "No processing fee if no processing fee");
645
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
645
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber1, 6.12, "Perdedor");
646
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'L' });
646
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'LOST' });
647
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
647
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber1, accounttype => 'PF' });
648
        is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
648
        is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
649
        ok( !$procfee,  "No processing fee if no processing fee");
649
        ok( !$procfee,  "No processing fee if no processing fee");
650
650
651
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
651
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 0, "Perdedor");
652
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
652
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'LOST' });
653
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
653
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
654
        is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
654
        is( $lostfine->amount(), "16.320000", "Lost fine is default if no replacementcost but default set when pref on");
655
        ok( !$procfee,  "No processing fee if no processing fee");
655
        ok( !$procfee,  "No processing fee if no processing fee");
656
        $lostfine->delete();
656
        $lostfine->delete();
657
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
657
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber2, 6.12, "Perdedor");
658
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'L' });
658
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'LOST' });
659
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
659
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber2, accounttype => 'PF' });
660
        is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
660
        is( $lostfine->amount, "6.120000" , "Lost fine equals replacementcost when pref on and default set");
661
        ok( !$procfee,  "No processing fee if no processing fee");
661
        ok( !$procfee,  "No processing fee if no processing fee");
662
662
663
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
663
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 0, "Perdedor");
664
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
664
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'LOST' });
665
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
665
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
666
        ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
666
        ok( !$lostfine, "No lost fine if no replacementcost and default not set when pref on");
667
        is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
667
        is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
668
        is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
668
        is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
669
        $procfee->delete();
669
        $procfee->delete();
670
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
670
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber3, 6.12, "Perdedor");
671
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'L' });
671
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'LOST' });
672
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
672
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber3, accounttype => 'PF' });
673
        is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
673
        is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and no default set");
674
        is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
674
        is( $procfee->amount, "8.160000",  "Processing fee if processing fee");
675
        is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
675
        is( $procfee->issue_id, $cli_issue_id_3, "Processing fee issue id is correct" );
676
676
677
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
677
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
678
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
678
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'LOST' });
679
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
679
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
680
        is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
680
        is( $lostfine->amount, "4.080000", "Lost fine is default if no replacementcost but default set when pref on");
681
        is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
681
        is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
Lines 683-689 subtest "C4::Accounts::chargelostitem tests" => sub { Link Here
683
        $lostfine->delete();
683
        $lostfine->delete();
684
        $procfee->delete();
684
        $procfee->delete();
685
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
685
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 6.12, "Perdedor");
686
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
686
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'LOST' });
687
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
687
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
688
        is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
688
        is( $lostfine->amount, "6.120000", "Lost fine equals replacementcost when pref on and default set");
689
        is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
689
        is( $procfee->amount, "2.040000",  "Processing fee if processing fee");
Lines 699-705 subtest "C4::Accounts::chargelostitem tests" => sub { Link Here
699
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, '1.99', "Perdedor");
699
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, '1.99', "Perdedor");
700
700
701
        # Lost Item Fee
701
        # Lost Item Fee
702
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
702
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'LOST' });
703
        ok($lostfine, "Lost fine created");
703
        ok($lostfine, "Lost fine created");
704
        is($lostfine->manager_id, $staff_id, "Lost fine manager_id set correctly");
704
        is($lostfine->manager_id, $staff_id, "Lost fine manager_id set correctly");
705
        is($lostfine->issue_id, $cli_issue_id_4, "Lost fine issue_id set correctly");
705
        is($lostfine->issue_id, $cli_issue_id_4, "Lost fine issue_id set correctly");
Lines 726-732 subtest "C4::Accounts::chargelostitem tests" => sub { Link Here
726
726
727
        t::lib::Mocks::mock_preference( 'FinesLog', 0 );
727
        t::lib::Mocks::mock_preference( 'FinesLog', 0 );
728
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
728
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
729
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
729
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'LOST' });
730
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
730
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
731
        is( $schema->resultset('ActionLog')->count(), $action_logs + 0, 'No logs were added' );
731
        is( $schema->resultset('ActionLog')->count(), $action_logs + 0, 'No logs were added' );
732
        $lostfine->delete();
732
        $lostfine->delete();
Lines 734-740 subtest "C4::Accounts::chargelostitem tests" => sub { Link Here
734
734
735
        t::lib::Mocks::mock_preference( 'FinesLog', 1 );
735
        t::lib::Mocks::mock_preference( 'FinesLog', 1 );
736
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
736
        C4::Accounts::chargelostitem( $cli_borrowernumber, $cli_itemnumber4, 0, "Perdedor");
737
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'L' });
737
        $lostfine = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'LOST' });
738
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
738
        $procfee  = Koha::Account::Lines->find({ borrowernumber => $cli_borrowernumber, itemnumber => $cli_itemnumber4, accounttype => 'PF' });
739
        is( $schema->resultset('ActionLog')->count(), $action_logs + 2, 'Logs were added' );
739
        is( $schema->resultset('ActionLog')->count(), $action_logs + 2, 'Logs were added' );
740
        $lostfine->delete();
740
        $lostfine->delete();
(-)a/t/db_dependent/Circulation.t (-6 / +5 lines)
Lines 2159-2165 subtest '_FixAccountForLostAndReturned' => sub { Link Here
2159
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2159
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2160
2160
2161
        my $lost_fee_lines = Koha::Account::Lines->search(
2161
        my $lost_fee_lines = Koha::Account::Lines->search(
2162
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'L' } );
2162
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'LOST' } );
2163
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2163
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2164
        my $lost_fee_line = $lost_fee_lines->next;
2164
        my $lost_fee_line = $lost_fee_lines->next;
2165
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
2165
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
Lines 2220-2226 subtest '_FixAccountForLostAndReturned' => sub { Link Here
2220
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2220
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2221
2221
2222
        my $lost_fee_lines = Koha::Account::Lines->search(
2222
        my $lost_fee_lines = Koha::Account::Lines->search(
2223
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'L' } );
2223
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'LOST' } );
2224
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2224
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2225
        my $lost_fee_line = $lost_fee_lines->next;
2225
        my $lost_fee_line = $lost_fee_lines->next;
2226
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
2226
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
Lines 2289-2295 subtest '_FixAccountForLostAndReturned' => sub { Link Here
2289
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2289
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2290
2290
2291
        my $lost_fee_lines = Koha::Account::Lines->search(
2291
        my $lost_fee_lines = Koha::Account::Lines->search(
2292
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'L' } );
2292
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'LOST' } );
2293
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2293
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2294
        my $lost_fee_line = $lost_fee_lines->next;
2294
        my $lost_fee_line = $lost_fee_lines->next;
2295
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
2295
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
Lines 2340-2346 subtest '_FixAccountForLostAndReturned' => sub { Link Here
2340
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2340
            $processfee_amount, 'The right PF amountoutstanding is generated' );
2341
2341
2342
        my $lost_fee_lines = Koha::Account::Lines->search(
2342
        my $lost_fee_lines = Koha::Account::Lines->search(
2343
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'L' } );
2343
            { borrowernumber => $patron->id, itemnumber => $item->itemnumber, accounttype => 'LOST' } );
2344
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2344
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2345
        my $lost_fee_line = $lost_fee_lines->next;
2345
        my $lost_fee_line = $lost_fee_lines->next;
2346
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
2346
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
Lines 2443-2449 subtest '_FixAccountForLostAndReturned' => sub { Link Here
2443
        LostItem( $item_id, 1 );
2443
        LostItem( $item_id, 1 );
2444
2444
2445
        my $lost_fee_lines = Koha::Account::Lines->search(
2445
        my $lost_fee_lines = Koha::Account::Lines->search(
2446
            { borrowernumber => $patron->id, itemnumber => $item_id, accounttype => 'L' } );
2446
            { borrowernumber => $patron->id, itemnumber => $item_id, accounttype => 'LOST' } );
2447
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2447
        is( $lost_fee_lines->count, 1, 'Only one lost item fee produced' );
2448
        my $lost_fee_line = $lost_fee_lines->next;
2448
        my $lost_fee_line = $lost_fee_lines->next;
2449
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
2449
        is( $lost_fee_line->amount + 0, $replacement_amount, 'The right L amount is generated' );
2450
- 

Return to bug 22563