⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bugs.aspx

📁 Bug管理系统
💻 ASPX
字号:
<%@ Page language="C#"%>
<!--
Copyright 2002-2005 Corey Trager
Distributed under the terms of the GNU General Public License
-->
<!-- #include file = "inc.aspx" -->

<script language="C#" runat="server">

DbUtil dbutil;
Security security;
bool query_changed = false;
string qu_id_string = null;


void do_query()
{
	string bug_sql = null;

	if (query_changed)
	{
		// from drop down
		qu_id_string = Request["query"];
		Session["SelectedBugQuery"] = qu_id_string;		
		
	}
	else
	{
		// from query page
		qu_id_string = Request["qu_id"];
		if (qu_id_string == null)
		{
			qu_id_string = (string) Session["SelectedBugQuery"];
		}
	}
	
	if (qu_id_string != null && qu_id_string != "0")
	{
		// use sql specified in query string
		int qu_id = Convert.ToInt32(qu_id_string);
		sql = @"select qu_sql from queries where qu_id = $1";
		sql = sql.Replace("$1", qu_id_string);
		bug_sql = (string)dbutil.execute_scalar(sql);
		
		if (bug_sql == null){Session.Remove("SelectedBugQuery");}
		
	}

	if (bug_sql == null)
	{
		// use sql associated with user
		sql = @"select qu_sql from queries where qu_id in
			(select us_default_query from users where us_id = $us)";
		sql = sql.Replace("$us", Convert.ToString(security.this_usid));
		bug_sql = (string)dbutil.execute_scalar(sql);
	}

	if (bug_sql == null)
	{
		sql = @"select qu_sql from queries where qu_default = 1";
		bug_sql = (string)dbutil.execute_scalar(sql);
	}

	if (bug_sql == null)
	{
		Response.Write ("Error!.  No query!<p>Missing a default query?<p>Please contact your BugTracker.NET administrator.");
		Response.End();
	}


	// replace magic variables
	bug_sql = bug_sql.Replace("$ME", Convert.ToString(security.this_usid));

	bug_sql = Util.alter_sql_per_project_permissions(bug_sql,security.this_usid);

	DataSet ds = dbutil.get_dataset (bug_sql);
	dv = new DataView(ds.Tables[0]);
	Session["bugs"] = dv;
	bug_count.Text = Convert.ToString(dv.Count);

}

///////////////////////////////////////////////////////////////////////
void Page_Load(Object sender, EventArgs e)
{

	Util.do_not_cache(Response);
	dbutil = new DbUtil();
	security = new Security();
	security.check_security(dbutil, Request, Response, Security.ANY_USER_OK);

	title.InnerText = Util.get_setting("AppTitle","BugTracker.NET") + " - " 
		+ Util.get_setting("PluralBugLabel","bugs");


	// fetch the sql

	// if first time
	if (!IsPostBack) {
	
	
		// populate drop down
		sql = @"select qu_id, qu_desc 
			from queries 
			where isnull(qu_user,0) = 0 
			or isnull(qu_user,0) = $us
			order by qu_desc";
			
		sql = sql.Replace("$us",Convert.ToString(security.this_usid));
		query.DataSource = dbutil.get_dataview(sql);
		query.DataTextField = "qu_desc";
		query.DataValueField = "qu_id";
		query.DataBind();
		query.Items.Insert(0, new ListItem("[default query]", "0"));

		string qu_id_string = Request["qu_id"];
		
		if (qu_id_string != null)
		{
			Session["SelectedBugQuery"] = qu_id_string;		
		}
		else
		{
			qu_id_string = (string) Session["SelectedBugQuery"];
			// still might be null now
		}
		
		// select drop down
		if (qu_id_string != null)
		{
			foreach (ListItem li in query.Items)
			{
				if (li.Value == qu_id_string)
				{
					li.Selected = true;
					break;
				}
			}
		}

		
		do_query();
	}
	else {
		// page or sort
		dv = (DataView) Session["bugs"];
		if (dv == null || query_changed)
		{
			do_query();
		}

		if (action.Value == "sort") {
			new_page.Value = "0";
		}

	}

	sort_dataview();

}

///////////////////////////////////////////////////////////////////////
void Page_Unload(Object sender, EventArgs e)
{
	if (dbutil != null) {dbutil.close();}
}

///////////////////////////////////////////////////////////////////////
private void on_query_changed(object sender, System.EventArgs e)
{
   query_changed = true;
   new_page.Value = "0";
   sort.Value = "-1";
   prev_sort.Value = "-1";
   prev_dir.Value ="ASC";
   do_query();
}


</script>

<!-- #include file = "inc_bugs.aspx" -->

<html>
<head>
<title id="title" runat="server">btnet bugs</title>
<link rel="StyleSheet" href="btnet.css" type="text/css">
</head>
<body>
<% security.write_menu(Response, Util.get_setting("PluralBugLabel","bugs")); %>

<form method="get" runat="server">

<div class=align>
<% if (!security.this_adds_not_allowed) { %>
<a href=edit_bug.aspx>add new <% Response.Write(Util.get_setting("SingularBugLabel","bug")); %></a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<% } %>


<asp:DropDownList id="query" runat="server" AutoPostBack="true" 
OnSelectedIndexChanged="on_query_changed">
</asp:DropDownList>

&nbsp;&nbsp;&nbsp;<a target=_blank href=print_bugs.aspx>print list</a>
&nbsp;&nbsp;&nbsp;<a target=_blank href=print_bugs2.aspx>print detail</a>
&nbsp;&nbsp;&nbsp;<a target=_blank href=print_bugs.aspx?format=excel>export to excel</a>

<p>


<%
if (dv.Table.Rows.Count > 0)
{
	display_bugs();
}
else
{
	Response.Write ("<p>No ");
	Response.Write (Util.get_setting("PluralBugLabel","bug"));
	Response.Write (" yet.<p>");
}
%>
<br><br><asp:label id="bug_count" runat="server"></asp:label> <% Response.Write(Util.get_setting("PluralBugLabel","bugs")); %> returned by query.

<!-- #include file = "inc_bugs2.aspx" -->
</div>
</form>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -