X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=members%2Fpay.pl;h=8a1b499db65083ba09f1d9d741da83b37e2676e9;hb=55e0a48ce9015dea488920a54afc2288685e3edf;hp=4b918aefd9e6b7cfff67b5f716801f1b9682bbf1;hpb=7c0edbc315857275ef06b1958e0e2c6944a7d87e;p=koha.git diff --git a/members/pay.pl b/members/pay.pl index 4b918aefd9..8a1b499db6 100755 --- a/members/pay.pl +++ b/members/pay.pl @@ -6,18 +6,18 @@ # # 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 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 3 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. +# 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. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . =head1 pay.pl @@ -29,10 +29,11 @@ use strict; use warnings; +use URI::Escape; use C4::Context; use C4::Auth; use C4::Output; -use CGI; +use CGI qw ( -utf8 ); use C4::Members; use C4::Accounts; use C4::Stats; @@ -43,12 +44,13 @@ use C4::Members::Attributes qw(GetBorrowerAttributes); our $input = CGI->new; +my $updatecharges_permissions = $input->param('woall') ? 'writeoff' : 'remaining_permissions'; our ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { template_name => 'members/pay.tmpl', + { template_name => 'members/pay.tt', query => $input, type => 'intranet', authnotrequired => 0, - flagsrequired => { borrowers => 1, updatecharges => 1 }, + flagsrequired => { borrowers => 1, updatecharges => $updatecharges_permissions }, debug => 1, } ); @@ -87,7 +89,8 @@ if ($writeoff_all) { my $itemno = $input->param('itemnumber'); my $account_type = $input->param('accounttype'); my $amount = $input->param('amountoutstanding'); - WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $account_type, $amount ); + my $payment_note = $input->param("payment_note"); + WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $account_type, $amount, $branch, $payment_note ); } for (@names) { @@ -100,7 +103,11 @@ for (@names) { } } -$template->param( activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne '') ); +$template->param( + finesview => 1, + activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''), + RoutingSerials => C4::Context->preference('RoutingSerials'), +); add_accounts_to_template(); @@ -126,9 +133,13 @@ sub add_accounts_to_template { } } borrower_add_additional_fields($borrower); + + $template->param(%$borrower); + $template->param( accounts => $accounts, borrower => $borrower, + categoryname => $borrower->{'description'}, total => $total, ); return; @@ -160,13 +171,12 @@ sub redirect_to_paycollect { $redirect .= get_for_redirect( 'amount', "amount$line_no", 1 ); $redirect .= get_for_redirect( 'amountoutstanding', "amountoutstanding$line_no", 1 ); - $redirect .= get_for_redirect( 'accountno', "accountno$line_no", 0 ); - $redirect .= get_for_redirect( 'description', "description$line_no", 0 ); $redirect .= get_for_redirect( 'title', "title$line_no", 0 ); $redirect .= get_for_redirect( 'itemnumber', "itemnumber$line_no", 0 ); $redirect .= get_for_redirect( 'notify_id', "notify_id$line_no", 0 ); $redirect .= get_for_redirect( 'notify_level', "notify_level$line_no", 0 ); $redirect .= get_for_redirect( 'accountlines_id', "accountlines_id$line_no", 0 ); + $redirect .= q{&} . 'payment_note' . q{=} . uri_escape_utf8( $input->param("payment_note_$line_no") ); $redirect .= '&remote_user='; $redirect .= $user; return print $input->redirect($redirect); @@ -174,7 +184,7 @@ sub redirect_to_paycollect { sub writeoff_all { my @params = @_; - my @wo_lines = grep { /^accountno\d+$/ } @params; + my @wo_lines = grep { /^accountlines_id\d+$/ } @params; for (@wo_lines) { if (/(\d+)/) { my $value = $1; @@ -183,9 +193,9 @@ sub writeoff_all { # my $borrowernum = $input->param("borrowernumber$value"); my $itemno = $input->param("itemnumber$value"); my $amount = $input->param("amountoutstanding$value"); - my $accountno = $input->param("accountno$value"); my $accountlines_id = $input->param("accountlines_id$value"); - WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $accounttype, $amount ); + my $payment_note = $input->param("payment_note_$value"); + WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $accounttype, $amount, $branch, $payment_note ); } } @@ -214,10 +224,12 @@ sub borrower_add_additional_fields { } elsif ( $b_ref->{category_type} eq 'A' ) { $b_ref->{adultborrower} = 1; } - my ( $picture, $dberror ) = GetPatronImage( $b_ref->{cardnumber} ); + my ( $picture, $dberror ) = GetPatronImage( $b_ref->{borrowernumber} ); if ($picture) { $b_ref->{has_picture} = 1; } + my $roadtype = C4::Koha::GetAuthorisedValueByCode( 'ROADTYPE', $borrower->{streettype} ); + $b_ref->{roadtype} = $roadtype; if (C4::Context->preference('ExtendedPatronAttributes')) { $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber); @@ -237,16 +249,18 @@ sub payselected { foreach (@params) { if (/^incl_par_(\d+)$/) { my $index = $1; - push @lines_to_pay, $input->param("accountno$index"); + push @lines_to_pay, $input->param("accountlines_id$index"); $amt += $input->param("amountoutstanding$index"); } } $amt = '&amt=' . $amt; my $sel = '&selected=' . join ',', @lines_to_pay; + my $notes = '¬es=' . join("%0A", map { $input->param("payment_note_$_") } @lines_to_pay ); my $redirect = "/cgi-bin/koha/members/paycollect.pl?borrowernumber=$borrowernumber" . $amt - . $sel; + . $sel + . $notes; print $input->redirect($redirect); return;