X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=members%2Fdeletemem.pl;h=fa3cad3cb45a573724febdc88a6f3a03185869b9;hb=c9982a6cb7cd6601a76d3132aa9a7d898d31494a;hp=6e762e56ff25d897b63850eec6a74efe54b76365;hpb=0b66bd800d9c5137240e48c2821a6871427d169d;p=koha.git diff --git a/members/deletemem.pl b/members/deletemem.pl index 6e762e56ff..fa3cad3cb4 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. @@ -25,91 +22,80 @@ # Suite 330, Boston, MA 02111-1307 USA use strict; +# use warnings; # FIXME use CGI; use C4::Context; -use C4::Interface::CGI::Output; use C4::Output; -use C4::Circulation; use C4::Auth; use C4::Members; - my $input = new CGI; -my $flagsrequired; -$flagsrequired->{borrowers}=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 %member2; -$member2{'borrowernumber'}=$member; -my $issues=GetBorrowerIssues(\%member2); -my $i=0; -foreach (sort keys %$issues) { - $i++; +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; + } } -my ($bor,$flags)=GetMemberDetails($member,''); + if (C4::Context->preference("IndependantBranches")) { - my $userenv = C4::Context->userenv; - unless ($userenv->{flags} == 1){ - unless ($userenv->{'branch'} eq $bor->{'branchcode'}){ -# warn "user ".$userenv->{'branch'} ."borrower :". $bor->{'branchcode'}; - print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member"); - exit 1; - } - } + my $userenv = C4::Context->userenv; + if (($userenv->{flags} % 2 != 1) && $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 guarantorid=?"); $sth->execute($member); my $data=$sth->fetchrow_hashref; -$sth->finish; -if ($i > 0 or $flags->{'CHARGES'} or $data->{'borrowernumber'}){ -warn"je suis rentre dans la boucle"; - 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; - $template->param(borrowernumber => $member); - if ($i >0) { - $template->param(ItemsOnIssues => $i); - } - if ($flags->{'CHARGES'} ne '') { - $template->param(charges => $flags->{'CHARGES'}->{'message'}); - } - if ($data ne '') { - $template->param(guarantees => 1); - } -# print ""; -# if ($i > 0){ -# print ""; -# } -# if ($flags->{'CHARGES'} ne ''){ -# print ""; -# } -# if ($data ne ''){ -# print ""; -# } -# print "
Items on Issue$i
Charges$flags->{'CHARGES'}->{'message'}
Guarantees
"; -$template->param(intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - intranetstylesheet => C4::Context->preference("intranetstylesheet"), - IntranetNav => C4::Context->preference("IntranetNav"), - ); +if ($countissues > 0 or $flags->{'CHARGES'} or $data->{'borrowernumber'}){ + # print $input->header; + $template->param(borrowernumber => $member); + 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 { - MoveMemberToDeleted($member); - DelMember($member); - print $input->redirect("/cgi-bin/koha/members/members-home.pl"); + MoveMemberToDeleted($member); + DelMember($member); + print $input->redirect("/cgi-bin/koha/members/members-home.pl"); }