Bug 10572: DBrev 3.13.00.037
[koha.git] / members / deletemem.pl
index 0b85d5e..6b99cb3 100755 (executable)
 # 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,14 +51,22 @@ 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")) {
+if (C4::Context->preference("IndependentBranches")) {
     my $userenv = C4::Context->userenv;
     if (($userenv->{flags} % 2 != 1) && $bor->{'branchcode'}){
         unless ($userenv->{branch} eq $bor->{'branchcode'}){
@@ -72,7 +82,30 @@ $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->{'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);
     }
@@ -86,6 +119,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");
 }