Bug 2720 - Overdues which debar automatically should undebar automatically when returned
[koha.git] / members / mod_debarment.pl
diff --git a/members/mod_debarment.pl b/members/mod_debarment.pl
new file mode 100755 (executable)
index 0000000..0951b0e
--- /dev/null
@@ -0,0 +1,63 @@
+#!/usr/bin/perl
+
+# Copyright 2013 ByWater Solutions
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# 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.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use Modern::Perl;
+
+use CGI;
+
+use C4::Auth;
+use Koha::DateUtils;
+use Koha::Borrower::Debarments;
+
+my $cgi = new CGI;
+
+my ( $loggedinuser, $cookie, $sessionID ) = checkauth( $cgi, 0, { borrowers => 1 } );
+
+my $borrowernumber = $cgi->param('borrowernumber');
+my $action         = $cgi->param('action');
+
+if ( $action eq 'del' ) {
+    DelDebarment( $cgi->param('borrower_debarment_id') );
+} elsif ( $action eq 'add' ) {
+    my $expiration = $cgi->param('expiration');
+    if ($expiration) {
+        $expiration = dt_from_string($expiration);
+        $expiration = $expiration->ymd();
+    }
+
+    AddDebarment(
+        {   borrowernumber => $borrowernumber,
+            type           => 'MANUAL',
+            comment        => $cgi->param('comment'),
+            expiration     => $expiration,
+        }
+    );
+}
+
+if ( $ENV{HTTP_REFERER} =~ /moremember/ ) {
+    print $cgi->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
+} else {
+    print $cgi->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber");
+}
+
+=head1 author
+
+Kyle M Hall <kyle@bywatersolutions.com>
+
+=cut