#
# 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;
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") {
$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;
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 {
used => $source->{'used'},
);
- get_sort_rule_codes($template, $source->{'rule_code'});
+ get_sort_rule_codes($template, $source->{'class_sort_rule'});
}
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,
);
}
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);
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 {
$template->param(
delete_sort_rule_form => 1,
confirm_op => "delete_sort_rule_confirmed",
- sort_rule => $rule_code,
+ sort_rule => $rule_code,
);
} else {
$template->param(
$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'}
);
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);
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);
}
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);
}