diff options
author | Dylan William Hardison <dylan@hardison.net> | 2018-04-08 01:20:00 +0200 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2018-06-28 22:41:55 +0200 |
commit | 541e2b41af8cc44ad3eb0638618bc457c666d612 (patch) | |
tree | 121866bb37e4b06ffd7320679772d77271158661 /Bugzilla/Quantum/Template.pm | |
parent | cdc26a69674ea7a3413efce2f8d4e3225c6ab76e (diff) | |
download | bugzilla-541e2b41af8cc44ad3eb0638618bc457c666d612.tar.gz bugzilla-541e2b41af8cc44ad3eb0638618bc457c666d612.tar.xz |
a bit of a quantum leap
It's now possible to load the CGIs into a mojolicious controller.
Compatibility isn't 100% yet, but it should give a migration path
for any random CGI to become a proper controller.
Diffstat (limited to 'Bugzilla/Quantum/Template.pm')
-rw-r--r-- | Bugzilla/Quantum/Template.pm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Bugzilla/Quantum/Template.pm b/Bugzilla/Quantum/Template.pm new file mode 100644 index 000000000..ebae0cf9f --- /dev/null +++ b/Bugzilla/Quantum/Template.pm @@ -0,0 +1,40 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +package Bugzilla::Quantum::Template; +use 5.10.1; +use Moo; + +has 'controller' => ( + is => 'ro', + required => 1, +); + +has 'template' => ( + is => 'ro', + required => 1, + handles => ['error', 'get_format'], +); + +sub process { + my ($self, $file, $vars, $output) = @_; + + if (@_ < 4) { + my $stash = $self->controller->stash; + $stash->{$_} = $vars->{$_} for keys %$vars; + $self->controller->render(template => $file, handler => 'bugzilla'); + return 1; + } + elsif (@_ == 4) { + return $self->template->process($file, $vars, $output); + } + else { + die __PACKAGE__ . '->process() called with too many arguments'; + } +} + +1;
\ No newline at end of file |