X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=members%2Fboraccount.pl;h=83fa43bf653b17cb11b756eb08fd7386eebf56e6;hb=a3087d76bd31f59ac437e63d7031b2202cb64e5c;hp=35930810be2b487044ddfe42d110cc963df2dc9e;hpb=8d2259b67443f75675733d41773d153d889dffd7;p=koha-ffzg.git diff --git a/members/boraccount.pl b/members/boraccount.pl index 35930810be..83fa43bf65 100755 --- a/members/boraccount.pl +++ b/members/boraccount.pl @@ -23,10 +23,10 @@ # along with Koha; if not, see . use Modern::Perl; -use URI::Escape; +use URI::Escape qw( uri_unescape ); -use C4::Auth; -use C4::Output; +use C4::Auth qw( get_template_and_user ); +use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers ); use CGI qw ( -utf8 ); use C4::Members; use C4::Accounts; @@ -46,7 +46,6 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user( type => "intranet", flagsrequired => { borrowers => 'edit_borrowers', updatecharges => 'remaining_permissions'}, - debug => 1, } ); @@ -55,7 +54,7 @@ my $borrowernumber = $input->param('borrowernumber'); my $payment_id = $input->param('payment_id'); my $change_given = $input->param('change_given'); my $action = $input->param('action') || ''; -my @renew_results = $input->param('renew_result'); +my @renew_results = $input->multi_param('renew_result'); my $logged_in_user = Koha::Patrons->find( $loggedinuser ); my $library_id = C4::Context->userenv->{'branch'}; @@ -72,35 +71,58 @@ my $registerid = $input->param('registerid'); if ( $action eq 'void' ) { my $payment_id = scalar $input->param('accountlines_id'); my $payment = Koha::Account::Lines->find( $payment_id ); - $payment->void(); + $payment->void( + { + branch => $library_id, + staff_id => $logged_in_user->id, + interface => 'intranet', + } + ); } if ( $action eq 'payout' ) { - my $payment_id = scalar $input->param('accountlines_id'); - my $payment = Koha::Account::Lines->find($payment_id); + my $payment_id = scalar $input->param('accountlines_id'); my $amount = scalar $input->param('amount'); - my $transaction_type = scalar $input->param('transaction_type'); - $schema->txn_do( - sub { - my $payout = $payment->payout( - { - payout_type => $transaction_type, - branch => $library_id, - staff_id => $logged_in_user->id, - cash_register => $registerid, - interface => 'intranet', - amount => $amount - } - ); - } - ); + my $payout_type = scalar $input->param('payout_type'); + if ( $payment_id eq "" ) { + $schema->txn_do( + sub { + $patron->account->payout_amount( + { + payout_type => $payout_type, + branch => $library_id, + staff_id => $logged_in_user->id, + cash_register => $registerid, + interface => 'intranet', + amount => $amount + } + ); + } + ); + } else { + my $payment = Koha::Account::Lines->find($payment_id); + $schema->txn_do( + sub { + my $payout = $payment->payout( + { + payout_type => $payout_type, + branch => $library_id, + staff_id => $logged_in_user->id, + cash_register => $registerid, + interface => 'intranet', + amount => $amount + } + ); + } + ); + } } if ( $action eq 'refund' ) { my $charge_id = scalar $input->param('accountlines_id'); my $charge = Koha::Account::Lines->find($charge_id); my $amount = scalar $input->param('amount'); - my $transaction_type = scalar $input->param('transaction_type'); + my $refund_type = scalar $input->param('refund_type'); $schema->txn_do( sub { @@ -113,10 +135,10 @@ if ( $action eq 'refund' ) { amount => $amount } ); - unless ( $transaction_type eq 'AC' ) { + unless ( $refund_type eq 'AC' ) { my $payout = $refund->payout( { - payout_type => $transaction_type, + payout_type => $refund_type, branch => $library_id, staff_id => $logged_in_user->id, cash_register => $registerid, @@ -152,7 +174,7 @@ if ( $action eq 'discount' ) { #get account details my $total = $patron->account->balance; -my @accountlines = Koha::Account::Lines->search( +my $accountlines = Koha::Account::Lines->search( { borrowernumber => $patron->borrowernumber }, { order_by => { -desc => 'accountlines_id' } } ); @@ -187,7 +209,7 @@ $template->param( finesview => 1, total => sprintf("%.2f",$total), totalcredit => $totalcredit, - accounts => \@accountlines, + accounts => $accountlines, payment_id => $payment_id, change_given => $change_given, renew_results => $renew_results_display,