]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Revert "Bug 1352913 - Extensions must register for template_before_process()"
authorDylan William Hardison <dylan@hardison.net>
Tue, 11 Apr 2017 01:53:51 +0000 (21:53 -0400)
committerDylan William Hardison <dylan@hardison.net>
Tue, 11 Apr 2017 01:53:51 +0000 (21:53 -0400)
This reverts commit ecbdca8c3f06dd420db6a960c8808615dae6848a.

16 files changed:
Bugzilla/Hook.pm
Bugzilla/Template/Context.pm
extensions/BMO/Extension.pm
extensions/BugModal/Extension.pm
extensions/BzAPI/Extension.pm
extensions/ComponentWatching/Extension.pm
extensions/FlagDefaultRequestee/Extension.pm
extensions/FlagTypeComment/Extension.pm
extensions/InlineHistory/Extension.pm
extensions/MozReview/Extension.pm
extensions/OrangeFactor/Extension.pm
extensions/SecureMail/Extension.pm
extensions/ShadowBugs/Extension.pm
extensions/SiteMapIndex/Extension.pm
extensions/TrackingFlags/Extension.pm
extensions/Voting/Extension.pm

index e28c01a40c99a5aad4f273e19020682004a9902a..00bd316ab78c0b4d4d14deb708f20b3598f3ad75 100644 (file)
@@ -11,42 +11,18 @@ use 5.10.1;
 use strict;
 use warnings;
 
