diff options
author | travis%sedsystems.ca <> | 2005-02-02 02:43:26 +0100 |
---|---|---|
committer | travis%sedsystems.ca <> | 2005-02-02 02:43:26 +0100 |
commit | 80e765fbe8bf23ba27b5484bdb3a65c7aa723d6f (patch) | |
tree | e3763af4b6a4b243ca8a602487c12c4ce1a12f95 /Bugzilla | |
parent | 6139fe45717768df3b593c46c236b20781d9f790 (diff) | |
download | bugzilla-80e765fbe8bf23ba27b5484bdb3a65c7aa723d6f.tar.gz bugzilla-80e765fbe8bf23ba27b5484bdb3a65c7aa723d6f.tar.xz |
Bug 279740 : Move CountOpenDependencies out of globals.pl
Patch by Max Kanat-Alexander <mkanat@kerio.com> r=wurblzap a=justdave
Diffstat (limited to 'Bugzilla')
-rwxr-xr-x | Bugzilla/Bug.pm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index ad48e763f..8f08d8c25 100755 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -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; |