@@ -, +, @@
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 %]
Code |
@@ -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 %]