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);
if ($::FORM{$f . "_type"} eq "regexp") {
$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";
} 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",
"email2", "emailtype2", "emailreporter2",
"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} = "";
$type{$name} = 0;
}
@ -472,38 +475,49 @@ if (Param("usetargetmilestone")) {
</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 "
</tr>
</table>
<table border=0>
<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>
<td><input type=radio name=short_desc_type value=regexp>Regexp</td>
</tr>
<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>";
";
StringSearch("Summary", "short_desc");
StringSearch("Description", "long_desc");
StringSearch("URL", "bug_file_loc");
if (Param("usestatuswhiteboard")) {
print "
<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>";
StringSearch("Status whiteboard", "status_whiteboard");
}
print "