summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Bug.pm
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@mozilla.com>2015-05-01 06:03:57 +0200
committerDylan William Hardison <dylan@hardison.net>2015-05-01 06:03:57 +0200
commitc3c2eccd987259a577108fd05f57dc809950b0e6 (patch)
tree44cbe5438ce68ae36d8f36c205e2e523dd3dd5db /Bugzilla/Bug.pm
parent0e68998f22b847d90753daac3808bedc4500cde6 (diff)
downloadbugzilla-c3c2eccd987259a577108fd05f57dc809950b0e6.tar.gz
bugzilla-c3c2eccd987259a577108fd05f57dc809950b0e6.tar.xz
Bug 69267: Add the ability to deactivate keywords
r/a=glob
Diffstat (limited to 'Bugzilla/Bug.pm')
-rw-r--r--Bugzilla/Bug.pm14
1 files changed, 14 insertions, 0 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 2f34d55e7..6fcf14c5a 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -1851,6 +1851,20 @@ sub _check_keywords {
my $obj = Bugzilla::Keyword->check($keyword);
$keywords{$obj->id} = $obj;
}
+
+ my %old_kw_id;
+ if (blessed $invocant) {
+ my @old_keywords = @{$invocant->keyword_objects};
+ %old_kw_id = map { $_->id => 1 } @old_keywords;
+ }
+
+ foreach my $keyword (values %keywords) {
+ next if $keyword->is_active || exists $old_kw_id{$keyword->id};
+
+ ThrowUserError('value_inactive',
+ { value => $keyword->name, class => ref $keyword });
+ }
+
return [values %keywords];
}