summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler/Tags.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/VNDB/Handler/Tags.pm')
-rw-r--r--lib/VNDB/Handler/Tags.pm9
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/VNDB/Handler/Tags.pm b/lib/VNDB/Handler/Tags.pm
index bb6dd2d4..64c69caa 100644
--- a/lib/VNDB/Handler/Tags.pm
+++ b/lib/VNDB/Handler/Tags.pm
@@ -165,12 +165,9 @@ sub tagedit {
my @parents = split /[\t\s]*,[\t\s]*/, $frm->{parents};
my @merge = split /[\t\s]*,[\t\s]*/, $frm->{merge};
if(!$frm->{_err}) {
- my $c = $self->dbTagGet(name => $frm->{name}, noid => $tag);
- push @{$frm->{_err}}, [ 'name', 'tagexists', $c->[0] ] if @$c;
- for (@aliases) {
- $c = $self->dbTagGet(name => $_, noid => $tag);
- push @{$frm->{_err}}, [ 'alias', 'tagexists', $c->[0] ] if @$c;
- }
+ my @dups = @{$self->dbTagGet(name => $frm->{name}, noid => $tag)};
+ push @dups, @{$self->dbTagGet(name => $_, noid => $tag)} for @aliases;
+ push @{$frm->{_err}}, \sprintf 'Tag <a href="/g%d">%s</a> already exists!', $_->{id}, xml_escape $_->{name} for @dups;
for(@parents, @merge) {
my $c = $self->dbTagGet(name => $_, noid => $tag);
push @{$frm->{_err}}, [ 'parents', 'func', [ 0, mt '_tagedit_err_notfound', $_ ]] if !@$c;