From fa89f2d5a75e46a7c7bd8542c09bb8d465587b90 Mon Sep 17 00:00:00 2001 From: Dave Miller Date: Sun, 5 Jul 2026 00:49:10 -0400 Subject: [PATCH] Bug 2052694: ShadowBugs extension breaks checksetup.pl --no-database by doing database operations during template initialization --- extensions/ShadowBugs/Extension.pm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/extensions/ShadowBugs/Extension.pm b/extensions/ShadowBugs/Extension.pm index a1eb4a8c10..28693c07ee 100644 --- a/extensions/ShadowBugs/Extension.pm +++ b/extensions/ShadowBugs/Extension.pm @@ -51,14 +51,17 @@ sub template_before_process { my $file = $args->{'file'}; my $vars = $args->{'vars'}; - Bugzilla->process_cache->{shadow_bug_field} - ||= Bugzilla::Field->new({name => 'cf_shadow_bug'}); - - return unless Bugzilla->user->in_group('can_shadow_bugs'); return unless $file eq 'bug/edit.html.tmpl' || $file eq 'bug/show.html.tmpl' || $file eq 'bug/show-header.html.tmpl'; + + return unless Bugzilla->user->in_group('can_shadow_bugs'); + + Bugzilla->process_cache->{shadow_bug_field} + ||= Bugzilla::Field->new({name => 'cf_shadow_bug'}); + return unless Bugzilla->process_cache->{shadow_bug_field}; + my $bug = exists $vars->{'bugs'} ? $vars->{'bugs'}[0] : $vars->{'bug'}; return unless $bug && $bug->cf_shadow_bug; $vars->{is_shadow_bug} = 1;