Bug 330754: Remove AnyEntryGroups() from globals.pl - Patch by Fr�d�ric Buclin <LpSolit@gmail.com> r=mkanat a=justdave

This commit is contained in:
lpsolit%gmail.com 2006-04-02 19:15:47 +00:00
Родитель 7babc76af5
Коммит 26acb0b16a
2 изменённых файлов: 3 добавлений и 36 удалений

Просмотреть файл

@ -54,9 +54,7 @@ use vars qw(
@legal_severity
);
# If we're using bug groups to restrict bug entry, we need to know who the
# user is right from the start.
Bugzilla->login(LOGIN_REQUIRED) if AnyEntryGroups();
my $user = Bugzilla->login(LOGIN_REQUIRED);
my $cloned_bug;
my $cloned_bug_id;
@ -68,8 +66,6 @@ my $vars = {};
my $product = trim($cgi->param('product') || '');
if ($product eq '') {
my $user = Bugzilla->login();
# If the user cannot enter bugs in any product, stop here.
my @enterable_products = @{$user->get_enterable_products};
ThrowUserError('no_products') unless scalar(@enterable_products);
@ -293,8 +289,6 @@ sub pickos {
# End of subroutines
##############################################################################
Bugzilla->login(LOGIN_REQUIRED) if (!(AnyEntryGroups()));
# If a user is trying to clone a bug
# Check that the user has authorization to view the parent bug
# Create an instance of Bug that holds the info from the parent
@ -302,7 +296,7 @@ $cloned_bug_id = $cgi->param('cloned_bug_id');
if ($cloned_bug_id) {
ValidateBugID($cloned_bug_id);
$cloned_bug = new Bugzilla::Bug($cloned_bug_id, Bugzilla->user->id);
$cloned_bug = new Bugzilla::Bug($cloned_bug_id, $user->id);
}
# We need to check and make sure
@ -310,7 +304,7 @@ if ($cloned_bug_id) {
my $prod_obj = new Bugzilla::Product({name => $product});
# Update the product name to get the correct case.
$product = $prod_obj->name if defined $prod_obj;
Bugzilla->user->can_enter_product($product, 1);
$user->can_enter_product($product, 1);
GetVersionTable();

Просмотреть файл

@ -185,33 +185,6 @@ sub GetVersionTable {
$::VersionTableLoaded = 1;
}
#
# This function checks if there are any entry groups defined.
# If called with no arguments, it identifies
# entry groups for all products. If called with a product
# id argument, it checks for entry groups associated with
# one particular product.
sub AnyEntryGroups {
my $product_id = shift;
$product_id = 0 unless ($product_id);
return $::CachedAnyEntryGroups{$product_id}
if defined($::CachedAnyEntryGroups{$product_id});
my $dbh = Bugzilla->dbh;
PushGlobalSQLState();
my $query = "SELECT 1 FROM group_control_map WHERE entry != 0";
$query .= " AND product_id = $product_id" if ($product_id);
$query .= " " . $dbh->sql_limit(1);
SendSQL($query);
if (MoreSQLData()) {
$::CachedAnyEntryGroups{$product_id} = MoreSQLData();
FetchSQLData();
PopGlobalSQLState();
return $::CachedAnyEntryGroups{$product_id};
} else {
return undef;
}
}
#
# This function checks if there are any default groups defined.
# If so, then groups may have to be changed when bugs move from
# one bug to another.