X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=members%2Fdeletemem.pl;h=a813cd68d71fd589f1d15b82c0a5b68a69b8fa51;hb=ea1aa7a0d906d583375618e37be60e9f0d62d939;hp=99b779de5662a7b6b349589881ecf864c22497b1;hpb=6924e7d6b43634933e3c4219d16258f8411346c3;p=koha_fer diff --git a/members/deletemem.pl b/members/deletemem.pl index 99b779de56..a813cd68d7 100755 --- a/members/deletemem.pl +++ b/members/deletemem.pl @@ -17,18 +17,20 @@ # 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 +#use warnings; FIXME - Bug 2505 use CGI; use C4::Context; use C4::Output; use C4::Auth; use C4::Members; +use C4::Branch; # GetBranches +use C4::VirtualShelves (); #no import my $input = new CGI; @@ -49,29 +51,60 @@ 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("IndependantBranches")) { - unless ($userenv->{flags} % 2 == 1){ - unless ($userenv->{'branch'} eq $bor->{'branchcode'}){ -# warn "user ".$userenv->{'branch'} ."borrower :". $bor->{'branchcode'}; + 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 1; + exit; } } } + my $dbh = C4::Context->dbh; my $sth=$dbh->prepare("Select * from borrowers where guarantorid=?"); $sth->execute($member); my $data=$sth->fetchrow_hashref; if ($countissues > 0 or $flags->{'CHARGES'} or $data->{'borrowernumber'}){ # print $input->header; - $template->param(borrowernumber => $member); + + my ($picture, $dberror) = GetPatronImage($bor->{'cardnumber'}); + $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 ''), + ); if ($countissues >0) { $template->param(ItemsOnIssues => $countissues); } @@ -85,6 +118,7 @@ output_html_with_http_headers $input, $cookie, $template->output; } else { MoveMemberToDeleted($member); + C4::VirtualShelves::HandleDelBorrower($member); DelMember($member); print $input->redirect("/cgi-bin/koha/members/members-home.pl"); }