Fix for bug 1313, silent failure when entering manual invoice with invalid
[koha.git] / members / maninvoice.pl
1 #!/usr/bin/perl
2
3 #wrriten 11/1/2000 by chris@katipo.oc.nz
4 #script to display borrowers account details
5
6
7 # Copyright 2000-2002 Katipo Communications
8 #
9 # This file is part of Koha.
10 #
11 # Koha is free software; you can redistribute it and/or modify it under the
12 # terms of the GNU General Public License as published by the Free Software
13 # Foundation; either version 2 of the License, or (at your option) any later
14 # version.
15 #
16 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
17 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
18 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License along with
21 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
22 # Suite 330, Boston, MA  02111-1307 USA
23
24 use strict;
25 use C4::Auth;
26 use C4::Output;
27 use CGI;
28 use C4::Members;
29 use C4::Accounts;
30
31 my $input=new CGI;
32
33 my $borrowernumber=$input->param('borrowernumber');
34
35 # get borrower details
36 my $data=GetMember($borrowernumber,'borrowernumber');
37 my $add=$input->param('add');
38
39 if ($add){
40 #  print $input->header;
41     my $itemnum=$input->param('itemnum');
42     my $desc=$input->param('desc');
43     my $amount=$input->param('amount');
44     my $type=$input->param('type');
45     my $error=manualinvoice($borrowernumber,$itemnum,$desc,$type,$amount);
46         if ($error){
47                 my ($template, $loggedinuser, $cookie)
48                   = get_template_and_user({template_name => "members/maninvoice.tmpl",
49                                         query => $input,
50                                         type => "intranet",
51                                         authnotrequired => 0,
52                                         flagsrequired => {borrowers => 1},
53                                         debug => 1,
54                                         });
55                 if ($error =~ /FOREIGN KEY/ && $error =~ /itemnumber/){
56                         $template->param('ITEMNUMBER' => 1);
57                 }
58                 $template->param('ERROR' => $error);
59                 print $input->header(
60                         -type => 'utf-8',
61                         -cookie => $cookie
62                 ),$template->output;
63         }
64         else {
65                 print $input->redirect("/cgi-bin/koha/members/boraccount.pl?borrowernumber=$borrowernumber");
66         }
67 } else {
68         my ($template, $loggedinuser, $cookie)
69         = get_template_and_user({template_name => "members/maninvoice.tmpl",
70                                         query => $input,
71                                         type => "intranet",
72                                         authnotrequired => 0,
73                                         flagsrequired => {borrowers => 1},
74                                         debug => 1,
75                                         });
76         $template->param(
77                     borrowernumber => $borrowernumber,
78                     firstname => $data->{'firstname'},
79                     surname  => $data->{'surname'},
80     );
81     print $input->header(
82             -type => 'utf-8',
83             -cookie => $cookie
84     ),$template->output;
85 }