Bug 2400 [10/18]: fixing pod syntax in C4/ImportBatch.pm
[koha_fer] / members / deletemem.pl
index f343b49..33f35ae 100755 (executable)
@@ -1,6 +1,5 @@
 #!/usr/bin/perl
 
-# $Id$
 
 #script to delete items
 #written 2/5/00
@@ -37,9 +36,14 @@ 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');
@@ -47,16 +51,24 @@ my %member2;
 $member2{'borrowernumber'}=$member;
 my ($countissues,$issues)=GetPendingIssues($member);
 
-my ($bor,$flags)=GetMemberDetails($member,'');
+my ($bor)=GetMemberDetails($member,'');
+my $flags=$bor->{flags};
+my $userenv = C4::Context->userenv;
+if ($bor->{category_type} eq "S") {
+    unless(C4::Auth::haspermission(undef,$userenv->{'id'},{'staffaccess'=>1})) {
+        print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member&error=CANT_DELETE_STAFF");
+        exit 1;
+    }
+}
+
 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;
-               }
-       }
+    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&error=CANT_DELETE_OTHERLIBRARY");
+            exit 1;
+        }
+    }
 }
 my $dbh = C4::Context->dbh;
 my $sth=$dbh->prepare("Select * from borrowers where guarantorid=?");
@@ -64,47 +76,23 @@ $sth->execute($member);
 my $data=$sth->fetchrow_hashref;
 $sth->finish;
 if ($countissues > 0 or $flags->{'CHARGES'}  or $data->{'borrowernumber'}){
-
-       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 ($countissues >0) {
-               $template->param(ItemsOnIssues => $countissues);
-       }
-       if ($flags->{'CHARGES'} ne '') {
-               $template->param(charges => $flags->{'CHARGES'}->{'message'});
-       }
-       if ($data ne '') {
-               $template->param(guarantees => 1);
-       }
-#      print "<table border=1>";
-#      if ($i > 0){
-#              print "<TR><TD>Items on Issue</td><td align=right>$i</td></tr>";
-#      }
-#      if ($flags->{'CHARGES'} ne ''){
-#              print "<TR><TD>Charges</td><td>$flags->{'CHARGES'}->{'message'}</tr>";
-#      }
-#      if ($data ne ''){
-#              print "<TR><TD>Guarantees</td></tr>";
-#      }
-#      print "</table>";
-$template->param(intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
-               );
+    #   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 ne '') {
+        $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");
 }