Bug 5375 (Update date/time last transaction (MARC 005) when saving authority record)
[koha_gimpoz] / members / setstatus.pl
index 6fa13ea..2a3947c 100755 (executable)
 # 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;
 
 
@@ -35,18 +37,18 @@ my $flagsrequired;
 $flagsrequired->{borrowers}=1;
 my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired);
 
-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); 
@@ -54,7 +56,15 @@ if($renewaldate){
        }
 
 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&dateexpiry=$dateexpiry");
+       } 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?bornum=$borrowernumber&dateexpiry=$dateexpiry");
+       } else {
+               print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber");
+       }
 }