Fixing bug in deletemem.pl :
[wip/koha-chris_n.git] / members / deletemem.pl
1 #!/usr/bin/perl
2
3 # $Id$
4
5 #script to delete items
6 #written 2/5/00
7 #by chris@katipo.co.nz
8
9
10 # Copyright 2000-2002 Katipo Communications
11 #
12 # This file is part of Koha.
13 #
14 # Koha is free software; you can redistribute it and/or modify it under the
15 # terms of the GNU General Public License as published by the Free Software
16 # Foundation; either version 2 of the License, or (at your option) any later
17 # version.
18 #
19 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
20 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
21 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
22 #
23 # You should have received a copy of the GNU General Public License along with
24 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
25 # Suite 330, Boston, MA  02111-1307 USA
26
27 use strict;
28
29 use CGI;
30 use C4::Context;
31 use C4::Search;
32 use C4::Interface::CGI::Output;
33 use C4::Output;
34 use C4::Circulation::Circ2;
35 use C4::Auth;
36
37
38 my $input = new CGI;
39
40 my $flagsrequired;
41 $flagsrequired->{borrowers}=1;
42 my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired);
43
44
45
46 #print $input->header;
47 my $member=$input->param('member');
48 my %env;
49 $env{'nottodayissues'}=1;
50 my %member2;
51 $member2{'borrowernumber'}=$member;
52 my $issues=currentissues(\%env,\%member2);
53 my $i=0;
54 foreach (sort keys %$issues) {
55         $i++;
56 }
57 my ($bor,$flags)=getpatroninformation(\%env, $member,'');
58
59 if (C4::Context->preference("IndependantBranches")) {
60         my $userenv = C4::Context->userenv;
61         unless ($userenv->{flags} == 1){
62                 unless ($userenv->{'branch'} eq $bor->{'branchcode'}){
63                         warn "user ".$userenv->{'branch'} ."borrower :". $bor->{'branchcode'};
64                         print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$member");
65                         exit 1;
66                 }
67         }
68 }
69
70 my $dbh = C4::Context->dbh;
71 my $sth=$dbh->prepare("Select * from borrowers where guarantor=?");
72 $sth->execute($member);
73 my $data=$sth->fetchrow_hashref;
74 $sth->finish;
75
76
77 if ($i > 0 || $flags->{'CHARGES'} ne '' || $data ne ''){
78         my ($template, $borrowernumber, $cookie)
79                 = get_template_and_user({template_name => "members/deletemem.tmpl",
80                                         query => $input,
81                                         type => "intranet",
82                                         authnotrequired => 0,
83                                         flagsrequired => {circulate => 1},
84                                         debug => 1,
85                                         });
86         #   print $input->header;
87         $template->param(bornum => $member);
88         if ($i >0) {
89                 $template->param(ItemsOnIssues => $i);
90         }
91         if ($flags->{'CHARGES'} ne '') {
92                 $template->param(charges => $flags->{'CHARGES'}->{'message'});
93         }
94         if ($data ne '') {
95                 $template->param(guarantees => 1);
96         }
97 #       print "<table border=1>";
98 #       if ($i > 0){
99 #               print "<TR><TD>Items on Issue</td><td align=right>$i</td></tr>";
100 #       }
101 #       if ($flags->{'CHARGES'} ne ''){
102 #               print "<TR><TD>Charges</td><td>$flags->{'CHARGES'}->{'message'}</tr>";
103 #       }
104 #       if ($data ne ''){
105 #               print "<TR><TD>Guarantees</td></tr>";
106 #       }
107 #       print "</table>";
108 output_html_with_http_headers $input, $cookie, $template->output;
109
110 } else {
111         delmember($member);
112         print $input->redirect("/cgi-bin/koha/members/members-home.pl");
113 }
114
115 sub delmember{
116         my ($member)=@_;
117         my $dbh = C4::Context->dbh;
118         my $sth=$dbh->prepare("Select * from borrowers where borrowernumber=?");
119         $sth->execute($member);
120         my @data=$sth->fetchrow_array;
121         $sth->finish;
122         $sth=$dbh->prepare("Insert into deletedborrowers values (".("?,"x(scalar(@data)-1))."?)");
123         $sth->execute(@data);
124         $sth->finish;
125         $sth=$dbh->prepare("Delete from borrowers where borrowernumber=?");
126         $sth->execute($member);
127         $sth->finish;
128         $sth=$dbh->prepare("Delete from reserves where borrowernumber=?");
129         $sth->execute($member);
130         $sth->finish;
131 }