summaryrefslogtreecommitdiffstats
path: root/extensions/ProductDashboard
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/ProductDashboard')
-rw-r--r--extensions/ProductDashboard/lib/Queries.pm39
1 files changed, 28 insertions, 11 deletions
diff --git a/extensions/ProductDashboard/lib/Queries.pm b/extensions/ProductDashboard/lib/Queries.pm
index fe5d04977..041cb341e 100644
--- a/extensions/ProductDashboard/lib/Queries.pm
+++ b/extensions/ProductDashboard/lib/Queries.pm
@@ -91,7 +91,7 @@ sub bug_link_closed {
sub by_version {
my ($product, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -109,7 +109,7 @@ sub by_version {
sub by_milestone {
my ($product, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -127,7 +127,7 @@ sub by_milestone {
sub by_priority {
my ($product, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -145,7 +145,25 @@ sub by_priority {
sub by_severity {
my ($product, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
+
+ $extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
+ $extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
+
+ return $dbh->selectall_arrayref("SELECT priority, COUNT(bug_id),
+ ROUND(((COUNT(bugs.bug_id) / ( SELECT COUNT(*) FROM bugs WHERE bugs.product_id = ? $extra)) * 100))
+ FROM bugs
+ WHERE product_id = ?
+ $extra
+ GROUP BY priority
+ ORDER BY COUNT(bug_id) DESC",
+ undef, $product->id, $product->id);
+}
+
+sub by_severity {
+ my ($product, $bug_status) = @_;
+ my $dbh = Bugzilla->dbh;
+ y $extra;
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -163,7 +181,7 @@ sub by_severity {
sub by_component {
my ($product, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -181,7 +199,6 @@ sub by_component {
sub by_value_summary {
my ($product, $type, $value, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
my $query = "SELECT bugs.bug_id AS id,
bugs.bug_status AS status,
@@ -233,7 +250,7 @@ sub by_value_summary {
sub by_assignee {
my ($product, $bug_status, $limit) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
$limit = ($limit && detaint_natural($limit)) ? $dbh->sql_limit($limit) : "";
@@ -257,7 +274,7 @@ sub by_assignee {
sub by_status {
my ($product, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -286,7 +303,7 @@ sub total_bug_milestone {
sub bug_milestone_by_status {
my ($product, $milestone, $bug_status) = @_;
my $dbh = Bugzilla->dbh;
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -306,7 +323,7 @@ sub by_duplicate {
my $dbh = Bugzilla->dbh;
$limit = ($limit && detaint_natural($limit)) ? $dbh->sql_limit($limit) : "";
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';
@@ -336,7 +353,7 @@ sub by_popularity {
my $dbh = Bugzilla->dbh;
$limit = ($limit && detaint_natural($limit)) ? $dbh->sql_limit($limit) : "";
- my $extra;
+ my $extra = '';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_open_states()) . ")" if $bug_status eq 'open';
$extra = "AND bugs.bug_status IN (" . join(',', quoted_closed_states()) . ")" if $bug_status eq 'closed';