updated release notes for 3.14.0 beta
[koha.git] / members / setstatus.pl
index 6fa13ea..2c13401 100755 (executable)
@@ -6,6 +6,7 @@
 
 
 # Copyright 2000-2002 Katipo Communications
+# Parts copyright 2010 BibLibre
 #
 # This file is part of Koha.
 #
 # 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;
 
 use CGI;
 use C4::Context;
+use C4::Members;
 use C4::Auth;
 
 
 my $input = new CGI;
 
-my $flagsrequired;
-$flagsrequired->{borrowers}=1;
-my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired);
+checkauth($input, 0, { borrowers => 1 }, 'intranet');
 
-my $destination = $input->param("destination");
+my $destination = $input->param("destination") || '';
 my $cardnumber = $input->param("cardnumber");
 my $borrowernumber=$input->param('borrowernumber');
 my $status = $input->param('status');
-my $renewaldate = $input->param('renewaldate');
+my $reregistration = $input->param('reregistration') || '';
 
 my $dbh = C4::Context->dbh;
+my $dateexpiry;
 
-if($renewaldate){
-       my $sth=$dbh->prepare("Update borrowers set expiry = ? where borrowernumber = ?");
-       $sth->execute($renewaldate,$borrowernumber);
-       $sth->finish;
+if ( $reregistration eq 'y' ) {
+       # re-reregistration function to automatic calcul of date expiry
+       $dateexpiry = ExtendMemberSubscriptionTo( $borrowernumber );
 } else {
-       my $sth=$dbh->prepare("Update borrowers set debarred = ? where borrowernumber = ?");
-       $sth->execute($status,$borrowernumber); 
+    my $sth = $dbh->prepare("UPDATE borrowers SET debarred = ?, debarredcomment = '' WHERE borrowernumber = ?");
+    $sth->execute( $status, $borrowernumber );
        $sth->finish;
        }
 
 if($destination eq "circ"){
-       print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$cardnumber");
+       if($dateexpiry){
+        print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$cardnumber&was_renewed=1");
+       } else {
+               print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$cardnumber");
+       }
 } else {
-       print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber");
+       if($dateexpiry){
+        print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber&was_renewed=1");
+       } else {
+        print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
+       }
 }