Bug 279740 : Move CountOpenDependencies out of globals.pl
Patch by Max Kanat-Alexander <mkanat@kerio.com> r=wurblzap a=justdave git-svn-id: svn://10.0.0.236/trunk@168643 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
c9c6bdd186
commit
64284ff52f
@ -536,6 +536,32 @@ sub GetComments {
|
||||
return \@comments;
|
||||
}
|
||||
|
||||
# CountOpenDependencies counts the number of open dependent bugs for a
|
||||
# list of bugs and returns a list of bug_id's and their dependency count
|
||||
# It takes one parameter:
|
||||
# - A list of bug numbers whose dependencies are to be checked
|
||||
sub CountOpenDependencies {
|
||||
my (@bug_list) = @_;
|
||||
my @dependencies;
|
||||
my $dbh = Bugzilla->dbh;
|
||||
|
||||
my $sth = $dbh->prepare(
|
||||
"SELECT blocked, count(bug_status) " .
|
||||
"FROM bugs, dependencies " .
|
||||
"WHERE blocked IN (" . (join "," , @bug_list) . ") " .
|
||||
"AND bug_id = dependson " .
|
||||
"AND bug_status IN ('" . (join "','", &::OpenStates()) . "') " .
|
||||
"GROUP BY blocked ");
|
||||
$sth->execute();
|
||||
|
||||
while (my ($bug_id, $dependencies) = $sth->fetchrow_array()) {
|
||||
push(@dependencies, { bug_id => $bug_id,
|
||||
dependencies => $dependencies });
|
||||
}
|
||||
|
||||
return @dependencies;
|
||||
}
|
||||
|
||||
sub AUTOLOAD {
|
||||
use vars qw($AUTOLOAD);
|
||||
my $attr = $AUTOLOAD;
|
||||
|
||||
@ -999,38 +999,6 @@ sub GetBugLink {
|
||||
}
|
||||
}
|
||||
|
||||
# CountOpenDependencies counts the number of open dependent bugs for a
|
||||
# list of bugs and returns a list of bug_id's and their dependency count
|
||||
# It takes one parameter:
|
||||
# - A list of bug numbers whose dependencies are to be checked
|
||||
|
||||
sub CountOpenDependencies {
|
||||
my (@bug_list) = @_;
|
||||
my @dependencies;
|
||||
|
||||
# Make sure any unfetched data from a currently running query
|
||||
# is saved off rather than overwritten
|
||||
PushGlobalSQLState();
|
||||
|
||||
SendSQL("SELECT blocked, count(bug_status) " .
|
||||
"FROM bugs, dependencies " .
|
||||
"WHERE blocked IN (" . (join "," , @bug_list) . ") " .
|
||||
"AND bug_id = dependson " .
|
||||
"AND bug_status IN ('" . (join "','", OpenStates()) . "') " .
|
||||
"GROUP BY blocked ");
|
||||
|
||||
while (MoreSQLData()) {
|
||||
my ($bug_id, $dependencies) = FetchSQLData();
|
||||
push(@dependencies, { bug_id => $bug_id,
|
||||
dependencies => $dependencies });
|
||||
}
|
||||
|
||||
# All done with this sidetrip
|
||||
PopGlobalSQLState();
|
||||
|
||||
return @dependencies;
|
||||
}
|
||||
|
||||
sub GetLongDescriptionAsText {
|
||||
my ($id, $start, $end) = (@_);
|
||||
my $result = "";
|
||||
|
||||
@ -935,7 +935,7 @@ SWITCH: for ($::FORM{'knob'}) {
|
||||
if (Param("noresolveonopenblockers")
|
||||
&& $::FORM{'resolution'} eq 'FIXED')
|
||||
{
|
||||
my @dependencies = CountOpenDependencies(@idlist);
|
||||
my @dependencies = Bugzilla::Bug::CountOpenDependencies(@idlist);
|
||||
if (scalar @dependencies > 0) {
|
||||
ThrowUserError("still_unresolved_bugs",
|
||||
{ dependencies => \@dependencies,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user