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

(-)a/C4/SIP/ILS.pm (-2 / +2 lines)
Lines 358-364 sub end_patron_session { Link Here
358
sub pay_fee {
358
sub pay_fee {
359
    my (
359
    my (
360
        $self, $patron_id, $patron_pwd, $fee_amt, $fee_type, $pay_type, $fee_id, $trans_id, $currency, $is_writeoff,
360
        $self, $patron_id, $patron_pwd, $fee_amt, $fee_type, $pay_type, $fee_id, $trans_id, $currency, $is_writeoff,
361
        $disallow_overpayment, $register_id
361
        $disallow_overpayment, $register_id, $inst_id
362
    ) = @_;
362
    ) = @_;
363
363
364
    my $trans = C4::SIP::ILS::Transaction::FeePayment->new();
364
    my $trans = C4::SIP::ILS::Transaction::FeePayment->new();
Lines 372-378 sub pay_fee { Link Here
372
    }
372
    }
373
    my $trans_result = $trans->pay(
373
    my $trans_result = $trans->pay(
374
        $patron->{borrowernumber}, $fee_amt, $pay_type, $fee_id, $is_writeoff, $disallow_overpayment,
374
        $patron->{borrowernumber}, $fee_amt, $pay_type, $fee_id, $is_writeoff, $disallow_overpayment,
375
        $register_id
375
        $register_id, $inst_id
376
    );
376
    );
377
    my $ok = $trans_result->{ok};
377
    my $ok = $trans_result->{ok};
378
    $trans->ok($ok);
378
    $trans->ok($ok);
(-)a/C4/SIP/ILS/Transaction/FeePayment.pm (+2 lines)
Lines 50-55 sub pay { Link Here
50
    my $is_writeoff          = shift;
50
    my $is_writeoff          = shift;
51
    my $disallow_overpayment = shift;
51
    my $disallow_overpayment = shift;
52
    my $register_id          = shift;
52
    my $register_id          = shift;
53
    my $inst_id              = shift;
53
54
54
    my $type = $is_writeoff ? 'WRITEOFF' : 'PAYMENT';
55
    my $type = $is_writeoff ? 'WRITEOFF' : 'PAYMENT';
55
56
Lines 66-71 sub pay { Link Here
66
        payment_type  => 'SIP' . $sip_type,
67
        payment_type  => 'SIP' . $sip_type,
67
        interface     => C4::Context->interface,
68
        interface     => C4::Context->interface,
68
        cash_register => $register_id,
69
        cash_register => $register_id,
70
        library_id    => $inst_id,
69
    };
71
    };
70
72
71
    if ($fee_id) {
73
    if ($fee_id) {
(-)a/C4/SIP/Sip/MsgType.pm (-2 / +2 lines)
Lines 1237-1244 sub handle_fee_paid { Link Here
1237
    $ils->check_inst_id( $inst_id, "handle_fee_paid" );
1237
    $ils->check_inst_id( $inst_id, "handle_fee_paid" );
1238
1238
1239
    my $pay_result = $ils->pay_fee(
1239
    my $pay_result = $ils->pay_fee(
1240
        $patron_id,   $patron_pwd,           $fee_amt, $fee_type, $pay_type, $fee_id, $trans_id, $currency,
1240
        $patron_id,   $patron_pwd,           $fee_amt,     $fee_type, $pay_type, $fee_id, $trans_id, $currency,
1241
        $is_writeoff, $disallow_overpayment, $register_id
1241
        $is_writeoff, $disallow_overpayment, $register_id, $ils->institution
1242
    );
1242
    );
1243
    $status = $pay_result->{status};
1243
    $status = $pay_result->{status};
1244
    my $pay_response = $pay_result->{pay_response};
1244
    my $pay_response = $pay_result->{pay_response};
(-)a/t/db_dependent/SIP/Transaction.t (-4 / +6 lines)
Lines 129-135 subtest fill_holds_at_checkout => sub { Link Here
129
129
130
subtest "FeePayment->pay tests" => sub {
130
subtest "FeePayment->pay tests" => sub {
131
131
132
    plan tests => 5;
132
    plan tests => 6;
133
134
    my $inst_id = $builder->build_object( { class => 'Koha::Libraries' } )->id;
133
135
134
    # Create a borrower and add some outstanding debts to their account
136
    # Create a borrower and add some outstanding debts to their account
135
    my $patron = $builder->build( { source => 'Borrower' } );
137
    my $patron = $builder->build( { source => 'Borrower' } );
Lines 152-158 subtest "FeePayment->pay tests" => sub { Link Here
152
    my $pay_type = '00';          # 00 - Cash, 01 - VISA, 02 - Creditcard
154
    my $pay_type = '00';          # 00 - Cash, 01 - VISA, 02 - Creditcard
153
    my $ok       = $trans->pay(
155
    my $ok       = $trans->pay(
154
        $patron->{borrowernumber}, 100, $pay_type, $debt1->id, 0,
156
        $patron->{borrowernumber}, 100, $pay_type, $debt1->id, 0,
155
        0
157
        0, undef, $inst_id
156
    );
158
    );
157
    ok( $ok, "FeePayment transaction succeeded" );
159
    ok( $ok, "FeePayment transaction succeeded" );
158
    $debt1->discard_changes;
160
    $debt1->discard_changes;
Lines 163-169 subtest "FeePayment->pay tests" => sub { Link Here
163
    my $offsets = Koha::Account::Offsets->search( { debit_id => $debt1->id, credit_id => { '!=' => undef } } );
165
    my $offsets = Koha::Account::Offsets->search( { debit_id => $debt1->id, credit_id => { '!=' => undef } } );
164
    is( $offsets->count, 1, "FeePayment produced an offset line correctly" );
166
    is( $offsets->count, 1, "FeePayment produced an offset line correctly" );
165
    my $credit = $offsets->next->credit;
167
    my $credit = $offsets->next->credit;
166
    is( $credit->payment_type, 'SIP00', "Payment type was set correctly" );
168
    is( $credit->payment_type, 'SIP00',  "Payment type was set correctly" );
169
    is( $credit->branchcode,   $inst_id, "Branchcode was set correctly" );
167
};
170
};
168
171
169
subtest cancel_hold => sub {
172
subtest cancel_hold => sub {
170
- 

Return to bug 41369