summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Flag.pm16
-rw-r--r--template/en/default/global/code-error.html.tmpl5
2 files changed, 8 insertions, 13 deletions
diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm
index 7888640f9..de90170a3 100644
--- a/Bugzilla/Flag.pm
+++ b/Bugzilla/Flag.pm
@@ -264,17 +264,6 @@ sub validate {
# because the bug may be moved into another product meanwhile.
# This check will be done later when creating new flags, see FormToNewFlags().
- # All new flags must belong to active flag types.
- if (scalar(@flagtype_ids)) {
- my $inactive_flagtypes =
- $dbh->selectrow_array('SELECT 1 FROM flagtypes
- WHERE id IN (' . join(',', @flagtype_ids) . ')
- AND is_active = 0 ' .
- $dbh->sql_limit(1));
-
- ThrowCodeError('flag_type_inactive') if $inactive_flagtypes;
- }
-
if (scalar(@flag_ids)) {
# No reference to existing flags should exist when creating a new
# attachment.
@@ -315,6 +304,11 @@ sub validate {
my $flag_type = new Bugzilla::FlagType($id);
$flag_type || ThrowCodeError('flag_type_nonexistent', { id => $id });
+ # Make sure the flag type is active.
+ unless ($flag_type->is_active) {
+ ThrowCodeError('flag_type_inactive', {'type' => $flag_type->name});
+ }
+
_validate(undef, $flag_type, $status, \@requestees, $private_attachment,
$bug_id, $attach_id);
}
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl
index 0a9bcc867..d5c5766b0 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -223,8 +223,9 @@
is invalid.
[% ELSIF error == "flag_type_inactive" %]
- [% title = "Inactive Flag Types" %]
- Some flag types are inactive and cannot be used to create new flags.
+ [% title = "Inactive Flag Type" %]
+ The flag type [% type FILTER html %] is inactive and cannot be used
+ to create new flags.
[% ELSIF error == "flag_type_nonexistent" %]
There is no flag type with the ID <em>[% id FILTER html %]</em>.