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

📄 edit_project.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">

int id;
String sql;

DbUtil dbutil;
Security security;


///////////////////////////////////////////////////////////////////////
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.MUST_BE_ADMIN);

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

	msg.InnerText = "";

	string var = Request.QueryString["id"];
	if (var == null)
	{
		id = 0;
	}
	else
	{
		id = Convert.ToInt32(var);
	}

	if (!IsPostBack)
	{

		default_user.DataSource =
			dbutil.get_dataview("select us_id, us_username from users order by us_username");
		default_user.DataTextField = "us_username";
		default_user.DataValueField = "us_id";
		default_user.DataBind();
		default_user.Items.Insert(0, new ListItem("", "0"));


		// add or edit?
		if (id == 0)
		{
			sub.Value = "Create";
			active.Checked = true;
		}
		else
		{
			sub.Value = "Update";

			// Get this entry's data from the db and fill in the form

			sql = @"select
			pj_name,
			pj_active,
			isnull(pj_default_user,0) [pj_default_user],
			isnull(pj_auto_assign_default_user,0) [pj_auto_assign_default_user],
			isnull(pj_auto_subscribe_default_user,0) [pj_auto_subscribe_default_user],
			isnull(pj_enable_pop3,0) [pj_enable_pop3],
			isnull(pj_pop3_username,'') [pj_pop3_username],
			isnull(pj_pop3_password,'') [pj_pop3_password],
			isnull(pj_pop3_email_from,'') [pj_pop3_email_from],
			isnull(pj_enable_custom_dropdown1,0) [pj_enable_custom_dropdown1],
			isnull(pj_enable_custom_dropdown2,0) [pj_enable_custom_dropdown2],
			isnull(pj_enable_custom_dropdown3,0) [pj_enable_custom_dropdown3],
			isnull(pj_custom_dropdown_label1,'') [pj_custom_dropdown_label1],
			isnull(pj_custom_dropdown_label2,'') [pj_custom_dropdown_label2],
			isnull(pj_custom_dropdown_label3,'') [pj_custom_dropdown_label3],
			isnull(pj_custom_dropdown_values1,'') [pj_custom_dropdown_values1],
			isnull(pj_custom_dropdown_values2,'') [pj_custom_dropdown_values2],
			isnull(pj_custom_dropdown_values3,'') [pj_custom_dropdown_values3]
			from projects
			where pj_id = $1";
			sql = sql.Replace("$1", Convert.ToString(id));
			DataRow dr = dbutil.get_datarow(sql);

			// Fill in this form
			name.Value = (string) dr["pj_name"];
			active.Checked = Convert.ToBoolean((int) dr["pj_active"]);
			auto_assign.Checked = Convert.ToBoolean((int) dr["pj_auto_assign_default_user"]);
			auto_subscribe.Checked = Convert.ToBoolean((int) dr["pj_auto_subscribe_default_user"]);
			enable_pop3.Checked = Convert.ToBoolean((int) dr["pj_enable_pop3"]);
			pop3_username.Value = (string) dr["pj_pop3_username"];
			pop3_password.Value = (string) dr["pj_pop3_password"];
			pop3_email_from.Value = (string) dr["pj_pop3_email_from"];

			enable_custom_dropdown1.Checked = Convert.ToBoolean((int) dr["pj_enable_custom_dropdown1"]);
			enable_custom_dropdown2.Checked = Convert.ToBoolean((int) dr["pj_enable_custom_dropdown2"]);
			enable_custom_dropdown3.Checked = Convert.ToBoolean((int) dr["pj_enable_custom_dropdown3"]);

			custom_dropdown_label1.Value = (string) dr["pj_custom_dropdown_label1"];
			custom_dropdown_label2.Value = (string) dr["pj_custom_dropdown_label2"];
			custom_dropdown_label3.Value = (string) dr["pj_custom_dropdown_label3"];

			custom_dropdown_values1.Value = (string) dr["pj_custom_dropdown_values1"];
			custom_dropdown_values2.Value = (string) dr["pj_custom_dropdown_values2"];
			custom_dropdown_values3.Value = (string) dr["pj_custom_dropdown_values3"];


			foreach (ListItem li in default_user.Items)
			{
				if (Convert.ToInt32(li.Value) == (int) dr["pj_default_user"])
				{
					li.Selected = true;
					break;
				}
			}

			permissions_href.HRef = "edit_user_permissions2.aspx?id=" + Convert.ToString(id) 
				+ "&label=" + HttpUtility.UrlEncode(name.Value);
	
		}
	}
}

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

	Boolean good = true;
	if (name.Value == "")
	{
		good = false;
		name_err.InnerText = "Description is required.";
	}
	else
	{
		name_err.InnerText = "";
	}


	return good;
}

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

	Boolean good = validate();

	if (good)
	{
		if (id == 0)  // insert new
		{
			sql = @"insert into projects
			(pj_name, pj_active, pj_default_user, pj_auto_assign_default_user, pj_auto_subscribe_default_user,
			pj_enable_custom_dropdown1,
			pj_enable_custom_dropdown2,
			pj_enable_custom_dropdown3,
			pj_custom_dropdown_label1,
			pj_custom_dropdown_label2,
			pj_custom_dropdown_label3,
			pj_custom_dropdown_values1,
			pj_custom_dropdown_values2,
			pj_custom_dropdown_values3)
			values (N'$nm', $ac, $df, $aa, $as,
			$ecd1,$ecd2,$ecd3,
			N'$cdl1',N'$cdl2',N'$cdl3',
			N'$cdv1',N'$cdv2',N'$cdv3')";
		}
		else // edit existing
		{


			if (pop3_password.Value != "")
			{
				sql = @"update projects set
					pj_name = N'$nm',
					pj_active = $ac,
					pj_default_user = $df,
					pj_auto_assign_default_user = $aa,
					pj_auto_subscribe_default_user = $as,
					pj_enable_pop3 = $pe,
					pj_pop3_username = N'$pu',
					pj_pop3_password = N'$pp',
					pj_pop3_email_from = N'$pf',
					pj_enable_custom_dropdown1 = $ecd1,
					pj_enable_custom_dropdown2 = $ecd2,
					pj_enable_custom_dropdown3 = $ecd3,
					pj_custom_dropdown_label1 = N'$cdl1',
					pj_custom_dropdown_label2 = N'$cdl2',
					pj_custom_dropdown_label3 = N'$cdl3',
					pj_custom_dropdown_values1 = N'$cdv1',
					pj_custom_dropdown_values2 = N'$cdv2',
					pj_custom_dropdown_values3 = N'$cdv3'
					where pj_id = $id";
			}
			else
			{
				sql = @"update projects set
					pj_name = N'$nm',
					pj_active = $ac,
					pj_default_user = $df,
					pj_auto_assign_default_user = $aa,
					pj_auto_subscribe_default_user = $as,
					pj_enable_pop3 = $pe,
					pj_pop3_username = N'$pu',
					pj_pop3_email_from = N'$pf',
					pj_enable_custom_dropdown1 = $ecd1,
					pj_enable_custom_dropdown2 = $ecd2,
					pj_enable_custom_dropdown3 = $ecd3,
					pj_custom_dropdown_label1 = N'$cdl1',
					pj_custom_dropdown_label2 = N'$cdl2',
					pj_custom_dropdown_label3 = N'$cdl3',
					pj_custom_dropdown_values1 = N'$cdv1',
					pj_custom_dropdown_values2 = N'$cdv2',
					pj_custom_dropdown_values3 = N'$cdv3'
					where pj_id = $id";
			}

			sql = sql.Replace("$id", Convert.ToString(id));

		}
		sql = sql.Replace("$nm", name.Value.Replace("'","''"));
		sql = sql.Replace("$ac", Util.bool_to_string(active.Checked));
		sql = sql.Replace("$df", default_user.SelectedItem.Value);
		sql = sql.Replace("$aa", Util.bool_to_string(auto_assign.Checked));
		sql = sql.Replace("$as", Util.bool_to_string(auto_subscribe.Checked));
		sql = sql.Replace("$pe", Util.bool_to_string(enable_pop3.Checked));
		sql = sql.Replace("$pu", pop3_username.Value.Replace("'","''"));
		sql = sql.Replace("$pp", pop3_password.Value.Replace("'","''"));
		sql = sql.Replace("$pf", pop3_email_from.Value.Replace("'","''"));

		sql = sql.Replace("$ecd1", Util.bool_to_string(enable_custom_dropdown1.Checked));
		sql = sql.Replace("$ecd2", Util.bool_to_string(enable_custom_dropdown2.Checked));
		sql = sql.Replace("$ecd3", Util.bool_to_string(enable_custom_dropdown3.Checked));

		
		sql = sql.Replace("$cdl1", custom_dropdown_label1.Value.Replace("'","''"));
		sql = sql.Replace("$cdl2", custom_dropdown_label2.Value.Replace("'","''"));
		sql = sql.Replace("$cdl3", custom_dropdown_label3.Value.Replace("'","''"));
		
		sql = sql.Replace("$cdv1", custom_dropdown_values1.Value.Replace("'","''"));
		sql = sql.Replace("$cdv2", custom_dropdown_values2.Value.Replace("'","''"));
		sql = sql.Replace("$cdv3", custom_dropdown_values3.Value.Replace("'","''"));

		dbutil.execute_nonquery(sql);
		Server.Transfer ("projects.aspx");

	}
	else
	{
		if (id == 0)  // insert new
		{
			msg.InnerText = "project was not created.";
		}
		else // edit existing
		{
			msg.InnerText = "project was not updated.";
		}

	}

}

