|
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 |
|
45 |
|
|
Lines 69-76
if ($add){
Link Here
|
| 69 |
my $amount=$input->param('amount'); |
71 |
my $amount=$input->param('amount'); |
| 70 |
my $type=$input->param('type'); |
72 |
my $type=$input->param('type'); |
| 71 |
my $note = $input->param('note'); |
73 |
my $note = $input->param('note'); |
| 72 |
my $error = manualinvoice( $borrowernumber, $itemnum, $desc, $type, $amount, $note ); |
74 |
try { |
| 73 |
if ($error) { |
75 |
my $account = $patron->account; |
|
|
76 |
my $invoice = $account->add_debit( |
| 77 |
{ |
| 78 |
amount => $amount, |
| 79 |
item_id => $itemnum, |
| 80 |
description => $desc, |
| 81 |
type => $type, |
| 82 |
note => $note |
| 83 |
} |
| 84 |
); |
| 85 |
} |
| 86 |
catch { |
| 74 |
my ( $template, $loggedinuser, $cookie ) = get_template_and_user( |
87 |
my ( $template, $loggedinuser, $cookie ) = get_template_and_user( |
| 75 |
{ template_name => "members/maninvoice.tt", |
88 |
{ template_name => "members/maninvoice.tt", |
| 76 |
query => $input, |
89 |
query => $input, |
|
Lines 80-95
if ($add){
Link Here
|
| 80 |
debug => 1, |
93 |
debug => 1, |
| 81 |
} |
94 |
} |
| 82 |
); |
95 |
); |
| 83 |
if ( $error =~ /FOREIGN KEY/ && $error =~ /itemnumber/ ) { |
96 |
if ( $_->isa('Koha::Exceptions::Object::FKConstraint') $error =~ /FOREIGN KEY/ && $error =~ /itemnumber/ ) { |
| 84 |
$template->param( 'ITEMNUMBER' => 1 ); |
97 |
$template->param( 'ITEMNUMBER' => 1 ) if ($_->broken_fk eq 'itemnumber'); |
|
|
98 |
$template->param( 'ERROR' => $_->message ); |
| 85 |
} |
99 |
} |
| 86 |
$template->param( csrf_token => Koha::Token->new->generate_csrf({ session_id => scalar $input->cookie('CGISESSID') }) ); |
100 |
$template->param( csrf_token => Koha::Token->new->generate_csrf({ session_id => scalar $input->cookie('CGISESSID') }) ); |
| 87 |
$template->param( 'ERROR' => $error ); |
|
|
| 88 |
output_html_with_http_headers $input, $cookie, $template->output; |
101 |
output_html_with_http_headers $input, $cookie, $template->output; |
| 89 |
} else { |
|
|
| 90 |
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber"); |
| 91 |
exit; |
102 |
exit; |
| 92 |
} |
103 |
}; |
|
|
104 |
|
| 105 |
print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber"); |
| 106 |
exit; |
| 93 |
} |
107 |
} |
| 94 |
} else { |
108 |
} else { |
| 95 |
|
109 |
|
| 96 |
- |
|
|