|
Lines 38-43
use Koha::Patrons;
Link Here
|
| 38 |
|
38 |
|
| 39 |
use Koha::Patron::Categories; |
39 |
use Koha::Patron::Categories; |
| 40 |
|
40 |
|
|
|
41 |
use Try::Tiny; |
| 42 |
|
| 41 |
my $input=new CGI; |
43 |
my $input=new CGI; |
| 42 |
my $flagsrequired = { borrowers => 'edit_borrowers' }; |
44 |
my $flagsrequired = { borrowers => 'edit_borrowers' }; |
| 43 |
my ( $template, $loggedinuser, $cookie ) = get_template_and_user( |
45 |
my ( $template, $loggedinuser, $cookie ) = get_template_and_user( |
|
Lines 78-100
if ($add){
Link Here
|
| 78 |
my $amount=$input->param('amount'); |
80 |
my $amount=$input->param('amount'); |
| 79 |
my $type=$input->param('type'); |
81 |
my $type=$input->param('type'); |
| 80 |
my $note = $input->param('note'); |
82 |
my $note = $input->param('note'); |
| 81 |
my $error = manualinvoice( $borrowernumber, $itemnum, $desc, $type, $amount, $note ); |
83 |
try { |
| 82 |
if ($error) { |
84 |
my $account = $patron->account; |
| 83 |
if ( $error =~ /FOREIGN KEY/ && $error =~ /itemnumber/ ) { |
85 |
my $invoice = $account->add_debit( |
| 84 |
$template->param( 'ITEMNUMBER' => 1 ); |
86 |
{ |
| 85 |
} |
87 |
amount => $amount, |
| 86 |
$template->param( csrf_token => Koha::Token->new->generate_csrf({ session_id => scalar $input->cookie('CGISESSID') }) ); |
88 |
item_id => $itemnum, |
| 87 |
$template->param( 'ERROR' => $error ); |
89 |
description => $desc, |
| 88 |
output_html_with_http_headers $input, $cookie, $template->output; |
90 |
type => $type, |
| 89 |
} else { |
91 |
note => $note |
|
|
92 |
} |
| 93 |
); |
| 90 |
|
94 |
|
| 91 |
if ( C4::Context->preference('AccountAutoReconcile') ) { |
95 |
if ( C4::Context->preference('AccountAutoReconcile') ) { |
| 92 |
$patron->account->reconcile_balance; |
96 |
$patron->account->reconcile_balance; |
| 93 |
} |
97 |
} |
| 94 |
|
|
|
| 95 |
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber"); |
| 96 |
exit; |
| 97 |
} |
98 |
} |
|
|
99 |
catch { |
| 100 |
if ( $_->isa('Koha::Exceptions::Object::FKConstraint') $error =~ /FOREIGN KEY/ && $error =~ /itemnumber/ ) { |
| 101 |
$template->param( 'ITEMNUMBER' => 1 ) if ($_->broken_fk eq 'itemnumber'); |
| 102 |
$template->param( 'ERROR' => $_->message ); |
| 103 |
} |
| 104 |
$template->param( csrf_token => Koha::Token->new->generate_csrf({ session_id => scalar $input->cookie('CGISESSID') }) ); |
| 105 |
output_html_with_http_headers $input, $cookie, $template->output; |
| 106 |
}; |
| 107 |
|
| 108 |
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber"); |
| 109 |
exit; |
| 98 |
} |
110 |
} |
| 99 |
} else { |
111 |
} else { |
| 100 |
|
112 |
|
| 101 |
- |
|
|