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

(-)a/Koha/Account.pm (-35 / +5 lines)
Lines 64-70 Koha::Account->new( { patron_id => $borrowernumber } )->pay( Link Here
64
        library_id  => $branchcode,
64
        library_id  => $branchcode,
65
        lines       => $lines, # Arrayref of Koha::Account::Line objects to pay
65
        lines       => $lines, # Arrayref of Koha::Account::Line objects to pay
66
        credit_type => $type,  # credit_type_code code
66
        credit_type => $type,  # credit_type_code code
67
        offset_type => $offset_type,    # offset type code
68
        item_id     => $itemnumber,     # pass the itemnumber if this is a credit pertianing to a specific item (i.e LOST_FOUND)
67
        item_id     => $itemnumber,     # pass the itemnumber if this is a credit pertianing to a specific item (i.e LOST_FOUND)
69
    }
68
    }
70
);
69
);
Lines 82-88 sub pay { Link Here
82
    my $type          = $params->{type} || 'PAYMENT';
81
    my $type          = $params->{type} || 'PAYMENT';
83
    my $payment_type  = $params->{payment_type} || undef;
82
    my $payment_type  = $params->{payment_type} || undef;
84
    my $credit_type   = $params->{credit_type};
83
    my $credit_type   = $params->{credit_type};
85
    my $offset_type   = $params->{offset_type} || $type eq 'WRITEOFF' ? 'Writeoff' : 'Payment';
86
    my $cash_register = $params->{cash_register};
84
    my $cash_register = $params->{cash_register};
87
    my $item_id       = $params->{item_id};
85
    my $item_id       = $params->{item_id};
88
86
Lines 152-158 sub pay { Link Here
152
        my $account_offset = Koha::Account::Offset->new(
150
        my $account_offset = Koha::Account::Offset->new(
153
            {
151
            {
154
                debit_id => $fine->id,
152
                debit_id => $fine->id,
155
                type     => $offset_type,
153
                type     => 'CREATE',
156
                amount   => $amount_to_pay * -1,
154
                amount   => $amount_to_pay * -1,
157
            }
155
            }
158
        );
156
        );
Lines 223-229 sub pay { Link Here
223
        my $account_offset = Koha::Account::Offset->new(
221
        my $account_offset = Koha::Account::Offset->new(
224
            {
222
            {
225
                debit_id => $fine->id,
223
                debit_id => $fine->id,
226
                type     => $offset_type,
224
                type     => 'CREATE',
227
                amount   => $amount_to_pay * -1,
225
                amount   => $amount_to_pay * -1,
228
            }
226
            }
229
        );
227
        );
Lines 432-439 sub add_credit { Link Here
432
                my $account_offset = Koha::Account::Offset->new(
430
                my $account_offset = Koha::Account::Offset->new(
433
                    {
431
                    {
434
                        credit_id => $line->id,
432
                        credit_id => $line->id,
435
                        type   => $Koha::Account::offset_type->{$credit_type} // $Koha::Account::offset_type->{CREDIT},
433
                        type      => 'CREATE',
436
                        amount => $amount
434
                        amount    => $amount
437
                    }
435
                    }
438
                )->store();
436
                )->store();
439
437
Lines 640-646 sub add_debit { Link Here
640
    my $debit_type  = $params->{type};
638
    my $debit_type  = $params->{type};
641
    my $item_id     = $params->{item_id};
639
    my $item_id     = $params->{item_id};
642
    my $issue_id    = $params->{issue_id};
640
    my $issue_id    = $params->{issue_id};
643
    my $offset_type = $Koha::Account::offset_type->{$debit_type} // 'Manual Debit';
644
641
645
    my $line;
642
    my $line;
646
    my $schema = Koha::Database->new->schema;
643
    my $schema = Koha::Database->new->schema;
Lines 676-682 sub add_debit { Link Here
676
                my $account_offset = Koha::Account::Offset->new(
673
                my $account_offset = Koha::Account::Offset->new(
677
                    {
674
                    {
678
                        debit_id => $line->id,
675
                        debit_id => $line->id,
679
                        type     => $offset_type,
676
                        type     => 'CREATE',
680
                        amount   => $amount
677
                        amount   => $amount
681
                    }
678
                    }
682
                )->store();
679
                )->store();
Lines 955-986 sub reconcile_balance { Link Here
955
952
956
1;
953
1;
957
954
958
=head2 Name mappings
959
960
=head3 $offset_type
961
962
=cut
963
964
our $offset_type = {
965
    'CREDIT'           => 'Manual Credit',
966
    'FORGIVEN'         => 'Writeoff',
967
    'LOST_FOUND'       => 'Lost Item Found',
968
    'OVERPAYMENT'      => 'Overpayment',
969
    'PAYMENT'          => 'Payment',
970
    'WRITEOFF'         => 'Writeoff',
971
    'ACCOUNT'          => 'Account Fee',
972
    'ACCOUNT_RENEW'    => 'Account Fee',
973
    'RESERVE'          => 'Reserve Fee',
974
    'PROCESSING'       => 'Processing Fee',
975
    'LOST'             => 'Lost Item',
976
    'RENT'             => 'Rental Fee',
977
    'RENT_DAILY'       => 'Rental Fee',
978
    'RENT_RENEW'       => 'Rental Fee',
979
    'RENT_DAILY_RENEW' => 'Rental Fee',
980
    'OVERDUE'          => 'OVERDUE',
981
    'RESERVE_EXPIRED'  => 'Hold Expired'
982
};
983
984
=head1 AUTHORS
955
=head1 AUTHORS
985
956
986
=encoding utf8
957
=encoding utf8
987
- 

Return to bug 22435