Koha/C4/SIP/ILS/Transaction/FeePayment.pm
Ian Walls c8e99f313f Bug 6273: add support for recording type of payment made via SIP2
Adds support for recording in Koha accountlines a different accounttype
depending on how the fee was paid at the SIP2 station (cash, credit,
etc.)

Adds a new param to recordpayment(), $sip_paytype, which is appended to
the 'Pay' type if present.  The payment description is also appended
with " (via SIP2)" if this is present.

In order for other scripts to keep working as expected, "eq 'Pay'"
needed to be replaced with a regex comparison "=~ /^Pay/", so that 'Pay'
and 'Pay-##' would continue to group together.

To test:
1.  Make a payment over a SIP2 connection
2.  Check the patron record in the staff client; you should see the
    modified description
3.  Attempt to print a invoice or a reciept for the borrower; the
    payment should show up where expected

Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-30 16:38:09 +00:00

59 lines
1.5 KiB
Perl

package ILS::Transaction::FeePayment;
use warnings;
use strict;
# Copyright 2011 PTFS-Europe Ltd.
#
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with Koha; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use C4::Accounts qw(recordpayment);
use ILS;
use parent qw(ILS::Transaction);
our $debug = 0;
our $VERSION = 3.07.00.049;
my %fields = ();
sub new {
my $class = shift;
my $self = $class->SUPER::new();
foreach ( keys %fields ) {
$self->{_permitted}->{$_} = $fields{$_}; # overlaying _permitted
}
@{$self}{ keys %fields } = values %fields; # copying defaults into object
return bless $self, $class;
}
sub pay {
my $self = shift;
my $borrowernumber = shift;
my $amt = shift;
my $type = shift;
warn("RECORD:$borrowernumber::$amt");
recordpayment( $borrowernumber, $amt,$type );
}
#sub DESTROY {
#}
1;
__END__