@@ -, +, @@ already exists before adding --- C4/ClassSource.pm | 12 ++++++++++-- admin/classsources.pl | 16 ++++++++++++---- .../intranet-tmpl/prog/en/modules/admin/classsources.tt | 6 ++++++ 3 files changed, 28 insertions(+), 6 deletions(-) --- a/C4/ClassSource.pm +++ a/C4/ClassSource.pm @@ -112,12 +112,16 @@ sub GetClassSources { sub AddClassSource { my ($cn_source, $description, $used, $class_sort_rule) = @_; + my $exists = GetClassSource($cn_source); + if ($exists) { + return 0; + } my $dbh = C4::Context->dbh; my $sth = $dbh->prepare("INSERT INTO `class_sources` (`cn_source`, `description`, `used`, `class_sort_rule`) VALUES (?, ?, ?, ?)"); $sth->execute($cn_source, $description, $used, $class_sort_rule); - + return 1; } =head2 GetClassSource @@ -224,12 +228,16 @@ sub GetClassSortRules { sub AddClassSortRule { my ($class_sort_rule, $description, $sort_routine) = @_; + my $exists = GetClassSortRule($class_sort_rule); + if ($exists) { + return 0; + } my $dbh = C4::Context->dbh; my $sth = $dbh->prepare("INSERT INTO `class_sort_rules` (`class_sort_rule`, `description`, `sort_routine`) VALUES (?, ?, ?)"); $sth->execute($class_sort_rule, $description, $sort_routine); - + return 1; } =head2 GetClassSortRule --- a/admin/classsources.pl +++ a/admin/classsources.pl @@ -118,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 { @@ -189,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 { --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/classsources.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/classsources.tt @@ -199,6 +199,9 @@ [% IF ( deleted_source ) %]
Deleted classification source [% deleted_source %]
[% END %] +[% IF ( failed_add_source ) %] +
Failed to add classification source [% failed_add_source %]. Perhaps the code already exists?
+[% END %] @@ -231,6 +234,9 @@ [% IF ( deleted_rule ) %]
Deleted filing rule [% deleted_rule %]
[% END %] +[% IF ( failed_add_rule ) %] +
Failed to add filing rule [% failed_add_rule %]. Perhaps the code already exists?
+[% END %]
Code
--
Code