X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=members%2Fdeletemem.pl;h=a6143b12b7d710feef4551067a284633cd148d45;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=5d7746afc9a68c66d1442ea56a20fdd4eb95944c;hpb=2951d20c699b504447a9bb9bcbf044f56a9a3138;p=koha_fer diff --git a/members/deletemem.pl b/members/deletemem.pl index 5d7746afc9..a6143b12b7 100755 --- a/members/deletemem.pl +++ b/members/deletemem.pl @@ -1,12 +1,9 @@ #!/usr/bin/perl -# $Id$ - #script to delete items #written 2/5/00 #by chris@katipo.co.nz - # Copyright 2000-2002 Katipo Communications # # This file is part of Koha. @@ -20,81 +17,111 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +#use warnings; FIXME - Bug 2505 use CGI; use C4::Context; -use C4::Search; use C4::Output; -use C4::Circulation::Circ2; -#use C4::Acquisitions; use C4::Auth; - +use C4::Members; +use C4::Branch; # GetBranches +use C4::VirtualShelves (); #no import my $input = new CGI; -my $flagsrequired; -$flagsrequired->{borrower}=1; -my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired); - - +my ($template, $borrowernumber, $cookie) + = get_template_and_user({template_name => "members/deletemem.tmpl", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => {borrowers => 1}, + debug => 1, + }); #print $input->header; my $member=$input->param('member'); -my %env; -$env{'nottodayissues'}=1; - my %member2; - $member2{'borrowernumber'}=$member; - my $issues=currentissues(\%env,\%member2); - my $i=0; - foreach (sort keys %$issues) { - $i++; - } - my ($bor,$flags)=getpatroninformation(\%env, $member,''); +my $issues = GetPendingIssues($member); # FIXME: wasteful call when really, we only want the count +my $countissues = scalar(@$issues); + +my ($bor)=GetMemberDetails($member,''); +my $flags=$bor->{flags}; +my $userenv = C4::Context->userenv; + + + +if ($bor->{category_type} eq "S") { + unless(C4::Auth::haspermission($userenv->{'id'},{'staffaccess'=>1})) { + print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member&error=CANT_DELETE_STAFF"); + exit 1; + } +} else { + unless(C4::Auth::haspermission($userenv->{'id'},{'borrowers'=>1})) { + print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member&error=CANT_DELETE"); + exit 1; + } +} + +if (C4::Context->preference("IndependentBranches")) { + my $userenv = C4::Context->userenv; + if ( !C4::Context->IsSuperLibrarian() && $bor->{'branchcode'}){ + unless ($userenv->{branch} eq $bor->{'branchcode'}){ + print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member&error=CANT_DELETE_OTHERLIBRARY"); + exit; + } + } +} + my $dbh = C4::Context->dbh; -my $sth=$dbh->prepare("Select * from borrowers where guarantor=?"); +my $sth=$dbh->prepare("Select * from borrowers where guarantorid=?"); $sth->execute($member); my $data=$sth->fetchrow_hashref; -$sth->finish; - - -if ($i > 0 || $flags->{'CHARGES'} ne '' || $data ne ''){ - print $input->header; - print ""; - if ($i > 0){ - print ""; - } - if ($flags->{'CHARGES'} ne ''){ - print ""; - } - if ($data ne ''){ - print ""; - } - print "
Items on Issue$i
Charges$flags->{'CHARGES'}->{'message'}
Guarantees
"; +if ($countissues > 0 or $flags->{'CHARGES'} or $data->{'borrowernumber'}){ + # print $input->header; + + my ($picture, $dberror) = GetPatronImage($bor->{'borrowernumber'}); + $template->param( picture => 1 ) if $picture; + + $template->param(borrowernumber => $member, + surname => $bor->{'surname'}, + title => $bor->{'title'}, + cardnumber => $bor->{'cardnumber'}, + firstname => $bor->{'firstname'}, + categorycode => $bor->{'categorycode'}, + category_type => $bor->{'category_type'}, + categoryname => $bor->{'description'}, + address => $bor->{'address'}, + address2 => $bor->{'address2'}, + city => $bor->{'city'}, + zipcode => $bor->{'zipcode'}, + country => $bor->{'country'}, + phone => $bor->{'phone'}, + email => $bor->{'email'}, + branchcode => $bor->{'branchcode'}, + branchname => GetBranchName($bor->{'branchcode'}), + activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''), + RoutingSerials => C4::Context->preference('RoutingSerials'), + ); + if ($countissues >0) { + $template->param(ItemsOnIssues => $countissues); + } + if ($flags->{'CHARGES'} ne '') { + $template->param(charges => $flags->{'CHARGES'}->{'amount'}); + } + if ($data) { + $template->param(guarantees => 1); + } +output_html_with_http_headers $input, $cookie, $template->output; } else { - delmember($member); - print $input->redirect("/cgi-bin/koha/members-home.pl"); + MoveMemberToDeleted($member); + C4::VirtualShelves::HandleDelBorrower($member); + DelMember($member); + print $input->redirect("/cgi-bin/koha/members/members-home.pl"); } -sub delmember{ - my ($member)=@_; - my $dbh = C4::Context->dbh; - my $sth=$dbh->prepare("Select * from borrowers where borrowernumber=?"); - $sth->execute($member); - my @data=$sth->fetchrow_array; - $sth->finish; - $sth=$dbh->prepare("Insert into deletedborrowers values (".("?,"x(scalar(@data)-1))."?)"); - $sth->execute(@data); - $sth->finish; - $sth=$dbh->prepare("Delete from borrowers where borrowernumber=?"); - $sth->execute($member); - $sth->finish; - $sth=$dbh->prepare("Delete from reserves where borrowernumber=?"); - $sth->execute($member); - $sth->finish; -} +