Patch by Mark B. Hamby <mhamby@logicon.com> (somewhat hacked up by me) --

Allow case insensitive and regexp based searches for strings in bugs.
This commit is contained in:
terry%mozilla.org 1999-05-24 21:16:18 +00:00
Родитель 24430cd050
Коммит 4ba3847d7f
2 изменённых файлов: 44 добавлений и 26 удалений

Просмотреть файл

@ -421,8 +421,12 @@ foreach my $f ("short_desc", "long_desc", "bug_file_loc",
$s = SqlQuote($s); $s = SqlQuote($s);
if ($::FORM{$f . "_type"} eq "regexp") { if ($::FORM{$f . "_type"} eq "regexp") {
$query .= "and $f regexp $s\n"; $query .= "and $f regexp $s\n";
} else { } elsif ($::FORM{$f . "_type"} eq "notregexp") {
$query .= "and $f not regexp $s\n";
} elsif ($::FORM{$f . "_type"} eq "casesubstring") {
$query .= "and instr($f, $s)\n"; $query .= "and instr($f, $s)\n";
} else {
$query .= "and instr(lower($f), lower($s))\n";
} }
} }
} }

Просмотреть файл

@ -68,7 +68,10 @@ foreach my $name ("bug_status", "resolution", "assigned_to", "rep_platform",
"emailassigned_to1", "emailcc1", "emailqa_contact1", "emailassigned_to1", "emailcc1", "emailqa_contact1",
"email2", "emailtype2", "emailreporter2", "email2", "emailtype2", "emailreporter2",
"emailassigned_to2", "emailcc2", "emailqa_contact2", "emailassigned_to2", "emailcc2", "emailqa_contact2",
"changedin") { "changedin", "short_desc", "short_desc_type",
"long_desc", "long_desc_type", "bug_file_loc",
"bug_file_loc_type", "status_whiteboard",
"status_whiteboard_type") {
$default{$name} = ""; $default{$name} = "";
$type{$name} = 0; $type{$name} = 0;
} }
@ -472,38 +475,49 @@ if (Param("usetargetmilestone")) {
</td>"; </td>";
} }
sub StringSearch {
my ($desc, $name) = (@_);
my $type = $name . "_type";
my $def = value_quote($default{$name});
print qq{<tr>
<td align=right>$desc:</td>
<td><input name=$name size=30 value="$def"></td>
<td><SELECT NAME=$type>
};
if ($default{$type} eq "") {
$default{$type} = "substring";
}
foreach my $i (["substring", "case-insensitive substring"],
["casesubstring", "case-sensitive substring"],
["regexp", "regular expression"],
["notregexp", "not ( regular expression )"]) {
my ($n, $d) = (@$i);
my $sel = "";
if ($default{$type} eq $n) {
$sel = " SELECTED";
}
print qq{<OPTION VALUE="$n"$sel>$d\n};
}
print "</SELECT></TD>
</tr>
";
}
print " print "
</tr> </tr>
</table> </table>
<table border=0> <table border=0>
<tr> <tr>
<td align=right>Summary:</td> ";
<td><input name=short_desc size=30></td>
<td><input type=radio name=short_desc_type value=substr checked>Substring</td> StringSearch("Summary", "short_desc");
<td><input type=radio name=short_desc_type value=regexp>Regexp</td> StringSearch("Description", "long_desc");
</tr> StringSearch("URL", "bug_file_loc");
<tr>
<td align=right>Description:</td>
<td><input name=long_desc size=30></td>
<td><input type=radio name=long_desc_type value=substr checked>Substring</td>
<td><input type=radio name=long_desc_type value=regexp>Regexp</td>
</tr>
<tr>
<td align=right>URL:</td>
<td><input name=bug_file_loc size=30></td>
<td><input type=radio name=bug_file_loc_type value=substr checked>Substring</td>
<td><input type=radio name=bug_file_loc_type value=regexp>Regexp</td>
</tr>";
if (Param("usestatuswhiteboard")) { if (Param("usestatuswhiteboard")) {
print " StringSearch("Status whiteboard", "status_whiteboard");
<tr>
<td align=right>Status whiteboard:</td>
<td><input name=status_whiteboard size=30></td>
<td><input type=radio name=status_whiteboard_type value=substr checked>Substring</td>
<td><input type=radio name=status_whiteboard_type value=regexp>Regexp</td>
</tr>";
} }
print " print "