📄 search.aspx
字号:
{
var from;
var to;
var option;
from = document.getElementById(from_id);
to = document.getElementById(to_id);
option = document.createElement('option');
option.value = -1;
option.text = "[do not update]";
try {
to.add(option, null); // standards compliant; doesn't work in IE
}
catch(ex) {
to.add(option); // IE only
}
for (var i = 0; i < from.options.length; i++)
{
option = document.createElement('option');
option.value = from.options[i].value;
option.text = from.options[i].text;
try {
to.add(option, null); // standards compliant; doesn't work in IE
}
catch(ex) {
to.add(option); // IE only
}
}
}
function load_massedit_selects()
{
load_one_massedit_select ("project","mass_project");
load_one_massedit_select ("category","mass_category");
load_one_massedit_select ("priority","mass_priority");
load_one_massedit_select ("assigned_to","mass_assigned_to");
load_one_massedit_select ("status","mass_status");
}
<% } %>
function build_where(where, clause)
{
if (clause == "") return where;
var sql = "";
if (where == "")
{
sql = "where ";
sql += clause;
}
else
{
sql = where;
sql += "and ";
sql += clause;
}
return sql;
}
///////////////////////////////////////////////////////////////////////
function build_clause_from_options(options, column_name)
{
var clause = ""
for (i=0; i < options.length; i++)
{
if (options[i].selected)
{
if (clause == "")
{
clause = " " + column_name + " in (";
}
else
{
clause += ",";
}
clause += options[i].value;
}
}
if (clause != "") clause += ")\n";
return clause;
}
///////////////////////////////////////////////////////////////////////
function on_change()
{
var frm = document.forms[1];
var select = "select isnull(pr_background_color,'#ffffff') [color], bg_id [id],\n";
select += "bg_short_desc [desc], pj_name [project], ct_name [category],\n";
select += "rpt.us_username [reported by], bg_reported_date [reported on],\n";
select += "pr_name [priority], asg.us_username [assigned to], st_name [status]";
<%
if (show_udf)
{
string udf_name = Util.get_setting("UserDefinedBugAttributeName","YourAttribute");
Response.Write ("select += \",\\nudf_name [" + udf_name + "]\"");
}
%>
select += "\nfrom bugs\n";
select += "left outer join users rpt on rpt.us_id = bg_reported_user\n";
select += "left outer join users asg on asg.us_id = bg_assigned_to_user\n";
select += "left outer join projects on pj_id = bg_project\n";
select += "left outer join categories on ct_id = bg_category\n";
select += "left outer join priorities on pr_id = bg_priority\n";
select += "left outer join statuses on st_id = bg_status\n";
<%
if (show_udf)
{
%>
select += "left outer join user_defined_attribute on udf_id = bg_user_defined_attribute\n";
<%
}
%>
var where = "";
var reported_by_clause = build_clause_from_options (frm.reported_by.options, "bg_reported_user");
var assigned_to_clause = build_clause_from_options (frm.assigned_to.options, "bg_assigned_to_user");
var project_clause = build_clause_from_options (frm.project.options, "bg_project");
var category_clause = build_clause_from_options (frm.category.options, "bg_category");
var priority_clause = build_clause_from_options (frm.priority.options, "bg_priority");
var status_clause = build_clause_from_options (frm.status.options, "bg_status");
var udf_clause = "";
<%
if (show_udf)
{
%>
udf_clause = build_clause_from_options(frm.udf.options, "bg_user_defined_attribute");
<%
}
%>
// SQL "LIKE" uses [, %, and _ in a special way
like_string = frm.like.value.replace(/'/gi,"''");
like_string = like_string.replace(/\[/gi,"[[]");
like_string = like_string.replace(/%/gi,"[%]");
like_string = like_string.replace(/_/gi,"[_]");
like2_string = frm.like2.value.replace(/'/gi,"''");
like2_string = like2_string.replace(/\[/gi,"[[]");
like2_string = like2_string.replace(/%/gi,"[%]");
like2_string = like2_string.replace(/_/gi,"[_]");
var desc_clause = ""
if (frm.like.value != "") {
desc_clause = " bg_short_desc like";
desc_clause += " '%" + like_string + "%'\n";
}
var comments_clause = ""
if (frm.like2.value != "") {
comments_clause = " bg_id in (select bc_bug from bug_comments where bc_comment like";
comments_clause += " '%" + like2_string + "%')\n";
}
var comments_since_clause = ""
if (frm.comments_since.value != "") {
comments_since_clause = " bg_id in (select bc_bug from bug_comments where bc_comment = '";
comments_since_clause += frm.comments_since.value + "')\n";
}
var from_clause = "";
if (frm.from_date.value != "")
{
from_clause = " bg_reported_date >= '" + frm.from_date.value + "'\n";
}
var to_clause = "";
if (frm.to_date.value != "")
{
to_clause = " bg_reported_date <= '" + frm.to_date.value + " 23:59:59'\n";
}
var lu_from_clause = "";
if (frm.lu_from_date.value != "")
{
lu_from_clause = " bg_last_updated_date >= '" + frm.lu_from_date.value + "'\n";
}
var lu_to_clause = "";
if (frm.lu_to_date.value != "")
{
lu_to_clause = " bg_last_updated_date <= '" + frm.lu_to_date.value + " 23:59:59'\n";
}
where = build_where(where, reported_by_clause);
where = build_where(where, assigned_to_clause);
where = build_where(where, project_clause);
where = build_where(where, category_clause);
where = build_where(where, priority_clause);
where = build_where(where, status_clause);
where = build_where(where, desc_clause);
where = build_where(where, comments_clause);
where = build_where(where, comments_since_clause);
where = build_where(where, from_clause);
where = build_where(where, to_clause);
where = build_where(where, lu_from_clause);
where = build_where(where, lu_to_clause);
where = build_where(where, udf_clause);
frm.query.value = select + where + 'order by bg_id desc';
document.getElementById("visible_sql_text").firstChild.nodeValue = frm.query.value;
}
</script>
<script>
function set_hit_submit_button() {
document.forms[1].hit_submit_button.value = "1";
}
</script>
</head>
<body onload="on_change()">
<% security.write_menu(Response, "search"); %>
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<div class=align>
<script>
var shown = true;
function showhide_form()
{
var frm = document.getElementById("_ctl0");
if (shown)
{
frm.style.display = "none";
shown = false;
showhide.firstChild.nodeValue = "show form";
}
else
{
frm.style.display = "block";
shown = true;
showhide.firstChild.nodeValue = "hide form";
}
}
</script>
<a style='float: right; margin-right: 150px;' href='javascript:showhide_form()' id='showhide'>hide form</a>
<% if (!security.this_adds_not_allowed) { %>
<a href=edit_bug.aspx>add new <% Response.Write(Util.get_setting("SingularBugLabel","bug")); %></a>
<% } %>
<table border=0><tr><td>
<tr><td>
<form class=frm runat="server">
<table border=0 cellpadding=8>
<tr>
<span class=smallnote>Hold down Ctrl key to select multiple items.</span>
</tr>
<tr>
<td nowrap><span class=lbl>reported by:</span><br>
<asp:ListBox Rows=4 SelectionMode="Multiple" id="reported_by" runat="server" onchange="on_change()">
</asp:ListBox>
</td>
<td nowrap><span class=lbl id="project_label">project:</span><br>
<asp:ListBox Rows=4 SelectionMode="Multiple" id="project" runat="server" onchange="on_change()">
</asp:ListBox>
<td nowrap><span class=lbl id="category_label">category:</span><br>
<asp:ListBox Rows=4 SelectionMode="Multiple" id="category" runat="server" onchange="on_change()">
</asp:ListBox>
<td nowrap><span class=lbl id="priority_label">priority:</span><br>
<asp:ListBox Rows=4 SelectionMode="Multiple" id="priority" runat="server" onchange="on_change()">
</asp:ListBox>
</td>
<td nowrap><span class=lbl id="assigned_to_label">assigned to:</span><br>
<asp:ListBox Rows=4 SelectionMode="Multiple" id="assigned_to" runat="server" onchange="on_change()">
</asp:ListBox>
</td>
<td nowrap><span class=lbl id="status_label">status:</span><br>
<asp:ListBox Rows=4 SelectionMode="Multiple" id="status" runat="server" onchange="on_change()">
</asp:ListBox>
</td>
</tr>
<tr>
<td colspan=4>
<span class=lbl><% Response.Write(Util.capitalize_first_letter(Util.get_setting("SingularBugLabel","bug"))); %> description contains: </span><input type=text id="like" runat="server" onkeyup="on_change()" size=40>
</td>
<% if (show_udf)
{
%>
<td nowrap rowspan=2><span class=lbl><% Response.Write (Util.get_setting("UserDefinedBugAttributeName","YourAttribute")); %></span><br>
<asp:ListBox Rows=4 SelectionMode="Multiple" id="udf" runat="server" onchange="on_change()">
</asp:ListBox>
<%
}
%>
</tr>
<tr>
<td colspan=4>
<span class=lbl><% Response.Write(Util.capitalize_first_letter(Util.get_setting("SingularBugLabel","bug"))); %> comments contain: </span><input type=text id="like2" runat="server" onkeyup="on_change()" size=40>
</td>
</tr>
<tr>
<td colspan=4>
<span class=lbl><% Response.Write(Util.capitalize_first_letter(Util.get_setting("SingularBugLabel","bug"))); %> comments since: </span><input type=text id="comments_since" runat="server" onkeyup="on_change()" size=10>
<a style="font-size: 8pt;"
href="javascript:show_calendar('_ctl0.comments_since', null,null,'<% Response.Write(Util.get_setting("JustDateFormat",Util.get_culture_info().DateTimeFormat.ShortDatePattern)); %>');">
[select]
</a>
</td>
</tr>
<tr>
<td colspan=10>
<span class=lbl>"Reported on" from date: </span>
<input runat="server" type="text" id="from_date" maxlength=10 size=10 onchange="on_change()">
<a style="font-size: 8pt;"
href="javascript:show_calendar('_ctl0.from_date', null,null,'<% Response.Write(Util.get_setting("JustDateFormat",Util.get_culture_info().DateTimeFormat.ShortDatePattern)); %>');">
[select]
</a>
<span class=lbl>to: </span>
<input runat="server" type="text" id="to_date" maxlength=10 size=10 onchange="on_change()">
<a style="font-size: 8pt;"
href="javascript:show_calendar('_ctl0.to_date', null,null,'<% Response.Write(Util.get_setting("JustDateFormat",Util.get_culture_info().DateTimeFormat.ShortDatePattern)); %>');">
[select]
</a>
</td>
</tr>
<tr>
<td colspan=10>
<span class=lbl>"Last updated on" from date: </span>
<input runat="server" type="text" id="lu_from_date" maxlength=10 size=10 onchange="on_change()">
<a style="font-size: 8pt;"
href="javascript:show_calendar('_ctl0.lu_from_date',null,null,'<% Response.Write(Util.get_setting("JustDateFormat",Util.get_culture_info().DateTimeFormat.ShortDatePattern)); %>');">
[select]
</a>
<span class=lbl>to: </span>
<input runat="server" type="text" id="lu_to_date" maxlength=10 size=10 onchange="on_change()">
<a style="font-size: 8pt;"
href="javascript:show_calendar('_ctl0.lu_to_date', null,null,'<% Response.Write(Util.get_setting("JustDateFormat",Util.get_culture_info().DateTimeFormat.ShortDatePattern)); %>');">
[select]
</a>
</td>
</tr>
<tr>
<td colspan=10 align=center>
<input type=hidden runat="server" id="hit_submit_button" value="0">
<input type=hidden runat="server" id="hit_save_query_button" value="0">
<input class=btn type=submit onclick="set_hit_submit_button()" value="Search" runat="server">
</td>
</tr>
</table>
<!-- #include file = "inc_bugs2.aspx" -->
<input type=hidden id="query" runat="server" value="">
</form>
</td></tr></table></div>
<%
if (dv == null)
{
}
else
{
if (dv.Table.Rows.Count > 0)
{
Response.Write ("<a target=_blank href=print_bugs.aspx>print list</a>");
Response.Write (" <a target=_blank href=print_bugs2.aspx>print detail</a>");
Response.Write (" <a target=_blank href=print_bugs.aspx?format=excel>export to excel</a><br>");
if (security.this_is_admin)
{
Response.Write ("<form id=massform onsubmit='return validate_mass()' method=get action=massedit.aspx>");
display_bugs(true);
Response.Write("<p><table class=frm><tr><td colspan=5 class=smallnote>Update or delete all checked items");
Response.Write("<tr><td colspan=5>");
Response.Write("<a href=javascript:select_all(true)>select all</a> ");
Response.Write("<a href=javascript:select_all(false)>deselect all</a>");
Response.Write("<tr>");
Response.Write("<td><span class=lbl>project:</span><br><select name=mass_project id=mass_project></select>");
Response.Write("<td><span class=lbl>category:</span><br><select name=mass_category id=mass_category></select>");
Response.Write("<td><span class=lbl>priority:</span><br><select name=mass_priority id=mass_priority></select>");
Response.Write("<td><span class=lbl>assigned to:</span><br><select name=mass_assigned_to id=mass_assigned_to></select>");
Response.Write("<td><span class=lbl>status:</span><br><select name=mass_status id=mass_status></select>");
Response.Write("<tr><td colspan=5>OR DELETE: <input type=checkbox name=mass_delete>");
Response.Write("<tr><td colspan=5 align=center><input type=submit value='Update/Delete All'>");
Response.Write("</table></form><p><script>load_massedit_selects()</script>");
}
else
{
// no checkboxes
display_bugs(false);
}
}
else
{
Response.Write ("<p>No ");
Response.Write (Util.get_setting("PluralBugLabel","bug"));
Response.Write ("<p>");
}
}
%>
<p>
<b><span id="visible_sql_label" runat="server">SQL</span></b>
<script>
function on_save_query() {
var frm = document.getElementById("save_query_form");
frm.sql_text.value =
//document.all.visible_sql_text.innerText;
document.getElementById("visible_sql_text").firstChild.nodeValue
frm.submit();
}
</script>
<% if (security.this_is_admin || Util.get_setting("AllowQueryPageForNonAdmins","1") == "1") { %>
<a style='font-size: 12pt;' href="javascript: on_save_query()">save sql as query</a>
<% } %>
<pre style="font-family: courier new; font-size: 8pt">
<div id="visible_sql_text" runat="server"> </div>
</pre>
<!-- form 3 -->
<form id="save_query_form" target="_blank" method="post" action="edit_query.aspx">
<input type="hidden" name="sql_text" value="">
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -