Commit 2e3a5735 authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 731175: Bugzilla::Field shouldn't assume that someone else already loaded required modules

r=glob a=LpSolit
parent 2231368e
...@@ -76,8 +76,10 @@ sub type { ...@@ -76,8 +76,10 @@ sub type {
my $field_obj = blessed $field ? $field : Bugzilla::Field->check($field); my $field_obj = blessed $field ? $field : Bugzilla::Field->check($field);
my $field_name = $field_obj->name; my $field_name = $field_obj->name;
if ($class->CLASS_MAP->{$field_name}) { if (my $package = $class->CLASS_MAP->{$field_name}) {
return $class->CLASS_MAP->{$field_name}; # Callers expect the module to be already loaded.
eval "require $package";
return $package;
} }
# For generic classes, we use a lowercase class name, so as # For generic classes, we use a lowercase class name, so as
......
...@@ -10,7 +10,6 @@ package Bugzilla::Template; ...@@ -10,7 +10,6 @@ package Bugzilla::Template;
use strict; use strict;
use Bugzilla::Bug;
use Bugzilla::Constants; use Bugzilla::Constants;
use Bugzilla::WebService::Constants; use Bugzilla::WebService::Constants;
use Bugzilla::Hook; use Bugzilla::Hook;
...@@ -19,10 +18,8 @@ use Bugzilla::Install::Util qw(install_string template_include_path ...@@ -19,10 +18,8 @@ use Bugzilla::Install::Util qw(install_string template_include_path
include_languages); include_languages);
use Bugzilla::Keyword; use Bugzilla::Keyword;
use Bugzilla::Util; use Bugzilla::Util;
use Bugzilla::User;
use Bugzilla::Error; use Bugzilla::Error;
use Bugzilla::Search; use Bugzilla::Search;
use Bugzilla::Status;
use Bugzilla::Token; use Bugzilla::Token;
use Cwd qw(abs_path); use Cwd qw(abs_path);
...@@ -315,7 +312,10 @@ sub get_bug_link { ...@@ -315,7 +312,10 @@ sub get_bug_link {
my $dbh = Bugzilla->dbh; my $dbh = Bugzilla->dbh;
if (defined $bug) { if (defined $bug) {
$bug = blessed($bug) ? $bug : new Bugzilla::Bug($bug); if (!blessed($bug)) {
require Bugzilla::Bug;
$bug = new Bugzilla::Bug($bug);
}
return $link_text if $bug->{error}; return $link_text if $bug->{error};
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment