Bug 18376: Do not need to prepare a single statement, use do
[srvgit] / admin / classsources.pl
index d60f03c..74e682a 100755 (executable)
@@ -4,22 +4,23 @@
 #
 # 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 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 3 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.
+# 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., 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, see <http://www.gnu.org/licenses>.
 #
 
 use strict;
-use CGI;
+#use warnings; FIXME - Bug 2505
+use CGI qw ( -utf8 );
 use C4::Auth;
 use C4::Context;
 use C4::Output;
@@ -30,24 +31,21 @@ use C4::ClassSortRoutine;
 my $script_name = "/cgi-bin/koha/admin/classsources.pl";
 
 my $input = new CGI;
-my $op = $input->param('op');
+my $op          = $input->param('op') || '';
 my $source_code = $input->param('class_source');
-my $rule_code = $input->param('sort_rule');
+my $rule_code   = $input->param('sort_rule');
 
 my ($template, $loggedinuser, $cookie)
-    = get_template_and_user({template_name => "admin/classsources.tmpl",
+    = get_template_and_user({template_name => "admin/classsources.tt",
                  query => $input,
                  type => "intranet",
                  authnotrequired => 0,
-                 flagsrequired => {parameters => 1},
+                 flagsrequired => {parameters => 'parameters_remaining_permissions'},
                  debug => 1,
                  });
 
-if ($op) {
-    $template->param(script_name => $script_name, $op => 1);
-} else {
-    $template->param(script_name => $script_name);
-}
+$template->param(script_name => $script_name);
+$template->param($op => 1) if $op;
 
 my $display_lists = 0;
 if ($op eq "add_source") {
@@ -60,7 +58,7 @@ if ($op eq "add_source") {
                      $rule_code);
     $display_lists = 1;
 } elsif ($op eq "delete_source") {
-    delete_class_source_form($template);
+    delete_class_source_form($template, $source_code);
 } elsif ($op eq "delete_source_confirmed") {
     delete_class_source($template, $source_code);
     $display_lists = 1;
@@ -120,8 +118,12 @@ sub add_class_source_form {
 
 sub add_class_source {
     my ($template, $source_code, $description, $used, $sort_rule) = @_;
-    AddClassSource($source_code, $description, $used, $sort_rule);
-    $template->param(added_source => $source_code);
+    my $success = AddClassSource($source_code, $description, $used, $sort_rule);
+    if ($success > 0) {
+        $template->param(added_source => $source_code);
+    } else {
+        $template->param(failed_add_source => $source_code);
+    }
 }
 
 sub edit_class_source_form {
@@ -137,7 +139,7 @@ sub edit_class_source_form {
         used => $source->{'used'},
     );
 
-    get_sort_rule_codes($template, $source->{'rule_code'});
+    get_sort_rule_codes($template, $source->{'class_sort_rule'});
 }
 
 sub edit_class_source {
@@ -148,10 +150,10 @@ sub edit_class_source {
 
 
 sub delete_class_source_form {
-    my ($template) = @_;
+    my ($template, $source_code) = @_;
     $template->param(
         delete_class_source_form => 1,
-        confirm_op => "delete_source_confirmed",
+        confirm_op   => "delete_source_confirmed",
         class_source => $source_code,
     );
 }
@@ -170,12 +172,11 @@ sub get_sort_rule_codes {
     my @sort_rules = ();
     foreach my $sort_rule (sort keys %$sort_rules) {
         my $sort_rule = $sort_rules->{$sort_rule};
-        push @sort_rules,
-          {
+        push @sort_rules, {
             rule        => $sort_rule->{'class_sort_rule'},
             description => $sort_rule->{'description'},
-            selected => $sort_rule->{'class_sort_rule'} eq $current_rule ? 1 : 0
-          }
+            selected    => $sort_rule->{'class_sort_rule'} eq $current_rule ? 1 : 0
+        };
     }
     $template->param(rules_dropdown => \@sort_rules);
  
@@ -192,8 +193,12 @@ sub add_class_sort_rule_form {
 
 sub add_class_sort_rule {
     my ($template, $rule_code, $description, $sort_routine) = @_;
-    AddClassSortRule($rule_code, $description, $sort_routine);
-    $template->param(added_rule => $rule_code);
+    my $success = AddClassSortRule($rule_code, $description, $sort_routine);
+    if ($success > 0) {
+        $template->param(added_rule => $rule_code);
+    } else {
+        $template->param(failed_add_rule => $rule_code);
+    }
 }
 
 sub delete_sort_rule_form {
@@ -204,7 +209,7 @@ sub delete_sort_rule_form {
         $template->param(
             delete_sort_rule_form => 1,
             confirm_op => "delete_sort_rule_confirmed",
-            sort_rule => $rule_code,
+            sort_rule  => $rule_code,
         );
     } else {
         $template->param(
@@ -227,9 +232,9 @@ sub edit_class_sort_rule_form {
     $template->param(
         sort_rule_form => 1,
         edit_sort_rule => 1,
-        confirm_op => "edit_sort_rule_confirmed",
-        sort_rule => $rule_code,
-        description => $rule->{'description'},
+        confirm_op   => "edit_sort_rule_confirmed",
+        sort_rule    => $rule_code,
+        description  => $rule->{'description'},
         sort_routine => $rule->{'sort_routine'}
     );
 
@@ -244,11 +249,10 @@ sub get_class_sort_routines {
     my @sort_form = ();
 
     foreach my $sort_routine (sort @sort_routines) {    
-        push @sort_form,
-          {
+        push @sort_form, {
             routine  => $sort_routine,
             selected => $sort_routine eq $current_routine ? 1 : 0
-          }
+        };
     }
     $template->param(routines_dropdown => \@sort_form);
 
@@ -267,13 +271,12 @@ sub class_source_list {
     my @sources = ();
     foreach my $cn_source (sort keys %$sources) {
         my $source = $sources->{$cn_source};
-        push @sources,
-          { 
+        push @sources, {
             code        => $source->{'cn_source'},
             description => $source->{'description'},
-            used => $source->{'used'},
+            used        => $source->{'used'},
             sortrule    => $source->{'class_sort_rule'}
-          } 
+        };
     }
     $template->param(class_sources => \@sources);
 }
@@ -286,12 +289,11 @@ sub class_sort_rule_list {
     my @sort_rules = ();
     foreach my $sort_rule (sort keys %$sort_rules) {
         my $sort_rule = $sort_rules->{$sort_rule};
-        push @sort_rules, 
-          {  
+        push @sort_rules, {
             rule        => $sort_rule->{'class_sort_rule'},
             description => $sort_rule->{'description'},
             sort_routine    => $sort_rule->{'sort_routine'}
-          } 
+        }; 
     }
     $template->param(class_sort_rules => \@sort_rules);
 }