From d117a7d3eadbb9ce019b92e18187ed53b2ef3249 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 26 Mar 2020 10:29:11 +0100 Subject: [PATCH] Bug 22887: Rely on unique constraint in av admin Test plan: Try to create 2 AV with the same code for the same category. You should see a warning Signed-off-by: Martin Renvoize Signed-off-by: Lari Taskula Signed-off-by: Katrin Fischer Signed-off-by: Martin Renvoize --- admin/authorised_values.pl | 31 +++++++------------ .../en/modules/admin/authorised_values.tt | 2 -- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/admin/authorised_values.pl b/admin/authorised_values.pl index 34540e1e20..945bd62b73 100755 --- a/admin/authorised_values.pl +++ b/admin/authorised_values.pl @@ -104,17 +104,7 @@ if ($op eq 'add_form') { my $duplicate_entry = 0; my @branches = grep { $_ ne q{} } $input->multi_param('branches'); - my $already_exists = Koha::AuthorisedValues->search( - { - category => $new_category, - authorised_value => $new_authorised_value, - } - )->next; - - if ( $already_exists and ( not $id or $already_exists->id != $id ) ) { - push @messages, {type => 'error', code => 'already_exists' }; - } - elsif ( $new_category eq 'branches' or $new_category eq 'itemtypes' or $new_category eq 'cn_source' ) { + if ( $new_category eq 'branches' or $new_category eq 'itemtypes' or $new_category eq 'cn_source' ) { push @messages, {type => 'error', code => 'invalid_category_name' }; } elsif ( $id ) { # Update @@ -136,17 +126,18 @@ if ($op eq 'add_form') { } } else { # Insert - my $av = Koha::AuthorisedValue->new( { - category => $new_category, - authorised_value => $new_authorised_value, - lib => scalar $input->param('lib') || undef, - lib_opac => scalar $input->param('lib_opac') || undef, - imageurl => $imageurl, - } ); - eval { - $av->store; + my $av = Koha::AuthorisedValue->new( + { + category => $new_category, + authorised_value => $new_authorised_value, + lib => scalar $input->param('lib') || undef, + lib_opac => scalar $input->param('lib_opac') || undef, + imageurl => $imageurl, + } + )->store; $av->replace_library_limits( \@branches ); + $av->store; }; if ( $@ ) { diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt index 8f71938964..7f3acbe4dd 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt @@ -177,8 +177,6 @@ Authorized value category added successfully. [% CASE 'success_on_delete' %] Authorized value deleted successfully. - [% CASE 'already_exists' %] - This authorized value already exists. [% CASE 'cat_already_exists' %] This authorized value category already exists. [% CASE 'invalid_category_name' %] -- 2.39.5