diff --git a/mozilla/webtools/litmus/Litmus/DB/Testresult.pm b/mozilla/webtools/litmus/Litmus/DB/Testresult.pm
index 718ffea5393..0409cd87cc5 100755
--- a/mozilla/webtools/litmus/Litmus/DB/Testresult.pm
+++ b/mozilla/webtools/litmus/Litmus/DB/Testresult.pm
@@ -81,10 +81,10 @@ Litmus::DB::Testresult->has_many(bugs => "Litmus::DB::Resultbug", {order_by => '
Litmus::DB::Testresult->autoinflate(dates => 'Time::Piece');
Litmus::DB::Testresult->set_sql(DefaultTestResults => qq{
- SELECT tr.testresult_id,tr.test_id,t.summary,tr.submission_time AS created,p.name AS platform_name,pr.name as product_name,trsl.name AS result_status,trsl.class_name result_status_class,b.name AS branch_name,tg.name AS test_group_name, tr.locale_abbrev
+ SELECT tr.testresult_id,tr.test_id,t.summary,tr.submission_time AS created,p.name AS platform_name,pr.name as product_name,trsl.name AS result_status,trsl.class_name result_status_class,b.name AS branch_name,tg.name AS test_group_name, tr.locale_abbrev, u.email
FROM test_results tr, tests t, platforms p, opsyses o, branches b, products
-pr, test_result_status_lookup trsl, test_groups tg, subgroups sg
- WHERE tr.test_id=t.test_id AND tr.platform_id=p.platform_id AND tr.opsys_id=o.opsys_id AND tr.branch_id=b.branch_id AND b.product_id=pr.product_id AND tr.result_id=trsl.result_status_id AND t.subgroup_id=sg.subgroup_id AND sg.testgroup_id=tg.testgroup_id
+pr, test_result_status_lookup trsl, test_groups tg, subgroups sg, users u
+ WHERE tr.test_id=t.test_id AND tr.platform_id=p.platform_id AND tr.opsys_id=o.opsys_id AND tr.branch_id=b.branch_id AND b.product_id=pr.product_id AND tr.result_id=trsl.result_status_id AND t.subgroup_id=sg.subgroup_id AND sg.testgroup_id=tg.testgroup_id AND tr.user_id=u.user_id
ORDER BY tr.submission_time DESC
LIMIT $_num_results_default
});
@@ -165,7 +165,7 @@ sub istrusted {
sub getDefaultTestResults($) {
my $self = shift;
my @rows = $self->search_DefaultTestResults();
- my $criteria = "Default
Ordered by Created
Limit to $_num_results_default results";
+ my $criteria = "Default
Ordered by Created
Limit to $_num_results_default results";
return $criteria, \@rows;
}
@@ -176,11 +176,11 @@ sub getDefaultTestResults($) {
sub getTestResults($\@\@$) {
my ($self,$where_criteria,$order_by_criteria,$limit_value) = @_;
- my $select = 'SELECT tr.testresult_id,tr.test_id,t.summary,tr.submission_time AS created,p.name AS platform_name,pr.name as product_name,trsl.name AS result_status,trsl.class_name AS result_status_class,b.name AS branch_name,tg.name AS test_group_name, tr.locale_abbrev';
+ my $select = 'SELECT tr.testresult_id,tr.test_id,t.summary,tr.submission_time AS created,p.name AS platform_name,pr.name as product_name,trsl.name AS result_status,trsl.class_name AS result_status_class,b.name AS branch_name,tg.name AS test_group_name, tr.locale_abbrev, u.email';
- my $from = 'FROM test_results tr, tests t, platforms p, opsyses o, branches b, products pr, test_result_status_lookup trsl, test_groups tg, subgroups sg';
+ my $from = 'FROM test_results tr, tests t, platforms p, opsyses o, branches b, products pr, test_result_status_lookup trsl, test_groups tg, subgroups sg, users u';
- my $where = 'WHERE tr.test_id=t.test_id AND tr.platform_id=p.platform_id AND tr.opsys_id=o.opsys_id AND tr.branch_id=b.branch_id AND b.product_id=pr.product_id AND tr.result_id=trsl.result_status_id AND t.subgroup_id=sg.subgroup_id AND sg.testgroup_id=tg.testgroup_id';
+ my $where = 'WHERE tr.test_id=t.test_id AND tr.platform_id=p.platform_id AND tr.opsys_id=o.opsys_id AND tr.branch_id=b.branch_id AND b.product_id=pr.product_id AND tr.result_id=trsl.result_status_id AND t.subgroup_id=sg.subgroup_id AND sg.testgroup_id=tg.testgroup_id AND tr.user_id=u.user_id';
my $limit = 'LIMIT ';
@@ -199,6 +199,8 @@ sub getTestResults($\@\@$) {
$where .= " AND tr.test_id='" . $criterion->{'value'} . "'";
} elsif ($criterion->{'field'} eq 'summary') {
$where .= ' AND t.summary LIKE \'%%' . $criterion->{'value'} . '%%\'';
+ } elsif ($criterion->{'field'} eq 'email') {
+ $where .= ' AND u.email LIKE \'%%' . $criterion->{'value'} . '%%\'';
} elsif ($criterion->{'field'} eq 'result_status') {
$where .= " AND trsl.class_name='" . $criterion->{'value'} . "'";
} elsif ($criterion->{'field'} eq 'trusted_only') {
@@ -259,6 +261,8 @@ sub getTestResults($\@\@$) {
$order_by .= "b.name $criterion->{'direction'},";
} elsif ($criterion->{'field'} eq 'locale') {
$order_by .= "tr.locale_abbrev $criterion->{'direction'},";
+ } elsif ($criterion->{'field'} eq 'email') {
+ $order_by .= "u.email $criterion->{'direction'},";
} else {
# Skip unknown field
}
diff --git a/mozilla/webtools/litmus/Litmus/FormWidget.pm b/mozilla/webtools/litmus/Litmus/FormWidget.pm
index 7d237bc83ab..5fc59d0ce12 100755
--- a/mozilla/webtools/litmus/Litmus/FormWidget.pm
+++ b/mozilla/webtools/litmus/Litmus/FormWidget.pm
@@ -140,13 +140,6 @@ sub getBranches()
return _getValues($sql);
}
-#########################################################################
-sub getLocales()
-{
- my $sql = "SELECT DISTINCT(abbrev) FROM locale_lookup ORDER BY abbrev";
- return _getValues($sql);
-}
-
#########################################################################
sub getOpsyses()
{
@@ -198,6 +191,15 @@ sub getLocales()
return \@locales;
}
+#########################################################################
+sub getUsers()
+{
+ my @users = Litmus::DB::User->retrieve_all(
+ { order_by => 'email' }
+ );
+ return \@users;
+}
+
#########################################################################
sub getFields()
{
@@ -219,7 +221,7 @@ sub getFields()
{ name => 'subgroup',
display_string => "Subgroup", },
{ name => 'email',
- display_string => "Submitter", },
+ display_string => "Submitted By", },
{ name => 'summary',
display_string => "Summary", },
{ name => 'test_group',
@@ -260,24 +262,26 @@ sub getMatchCriteria()
sub getSortFields()
{
my @sort_fields = (
+ { name => "branch",
+ display_string => "Branch"},
{ name => "created",
display_string => "Date"},
- { name => "product",
- display_string => "Product"},
+ { name => "locale",
+ display_string => "Locale"},
{ name => "platform",
display_string => "Platform"},
- { name => "test_group",
- display_string => "Testgroup"},
- { name => "test_id",
- display_string => "Testcase ID#"},
+ { name => "product",
+ display_string => "Product"},
+ { name => "email",
+ display_string => "Submitted By"},
{ name => "summary",
display_string => "Summary"},
{ name => "result_status",
display_string => "Status"},
- { name => "branch",
- display_string => "Branch"},
- { name => "locale",
- display_string => "Locale"},
+ { name => "test_id",
+ display_string => "Testcase ID#"},
+ { name => "test_group",
+ display_string => "Testgroup"},
);
return \@sort_fields;
}
diff --git a/mozilla/webtools/litmus/advanced_search.cgi b/mozilla/webtools/litmus/advanced_search.cgi
index 856b49b972c..dd5a6de5147 100755
--- a/mozilla/webtools/litmus/advanced_search.cgi
+++ b/mozilla/webtools/litmus/advanced_search.cgi
@@ -92,7 +92,6 @@ if ($c->param) {
'search_field' => $search_field,
'match_criteria' => $match_criteria,
'value' => $value};
-
$where_criteria .= "$search_field $match_criteria '$value'
";
} elsif ($param eq 'start_date') {
@@ -131,6 +130,12 @@ if ($c->param) {
value => $value};
$where_criteria .= "Locale is \'".$c->param($param)."\'
";
$defaults->{locale} = $c->param($param);
+ } elsif ($param eq 'email') {
+ my $value = $c->param($param);
+ push @where, {field => 'email',
+ value => $value};
+ $where_criteria .= "Submitted By is \'".$c->param($param)."\'
";
+ $defaults->{locale} = $c->param($param);
} elsif ($param eq 'product') {
my $value = $c->param($param);
push @where, {field => $param,
@@ -202,6 +207,7 @@ my $test_ids = Litmus::FormWidget->getTestIDs;
my $result_statuses = Litmus::FormWidget->getResultStatuses;
my $branches = Litmus::FormWidget->getBranches;
my $locales = Litmus::FormWidget->getLocales;
+my $users = Litmus::FormWidget->getUsers;
my $fields = Litmus::FormWidget->getFields;
my $match_criteria = Litmus::FormWidget->getMatchCriteria;
@@ -219,6 +225,7 @@ my $vars = {
result_statuses => $result_statuses,
branches => $branches,
locales => $locales,
+ users => $users,
fields => $fields,
match_criteria => $match_criteria,
sort_fields => $sort_fields,
diff --git a/mozilla/webtools/litmus/css/litmus.css b/mozilla/webtools/litmus/css/litmus.css
index 072c4c41ada..d6f2d42f087 100755
--- a/mozilla/webtools/litmus/css/litmus.css
+++ b/mozilla/webtools/litmus/css/litmus.css
@@ -939,13 +939,23 @@ table.category h1 {
font-size: 1.1em;
}
-input.category {
+input.category, input.button {
font-size: 1em;
margin: 5px 0px 0px 0px;
}
+input.textbox {
+ font-size: .9em;
+ margin: 5px 0px 0px 0px;
+}
+
div.advSearchForm {
padding: 0px;
margin: 0px;
border: 0px;
}
+
+div.formButtons {
+ padding-bottom: 15px;
+}
+
diff --git a/mozilla/webtools/litmus/search_results.cgi b/mozilla/webtools/litmus/search_results.cgi
index d5f0f95a8ee..145c6c31447 100755
--- a/mozilla/webtools/litmus/search_results.cgi
+++ b/mozilla/webtools/litmus/search_results.cgi
@@ -99,6 +99,11 @@ if ($c->param) {
push @where, {field => $param,
value => $value};
$where_criteria .= "Summary like \'".$c->param($param)."\'
";
+ } elsif ($param eq 'email') {
+ my $value = quotemeta($c->param($param));
+ push @where, {field => $param,
+ value => $value};
+ $where_criteria .= "Submitted By like \'".$c->param($param)."\'
";
} elsif ($param eq 'result_status') {
my $value = quotemeta($c->param($param));
push @where, {field => $param,
diff --git a/mozilla/webtools/litmus/templates/en/default/form_widgets/input_summary.tmpl b/mozilla/webtools/litmus/templates/en/default/form_widgets/input_summary.tmpl
index 2317307949d..6bae7c0e1e9 100644
--- a/mozilla/webtools/litmus/templates/en/default/form_widgets/input_summary.tmpl
+++ b/mozilla/webtools/litmus/templates/en/default/form_widgets/input_summary.tmpl
@@ -1 +1 @@
-
+
diff --git a/mozilla/webtools/litmus/templates/en/default/form_widgets/select_product.tmpl b/mozilla/webtools/litmus/templates/en/default/form_widgets/select_product.tmpl
index 23a99cb5747..85e93362a19 100644
--- a/mozilla/webtools/litmus/templates/en/default/form_widgets/select_product.tmpl
+++ b/mozilla/webtools/litmus/templates/en/default/form_widgets/select_product.tmpl
@@ -1,4 +1,4 @@
-
diff --git a/mozilla/webtools/litmus/templates/en/default/global/litmus_header.tmpl b/mozilla/webtools/litmus/templates/en/default/global/litmus_header.tmpl
index 93aec87896a..66f2f0f27c9 100644
--- a/mozilla/webtools/litmus/templates/en/default/global/litmus_header.tmpl
+++ b/mozilla/webtools/litmus/templates/en/default/global/litmus_header.tmpl
@@ -29,7 +29,7 @@
[% onload = "$onload selects_onload();" %]
[% END %]
-