Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F12441
56091.diff
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
•
bzimport
Nov 22 2014, 2:30 AM
2014-11-22 02:30:38 (UTC+0)
Size
5 KB
Referenced Files
None
Subscribers
None
56091.diff
View Options
diff --git a/extensions/WeeklyReport/component-report.cgi b/extensions/WeeklyReport/component-report.cgi
index e51cb48..6a694ea 100755
--- a/extensions/WeeklyReport/component-report.cgi
+++ b/extensions/WeeklyReport/component-report.cgi
@@ -50,6 +50,7 @@ use Bugzilla;
use Bugzilla::Product;
use Bugzilla::Constants;
use Bugzilla::Error;
+use Bugzilla::Util;
use vars qw($vars $template);
@@ -69,7 +70,7 @@ my $user = Bugzilla->login(LOGIN_OPTIONAL);
print $cgi->header(-type => 'text/html', -expires => '+3M');
my $query = <<EOF
-SELECT count(*), products.name, components.name, bug_severity
+SELECT count(*), products.name, components.name, bug_severity
FROM bugs, products, components
WHERE ( bug_status = 'NEW' or bug_status = 'ASSIGNED' or bug_status = 'REOPENED' or bug_status = 'UNCONFIRMED' )
AND products.name = ?
@@ -83,8 +84,13 @@ EOF
#Report on components by severity and priority
my $sth = Bugzilla->dbh->prepare($query);
-my $product = $cgi->param('product');
-if ($product =~ /^([\w.-\s]+)$/) { $product = $1 }
+my $product = trim($cgi->param('product'));
+
+# FIXME: Print a "error" message
+ThrowUserError('product_blank_name') if !$product;
+
+if ($product =~ m/^([\w.-]+)$/) { $product = $1; }
+trick_taint($product);
$sth->execute($product);
my (@bug_counts, %bugs, %total_bugs);
@@ -92,6 +98,7 @@ my $disp_component;
my $total_bug_count;
my $product_obj = new Bugzilla::Product({ 'name' => $product });
+ThrowUserError('invalid_product_name', {product => $product}) if !$product_obj;
$vars->{'product'} = $product;
$vars->{'all_severities'} = Bugzilla::Field::get_legal_field_values('bug_severity');
@@ -110,4 +117,3 @@ $vars->{'bug_sev_counts'} = \%bugs;
$template->process("weeklyreport/component-report.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
-
diff --git a/extensions/WeeklyReport/weekly-bug-summary.cgi b/extensions/WeeklyReport/weekly-bug-summary.cgi
index f1649ed..65d4388 100755
--- a/extensions/WeeklyReport/weekly-bug-summary.cgi
+++ b/extensions/WeeklyReport/weekly-bug-summary.cgi
@@ -13,10 +13,10 @@ use Bugzilla::Util;
use Bugzilla::Error;
use Bugzilla::Field;
-sub total_bugs_in_bugzilla()
-{
- my $dbh = Bugzilla->dbh;
+Bugzilla->login(LOGIN_OPTIONAL);
+sub total_bugs_in_bugzilla() {
+ my $dbh = Bugzilla->dbh;
# figure out total bugs
my (@totalbugs) = $dbh->selectrow_array(
"SELECT count(bugs.bug_id) FROM bugs WHERE bugs.bug_severity != 'enhancement' AND
@@ -34,8 +34,7 @@ sub total_bugs_in_bugzilla()
return ($totalbugs[0], $totalwishes[0]);
}
-sub bugs_opened()
-{
+sub bugs_opened() {
my($product, $days) = @_;
my $sqlproduct = "";
@@ -51,8 +50,7 @@ sub bugs_opened()
return $count;
}
-sub wishes_opened()
-{
+sub wishes_opened() {
my($product, $days) = @_;
my $sqlproduct = "";
@@ -68,8 +66,7 @@ sub wishes_opened()
return $count;
}
-sub bugs_closed()
-{
+sub bugs_closed() {
my($product, $days) = @_;
my $query = "";
my $sqlproduct = "";
@@ -84,7 +81,7 @@ from
where
bugs.bug_severity != 'enhancement' AND
(bugs_activity.added='RESOLVED' or bugs_activity.added='CLOSED' or
- bugs_activity.added='NEEDSINFO')
+ bugs_activity.added='NEEDSINFO' or bugs_activity.added='VERIFIED')
and
bugs_activity.bug_when >= FROM_DAYS(TO_DAYS(NOW())-?)
and
@@ -95,8 +92,7 @@ and
return($count);
}
-sub wishes_closed()
-{
+sub wishes_closed() {
my($product, $days) = @_;
my $query = "";
my $sqlproduct = "";
@@ -112,7 +108,7 @@ from
where
bugs.bug_severity = 'enhancement' AND
(bugs_activity.added='RESOLVED' or bugs_activity.added='CLOSED' or
- bugs_activity.added='NEEDSINFO')
+ bugs_activity.added='NEEDSINFO' or bugs_activity.added='VERIFIED')
and
bugs_activity.bug_when >= FROM_DAYS(TO_DAYS(NOW())-?)
and
@@ -123,8 +119,7 @@ and
return($count);
}
-sub open_wishes()
-{
+sub open_wishes() {
my($product) = @_;
my $sqlproduct = "";
@@ -185,7 +180,6 @@ limit $number
$product_id{$product} = $p_id;
}
-
foreach my $product (reverse sort
{$product_count{$a} <=> $product_count{$b}}
keys (%product_count)) {
@@ -231,7 +225,7 @@ from
bugs, bugs_activity, profiles assign
where
(bugs_activity.added='RESOLVED' or bugs_activity.added = 'CLOSED' or
- bugs_activity.added='NEEDSINFO')
+ bugs_activity.added='NEEDSINFO' or bugs_activity.added='VERIFIED')
and
bugs_activity.bug_when >= from_days(TO_DAYS(NOW()) - ?)
and
@@ -239,7 +233,8 @@ and
and
bugs.bug_id = bugs_activity.bug_id
and
- (bugs.bug_status = 'RESOLVED' or bugs.bug_status = 'CLOSED')
+ (bugs.bug_status = 'RESOLVED' or bugs.bug_status = 'CLOSED' or
+ bugs_activity.added='VERIFIED')
group by assign.login_name
order by n desc
limit ?
@@ -291,7 +286,7 @@ AND
AND
longdescs.who = bugs_activity.who
AND
- longdescs.thetext like \"%change APPROVED and MERGED%\"
+ longdescs.thetext like \"%merged by jenkins-bot%"
GROUP BY
profiles.login_name, bugs.bug_id
ORDER BY
@@ -321,9 +316,6 @@ LIMIT ?");
return \@results;
}
-
-Bugzilla->login(LOGIN_OPTIONAL);
-
# For most scripts we don't make $cgi and $template global variables. But
# when preparing Bugzilla for mod_perl, this script used these
# variables in so many subroutines that it was easier to just
@@ -380,9 +372,4 @@ $vars->{'bug_fixers_list'} = &print_bug_fixers_list($current_tops, $current_days
$template->process("weeklyreport/weekly-bug-summary.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
-
-
-
-
print "</div>\n";
-
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
11894
Default Alt Text
56091.diff (5 KB)
Attached To
Mode
T58091: Bugzilla's "Links > Weekly Summary" setup is busted (not an extension)
Attached
Detach File
Event Timeline
Log In to Comment