diff options
-rw-r--r-- | Bugzilla/Flag.pm | 16 | ||||
-rw-r--r-- | template/en/default/global/code-error.html.tmpl | 5 |
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>. |