</script>

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


<div class=align><table border=0><tr><td>
<a href=projects.aspx>back to projects</a>
&nbsp;&nbsp;&nbsp;&nbsp;

<% if (id != 0) { %>
<a id="permissions_href" runat="server" href="" style='font-weight: bold;'>per user permissions</a>
<% } %>


<form class=frm runat="server">
	<table border=0 cellpadding=3>

	<tr>
	<td class=lbl>Description:</td>
	<td><input runat="server" type=text class=txt id="name" maxlength=30 size=30></td>
	<td runat="server" class=err id="name_err">&nbsp;</td>
	</tr>

	<tr>
	<td class=lbl>Active:</td>
	<td><asp:checkbox runat="server" class=txt id="active"/></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Default User:</td>
	<td><asp:DropDownList id="default_user" runat="server">
	</asp:DropDownList></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Auto-Assign New Bugs to Default User:</td>
	<td><asp:checkbox runat="server" class=txt id="auto_assign"/></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td colspan=3>
	&nbsp;
	</td>
	</tr>

	<tr>
	<td colspan=3>
	<span class=smallnote>
	For the following, see also user page.  Make sure user's email is supplied.<br>
	Also see "NotificationEmailEnabled", "NotificationEmailFrom", "SmtpServer" settings in Web.config.
	<br>
	</span>
	</td>
	</tr>

	<tr>
	<td class=lbl>Auto-Subscribe Default User to Notifications:</td>
	<td><asp:checkbox runat="server" class=txt id="auto_subscribe"/></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td colspan=3>
	&nbsp;
	</td>
	</tr>

	<tr>
	<td colspan=3>
	<span class=smallnote>
	The following are used by btnet_pop3.exe and btnet_service_pop3.exe<br>
	Also see "pop3Settings" section of Web.config.
	<br>
	</span>
	</td>
	</tr>

	<tr>
	<td class=lbl>Enable Pop3 Bug Entry:</td>
	<td><asp:checkbox runat="server" class=txt id="enable_pop3"/></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Pop3 Username:</td>
	<td><input runat="server" type=text class=txt id="pop3_username" maxlength=50 size=30></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Pop3 Password:</td>
	<td><input runat="server" type=password class=txt id="pop3_password" maxlength=20 size=20></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td colspan=3>
	<span class=smallnote>
	The following is used as the "From" email address when you respond to bugs generated by emails
	</span>
	</td>
	</tr>

	<tr>
	<td class=lbl>From Email Address:</td>
	<td><input runat="server" type=text class=txt id="pop3_email_from" maxlength=50 size=30></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td colspan=3>
	<hr>
	</td>
	</tr>

	<tr>
	<td colspan=3>
	<span class=smallnote>
	Use the following if you want to have a custom field for this project only.
	<br>1. Check the box to enable the field.  
	<br>2. Fill in the label.
	<br>3. Create a pipe seperated list of values as shown below.
	<br>Each individual value can't be longer than 40 characters:
	<br>Don't use double quotes in the list of values.
	<br>
	"version 1.0|Version 1.1|Version 1.2"
	</span>
	</td>
	</tr>

	<tr>
	<td class=lbl>Enable Custom Dropdown 1:</td>
	<td><asp:checkbox runat="server" class=txt id="enable_custom_dropdown1"/></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Custom Dropdown Label 1:</td>
	<td><input runat="server" type=text class=txt id="custom_dropdown_label1" maxlength=30 size=30></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Custom Dropdown Values 1:</td>
	<td><textarea cols=40 rows=2 runat="server" type=text class=txt id="custom_dropdown_values1"></textarea></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td colspan=3>
	<hr>
	</td>
	</tr>

	<tr>
	<td class=lbl>Enable Custom Dropdown 2:</td>
	<td><asp:checkbox runat="server" class=txt id="enable_custom_dropdown2"/></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Custom Dropdown Label 2:</td>
	<td><input runat="server" type=text class=txt id="custom_dropdown_label2" maxlength=30 size=30></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Custom Dropdown Values 2:</td>
	<td><textarea cols=40 rows=2 runat="server" type=text class=txt id="custom_dropdown_values2"></textarea></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td colspan=3>
	<hr>
	</td>
	</tr>

	<tr>
	<td class=lbl>Enable Custom Dropdown 3:</td>
	<td><asp:checkbox runat="server" class=txt id="enable_custom_dropdown3"/></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Custom Dropdown Label 3:</td>
	<td><input runat="server" type=text class=txt id="custom_dropdown_label3" maxlength=30 size=30></td>
	<td>&nbsp</td>
	</tr>

	<tr>
	<td class=lbl>Custom Dropdown Values 3:</td>
	<td><textarea cols=40 rows=2 runat="server" type=text class=txt id="custom_dropdown_values3"></textarea></td>
	<td>&nbsp</td>
	</tr>


	<tr>
	<td colspan=3>
	&nbsp;
	</td>
	</tr>

	<tr><td colspan=3 align=left>
	<span runat="server" class=err id="msg">&nbsp;</span>
	</td></tr>

	<tr>
	<td colspan=2 align=center>
	<input runat="server" class=btn type=submit id="sub" value="Create or Edit" OnServerClick="on_update">
	<td>&nbsp</td>
	</td>
	</tr>
	</td></tr></table>
</form>
</td></tr></table></div>
</body>
</html>


⌨️ 快捷键说明

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