-use Scalar::Util qw(blessed);
-
 sub process {
-    my ($name, $args, $extensions) = @_;
-
-    $extensions //= Bugzilla->extensions;
-
-    my $hook_stack = Bugzilla->request_cache->{hook_stack} ||= [];
-    push @$hook_stack, $name;
-
-    foreach my $extension (@$extensions) {
-        if (my $hook = $extension->can($name)) {
-            $hook->($extension, $args);
-        }
-    }
+    my ($name, $args) = @_;
 
-    pop @$hook_stack;
-}
-
-sub collect_wants {
-    my ($name) = @_;
-    my %result;
+    _entering($name);
 
     foreach my $extension (@{ Bugzilla->extensions }) {
-        my $hook = $extension->can($name);
-        if ($hook) {
-            my $wants = $hook->($extension);
-            foreach my $want (keys %$wants) {
-                if ($wants->{$want}) {
-                    $result{ $want }{ blessed $extension } = 1;
-                }
-            }
+        if ($extension->can($name)) {
+            $extension->$name($args);
         }
     }
 
-    return \%result;
+    _leaving($name);
 }
 
 sub in {
@@ -55,6 +31,16 @@ sub in {
     return $hook_name eq $currently_in ? 1 : 0;
 }
 
+sub _entering {
+    my ($hook_name) = @_;
+    my $hook_stack = Bugzilla->request_cache->{hook_stack} ||= [];
+    push(@$hook_stack, $hook_name);
+}
+
+sub _leaving {
+    pop @{ Bugzilla->request_cache->{hook_stack} };
+}
+
 1;
 
 __END__
index e78cd98062a9d81deaf3448d6b239da39c43c462..b81e321300c7c0f8f434cd39c862af613ee2e3ae 100644 (file)
@@ -69,24 +69,13 @@ sub stash {
     # template object for Throw*Error).
     #
     # Checking Bugzilla::Hook::in prevents infinite recursion on this hook.
-
-    if (    $self->{bz_in_process}
-        and $name =~ /\./
-        and !grep( $_ eq $name, @$pre_process )
-        and !Bugzilla::Hook::in('template_before_process') )
+    if ($self->{bz_in_process} and $name =~ /\./
+        and !grep($_ eq $name, @$pre_process)
+        and !Bugzilla::Hook::in('template_before_process'))
     {
-        state $WANT = Bugzilla::Hook::collect_wants('template_before_process_wants');
-        if ( $WANT->{$name} ) {
-            my @extensions = grep { $WANT->{$name}{ blessed $_ } } @{ Bugzilla->extensions };
-            Bugzilla::Hook::process(
-                "template_before_process" => {
-                    vars    => $stash,
-                    context => $self,
-                    file    => $name
-                },
-                \@extensions
-            ) if @extensions;
-        }
+        Bugzilla::Hook::process("template_before_process",
+                                { vars => $stash, context => $self,
+                                  file => $name });
     }
 
     # This prevents other calls to stash() that might somehow happen
index 90f5ec7275f3d3abc6c436afd0dac155596e1295..40ab8424e3cf93a5c8dc753b9b82fd81813e49c4 100644 (file)
@@ -89,50 +89,6 @@ BEGIN {
     *Bugzilla::Attachment::fetch_github_pr_diff     = \&_attachment_fetch_github_pr_diff;
 }
 
-sub template_before_process_wants {
-    return {
-        'bug/create/create-user-engagement.html.tmpl'        => 1,
-        'bug/create/create-employee-incident.html.tmpl'      => 1,
-        'bug/create/create-fxos-mcts-waiver.html.tmpl'       => 1,
-        'bug/create/create-crm.html.tmpl'                    => 1,
-        'bug/create/create-presentation.html.tmpl'           => 1,
-        'bug/create/create-fxos-feature.html.tmpl'           => 1,
-        'bug/create/create-ipc.html.tmpl'                    => 1,
-        'bug/create/create-ipp.html.tmpl'                    => 1,
-        'bug/create/create-mobile-compat.html.tmpl'          => 1,
-        'bug/create/create-mozpr.html.tmpl'                  => 1,
-        'bug/create/create-third-party-apps.html.tmpl'       => 1,
-        'bug/create/create-itrequest.html.tmpl'              => 1,
-        'bug/create/create-fxos-betaprogram.html.tmpl'       => 1,
-        'bug/create/create-trademark.html.tmpl'              => 1,
-        'bug/create/create-dev-engagement-event.html.tmpl'   => 1,
-        'bug/create/create-name-clearance.html.tmpl'         => 1,
-        'list/list.microsummary.tmpl'                        => 1,
-        'bug/create/create-legal.html.tmpl'                  => 1,
-        'bug/create/create-creative.html.tmpl'               => 1,
-        'bug/create/create-swag.html.tmpl'                   => 1,
-        'bug/create/create-doc.html.tmpl'                    => 1,
-        'bug/create/create-web-bounty.html.tmpl'             => 1,
-        'bug/create/create-poweredby.html.tmpl'              => 1,
-        'bug/create/create-fsa-budget.html.tmpl'             => 1,
-        'bug/create/create-automative.html.tmpl'             => 1,
-        'bug/create/create-data-compliance.html.tmpl'        => 1,
-        'bug/create/create-finance.html.tmpl'                => 1,
-        'bug/create/create-nda.html.tmpl'                    => 1,
-        'bug/create/create-fxos-preload-app.html.tmpl'       => 1,
-        'bug/create/create-shield-studies.html.tmpl'         => 1,
-        'bug/create/create-mozlist.html.tmpl'                => 1,
-        'bug/create/create-recoverykey.html.tmpl'            => 1,
-        'bug/create/create-comm-newsletter.html.tmpl'        => 1,
-        'bug/create/create-recruiting.html.tmpl'             => 1,
-        'bug/create/create-intern.html.tmpl'                 => 1,
-        'bug/create/create-screen-share-whitelist.html.tmpl' => 1,
-        'bug/create/create-costume.html.tmpl'                => 1,
-        'bug/create/create-mdn.html.tmpl'                    => 1,
-        'bug/create/create-fxos-partner.html.tmpl'           => 1
-    };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{'file'};
index dede1f0fa133b61eeec9c7313e6a0ae499754c11..90406abcac76b5a48589174c45621d5c17d82a59 100644 (file)
@@ -150,17 +150,6 @@ sub template_after_create {
     );
 }
 
-sub template_before_process_wants {
-    return {
-        'bug/process/header.html.tmpl' => 1,
-        'bug/create/created.html.tmpl' => 1,
-        'attachment/created.html.tmpl' => 1,
-        'attachment/updated.html.tmpl' => 1,
-        'bug_modal/edit.html.tmpl'     => 1,
-        'bug/show-modal.html.tmpl'     => 1,
-    };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{file};
index 474060dd720509e18082f8ecf892fab6289f2eac..bb9805134d1e2fbe87db686dde1a1ef10ad96a9a 100644 (file)
@@ -46,10 +46,6 @@ sub install_filesystem {
 # Template Hooks #
 ##################
 
-sub template_before_process_wants {
-    return { 'config.json.tmpl' => 1 };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $vars = $args->{'vars'};
index 00393c235452959882b6000dda8f080d80931e2a..36dee0e1d9c1863acd9745ec8ed0317728418c36 100644 (file)
@@ -131,12 +131,6 @@ sub template_before_create {
     $constants->{REL_COMPONENT_WATCHER} = REL_COMPONENT_WATCHER;
 }
 
-sub template_before_process_wants {
-    return {
-        'admin/components/create.html.tmpl' => 1,
-    }
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     return unless $args->{file} eq 'admin/components/create.html.tmpl';
index 7d727564b67683438a82ad8fd9bde576f28a123c..f599feac22338f841cd1461015fd23759e25a45f 100644 (file)
@@ -41,12 +41,6 @@ sub install_update_db {
 # Templates #
 #############
 
-sub template_before_process_wants {
-    return {
-        map { $_ => 1 } FLAGTYPE_TEMPLATES,
-    }
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     return unless Bugzilla->user->id;
index e03b1d9ebf0f4f09e6890c2f990ccf3734436b94..34cd4c460fbbdb2f1fad465c1901bbda94fc2c05 100644 (file)
@@ -70,10 +70,6 @@ sub db_schema_abstract_schema {
 # Templates #
 #############
 
-sub template_before_process_wants {
-    return { map { $_ => 1 } FLAGTYPE_COMMENT_TEMPLATES };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my ($vars, $file) = @$args{qw(vars file)};
index a33168dd646eeca00b1a5f72e1271675e5e286e4..fb4a8f98f28111677e2a36e6ec8522b53861362c 100644 (file)
@@ -36,12 +36,6 @@ sub template_before_create {
     };
 }
 
-sub template_before_process_wants {
-    return {
-        'bug/edit.html.tmpl' => 1,
-    }
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{'file'};
index 8b6c3031dd7d1b0e21d809a4a660085ec0aae963..907f12e56383186b7c429d7adce176a9fd6798d0 100644 (file)
@@ -42,16 +42,6 @@ BEGIN {
     }
 }
 
-sub template_before_process_wants {
-    return {
-        'bug/edit.html.tmpl'          => 1,
-        'bug_modal/header.html.tmpl'  => 1,
-        'bug_modal/edit.html.tmpl'    => 1,
-        'attachment/create.html.tmpl' => 1,
-        'bug/show-header.html.tmpl'   => 1
-    };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{'file'};
index 3225939cc1d14eacb70ceb34ee6f2028fcf6dda2..ab2f1d749ec20b1ae2bb341a7075556c3e8726b2 100644 (file)
@@ -19,15 +19,6 @@ use Bugzilla::Attachment;
 
 our $VERSION = '1.0';
 
-sub template_before_process_wants {
-    return {
-        'bug/show-header.html.tmpl' => 1,
-        'bug/edit.html.tmpl' => 1,
-        'bug_modal/header.html.tmpl' => 1,
-        'bug_modal/edit.html.tmpl' => 1,
-    };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{'file'};
index b48c59cd6a14d98adb5f48cf033c9fa21dce685b..0219ac3ba77142f5489a809f31f3000d7644fc8b 100644 (file)
@@ -216,13 +216,6 @@ sub user_preferences {
     $$handled = 1;
 }
 
-sub template_before_process_wants {
-    return {
-        'email/bugmail.html.tmpl' => 1,
-        'email/bugmail.txt.tmpl'  => 1,
-    };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{'file'};
index 5d5f08d6b10f7cf0bf2c5d42669ad9ac7036c334..a9a1e08616b2b8491ea2490dd9efa759807f0cb1 100644 (file)
@@ -45,14 +45,6 @@ sub _cf_shadow_bug_obj {
     return $self->{cf_shadow_bug_obj} ||= Bugzilla::Bug->new($self->cf_shadow_bug);
 }
 
-sub template_before_process_wants {
-    return {
-        'bug/edit.html.tmpl' => 1,
-        'bug/show.html.tmpl' => 1,
-        'bug/show-header.html.tmpl' => 1,
-    };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{'file'};
index c75559855e74b5f8eec0d64c30e98d70ccb8b595..901b800924330948fc009ca213fa5de669b6b610 100644 (file)
@@ -45,12 +45,6 @@ use POSIX;
 # Pages #
 #########
 
-sub template_before_process_wants {
-    return {
-        'global/header.html.tmpl' => 1,
-    }
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my ($vars, $file) = @$args{qw(vars file)};
index ec260926e7765b2eafb5e255aef2101c68bc61c3..5f6715fc80e8ef3858e1f7285e15df06013239fa 100644 (file)
@@ -69,17 +69,6 @@ sub page_before_template {
     }
 }
 
-sub template_before_process_wants {
-    return {
-        'bug/edit.html.tmpl'           => 1,
-        'email/bugmail.txt.tmpl'       => 1,
-        'email/bugmail.html.tmpl'      => 1,
-        'bug/show.xml.tmpl'            => 1,
-        'list/edit-multiple.html.tmpl' => 1,
-        'bug/create/create.html.tmpl'  => 1,
-    };
-}
-
 sub template_before_process {
     my ($self, $args) = @_;
     my $file = $args->{'file'};
index cf42970246172c213ecd12029f7df644eeb460bf..25266778c9d7015618489e75b1959756c3eda9c3 100644 (file)
@@ -221,11 +221,6 @@ sub template_before_create {
     $constants->{DEFAULT_VOTES_PER_BUG} = DEFAULT_VOTES_PER_BUG;
 }
 
-sub template_before_process_wants {
-    return {
-        'admin/users/confirm-delete.html.tmpl' => 1
-    }
-}
 
 sub template_before_process {
     my ($self, $args) = @_;