Bug 10565: Add a "Patron List" feature for storing and manipulating collections of...
[koha.git] / patron_lists / add-modify.pl
diff --git a/patron_lists/add-modify.pl b/patron_lists/add-modify.pl
new file mode 100755 (executable)
index 0000000..ed67932
--- /dev/null
@@ -0,0 +1,61 @@
+#!/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 C4::Output;
+use Koha::List::Patron;
+
+my $cgi = new CGI;
+
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+    {
+        template_name   => "patron_lists/add-modify.tt",
+        query           => $cgi,
+        type            => "intranet",
+        authnotrequired => 1,
+    }
+);
+
+my $id   = $cgi->param('patron_list_id');
+my $name = $cgi->param('name');
+
+if ($id) {
+    my ($list) = GetPatronLists( { patron_list_id => $id } );
+    $template->param( list => $list );
+}
+
+if ($name) {
+    if ($id) {
+        ModPatronList( { patron_list_id => $id, name => $name } );
+        print $cgi->redirect('lists.pl');
+    }
+    else {
+        my $list = AddPatronList( { name => $name } );
+        print $cgi->redirect(
+            "list.pl?patron_list_id=" . $list->patron_list_id() );
+    }
+
+    exit;
+}
+
+output_html_with_http_headers( $cgi, $cookie, $template->output );