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

📄 edit_bug.aspx

📁 Bug管理系统
💻 ASPX
📖 第 1 页 / 共 4 页
字号:
	{
		sql += @",'<a href=delete_attachment.aspx?id=' + convert(varchar,ba_id)
			+ '&bug_id=' +  convert(varchar,ba_bug) + '>delete</a>' [delete]";
	}



	sql += @"from bug_attachments
		inner join users on ba_uploaded_user = us_id
		where ba_bug = $1
		order by ba_uploaded_date";

	sql = sql.Replace("$1", Convert.ToString(id));
	DataSet ds = dbutil.get_dataset (sql);

	if (ds.Tables[0].Rows.Count > 0)
	{
		Response.Write ("attachments:<br>");
		SortableHtmlTable.create_from_dataset(
			Response, ds, "", "", false);
	}
}


</script>

<html>
<head>
<title id=title runat="server">add new</title>
<link rel="StyleSheet" href="btnet.css" type="text/css">
<script type="text/javascript" language="JavaScript" src="sortable.js"></script>
<script type="text/javascript" language="JavaScript" src="overlib_mini.js"></script>
<script type="text/javascript" language="JavaScript" src="calendar.js"></script>


<script>

var prompt = '<% Response.Write(Util.get_setting("PromptBeforeLeavingEditBugPage","0")); %>'

function add_attachment(id)
{
	if (prompt == "1")
	{
		var result = confirm('Go to "Add Attachment" page?  Changes here will not be saved.');
		if (result)
		{
			window.document.location = "add_attachment.aspx?id=" + id;
		}
	}
	else
	{
		window.document.location = "add_attachment.aspx?id=" + id;
	}
}


function send_email(id)
{
	if (prompt == "1")
	{
		var result = confirm('Go to "Send Email" page?  Changes here will not be saved.');
		if (result)
		{
			window.document.location = "send_email.aspx?bg_id=" + id;
		}
	}
	else
	{
		window.document.location = "send_email.aspx?bg_id=" + id;
	}
}


// for the future...
function change_project(id)
{
	if (prompt == "1")
	{
		var result = confirm('Go to "Change Project" page?  Changes here will not be saved.');
		if (result)
		{
			window.document.location = "change_project.aspx?id=" + id;
		}
	}
	else
	{
		window.document.location = "change_project.aspx?id=" + id;
	}
}



</script>

</head>
<body>
<% security.write_menu(Response, Util.get_setting("PluralBugLabel","bugs")); %>

<div id="overDiv" style="position:absolute;visibility:hidden; z-index:1000;"></div>

<div class=align><table border=0><tr><td>
<% if (!security.this_adds_not_allowed) { %>
<a href=edit_bug.aspx?id=0>add new <% Response.Write(Util.get_setting("SingularBugLabel","bug")); %></a>
&nbsp;&nbsp;&nbsp;&nbsp;
<% } %>
<span id="print" runat="server">&nbsp;</span>
&nbsp;&nbsp;&nbsp;&nbsp;
<span id="merge_bug" runat="server">&nbsp;</span>
&nbsp;&nbsp;&nbsp;&nbsp;
<span id="delete_bug" runat="server">&nbsp;</span>
&nbsp;&nbsp;&nbsp;&nbsp;
<span id="custom" runat="server">&nbsp;</span>
<span id="prev_next" runat="server">&nbsp;</span>


&nbsp;&nbsp;&nbsp;&nbsp;


<form class=frm runat="server">
	<table border=0 cellspacing=5>

	<tr>

	<td colspan=4 align=left>
	<span class=lbl><% Response.Write(Util.capitalize_first_letter(Util.get_setting("SingularBugLabel","bug"))); %> ID:&nbsp;</span>
	<span runat="server" class=static id="bugid">&nbsp;</span>
	&nbsp;&nbsp;&nbsp;&nbsp;
	<span id="history" runat="server"></span>
	&nbsp;&nbsp;&nbsp;&nbsp;
	<span id="last_changed" runat="server" class=pst></span>
	&nbsp;&nbsp;&nbsp;&nbsp;
	<span id="subscribers" runat="server"></span>
	</td>
	</tr>

	<tr>
	<td class=lbl>Short desc:</td>
	<td align=left><span class=static id="static_short_desc" runat="server" style='width: 500px; display: none;'></span>
	<input runat="server" type=text class=txt id="short_desc" size="80" maxlength="80"></td>
	<td runat="server" class=err id="short_desc_err">&nbsp;</td>
	</tr>

	<tr>
	<td class=lbl colspan=4><span runat="server" id=reported_by>&nbsp;</span></td>
	</tr>

	<tr id="row1">
	<td colspan=4 nowrap>

		<span class=lbl id="project_label">Project:&nbsp;</span>

		<span class=static id="current_project" runat="server">[no project]</span>

		&nbsp;&nbsp;
		<span runat="server" id="change_project_label" class=lbl>
		Change project:&nbsp;
		</span>

		<span class=lbl id="static_project" runat="server" style='display: none;'></span>
		<asp:DropDownList id="project" runat="server"
		OnSelectedIndexChanged="on_project_changed">
		</asp:DropDownList>

		&nbsp;&nbsp;&nbsp;&nbsp;

		<span class=lbl id="category_label">Category:&nbsp;</span>
		<span class=static id="static_category" runat="server" style='display: none;'></span>
		<asp:DropDownList id="category" runat="server">
		</asp:DropDownList>

		&nbsp;&nbsp;&nbsp;&nbsp;

		<span class=lbl id="priority_label">Priority:&nbsp;</span>
		<span class=static id="static_priority" runat="server" style='display: none;'></span>
		<asp:DropDownList id="priority" runat="server">
		</asp:DropDownList>


	</td>
	</tr>

	<tr id="row2">
	<td colspan=4 nowrap>

		<span class=lbl id="assigned_to_label">Assigned to:&nbsp;</span>

		<span class=static id="assigned_to_username" runat="server">[not assigned]</span>

		&nbsp;&nbsp;
		<span  runat="server" id="reassign_label" class=lbl>Re-assign:&nbsp;</span>
		<asp:DropDownList id="assigned_to" runat="server"
		OnSelectedIndexChanged="on_assigned_to_changed">
		</asp:DropDownList>

		&nbsp;&nbsp;&nbsp;&nbsp;
		<span class=lbl id="status_label">Status:&nbsp;</span>
		<span class=static id="static_status" runat="server" style='display: none;'></span>
		<asp:DropDownList id="status" runat="server">
		</asp:DropDownList>

		<%
		if (Util.get_setting("ShowUserDefinedBugAttribute","1") == "1")
		{
			%>
			&nbsp;&nbsp;&nbsp;&nbsp;
			<span class=lbl id="udf_label">
			<% Response.Write(Util.get_setting("UserDefinedBugAttributeName","YOUR ATTRIBUTE")); %>:&nbsp;</span>
			<span class=static id="static_udf" runat="server" style='display: none;'></span>
			<asp:DropDownList id="udf" runat="server">
			</asp:DropDownList>
			<%
		}
		%>


	</td>
	</tr>

	<%

	// Create the custom column INPUT elements
	foreach (DataRow drcc in ds_custom_cols.Tables[0].Rows)
	{
		Response.Write ("<tr>");
		Response.Write ("<td><span id=\"" + drcc["name"] +  "_label\">");
		Response.Write (drcc["name"]);
		Response.Write (":</span><td align=left>");

		//20040413 WWR - If a custom database field is over the defined character length, use a TextArea control
		int minTextAreaSize = int.Parse(Util.get_setting("TextAreaThreshold","100"));
		int maxTextAreaRows = int.Parse(Util.get_setting("MaxTextAreaRows","5"));
		int fieldLength = int.Parse(drcc["length"].ToString());

		if (permission_level == PERMISSION_READONLY
		|| permission_level == PERMISSION_REPORTER)
		{
			Response.Write ("<span class=static>");
			if (drcc["datatype"].ToString() == "datetime")
			{
				Response.Write (Util.format_db_date(hash_custom_cols[(string)drcc["name"]]));
			}
			else
			{
				Response.Write (hash_custom_cols[(string)drcc["name"]]);
			}
			Response.Write ("</span>");
		}
		else
		{

			if ( fieldLength > minTextAreaSize )
			{
				Response.Write ("<textarea cols=\"" + minTextAreaSize + "\" rows=\"" + (((fieldLength/minTextAreaSize)>maxTextAreaRows) ? maxTextAreaRows : (fieldLength/minTextAreaSize)) + "\" " );
				Response.Write (" name=\"" + drcc["name"].ToString() + "\"");
				Response.Write (" id=\"" + drcc["name"].ToString() + "\" >");
				Response.Write (HttpUtility.HtmlEncode(Convert.ToString(hash_custom_cols[(string)drcc["name"]])));
				Response.Write ("</textarea>");
			}
			else
			{
				Response.Write ("<input type=text ");


				// match the size of the text field to the size of the database field
				if (drcc["datatype"].ToString().IndexOf("char") > -1)
				{
					if (drcc["datatype"].ToString() == "nvarchar")
					{
						Response.Write (" size=" + Convert.ToString((Convert.ToInt32(drcc["length"]) / 2)));
						Response.Write (" maxlength=" + Convert.ToString((Convert.ToInt32(drcc["length"]) / 2)));
					}
					else
					{
						Response.Write (" size=" + drcc["length"]);
						Response.Write (" maxlength=" + drcc["length"]);
					}
				}

				Response.Write (" name=\"" + drcc["name"].ToString() + "\"");
				Response.Write (" id=\"" + drcc["name"].ToString() + "\"");


				// output a date field according to the specified format
				if (hash_custom_cols[(string)drcc["name"]].GetType().ToString() == "System.DateTime")
				{
					Response.Write (
						" value=\""
						+ Util.format_db_date(hash_custom_cols[(string)drcc["name"]])
						+ "\"");

				}
				else
				{
					Response.Write (" value=\"");
					Response.Write (
						HttpUtility.HtmlEncode(
							Convert.ToString(
								hash_custom_cols[(string)drcc["name"]]
							)
						)
					);
					Response.Write ("\"");
				}

				Response.Write (">");
				if (drcc["datatype"].ToString() == "datetime")
				{
					Response.Write("<a style=\"font-size: 8pt;\"href=\"javascript:show_calendar('_ctl0." 
						+ drcc["name"].ToString() 
						+ "',null,null,'" 
						+ Util.get_setting("JustDateFormat",Util.get_culture_info().DateTimeFormat.ShortDatePattern)
						+ "');\">[select]</a>");
				
				}
				
			}
		}

		Response.Write ("</td></tr>");

	}


	// create project custom dropdowns
	if (project.SelectedItem.Value != null
	&& project.SelectedItem.Value != "0")
	{

		sql = @"select
			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 = $pj";

		sql = sql.Replace("$pj", project.SelectedItem.Value);

		DataRow project_dr = dbutil.get_datarow(sql);


		for (int i = 1; i < 4; i++)
		{
			if ((int)project_dr["pj_enable_custom_dropdown" + Convert.ToString(i)] == 1)
			{
				Response.Write ("<tr><td>");
				Response.Write (project_dr["pj_custom_dropdown_label" + Convert.ToString(i)]);
				Response.Write ("<td>");


				if (permission_level == PERMISSION_READONLY
				|| permission_level == PERMISSION_REPORTER)
				{
					Response.Write ("<span class=static>");
					if (IsPostBack)
					{
						Response.Write (Request["pcd" + Convert.ToString(i)]);
					}
					else
					{
						if (id !=0)
						{
							Response.Write (dr["bg_project_custom_dropdown_value" + Convert.ToString(i)]);
						}
					}
					Response.Write ("</span>");

				}
				else
				{

					// create a hidden area to carry the label

					Response.Write ("<input type=hidden");
					Response.Write (" name=label_pcd" + Convert.ToString(i));
					Response.Write (" value=\"");
					Response.Write (project_dr["pj_custom_dropdown_label" + Convert.ToString(i)]);
					Response.Write ("\">");

					// create a dropdown

					Response.Write ("<select"); 
					Response.Write (" name=pcd" + Convert.ToString(i) + ">");
					Regex regex = new Regex("\\|");
					string[] options =
						regex.Split((string)project_dr["pj_custom_dropdown_values" + Convert.ToString(i)]);

					string selected_value = "";

					if (IsPostBack)
					{
						selected_value = Request["pcd" + Convert.ToString(i)];
					}
					else
					{
						// first time viewing existing
						if (id != 0)
						{
							selected_value = (string) dr["bg_project_custom_dropdown_value" + Convert.ToString(i)];
						}
					}

					for (int j = 0; j < options.Length; j++)
					{
						Response.Write ("<option value=\"" + options[j] + "\"");

						//if (options[j] == selected_value)
						if (HttpUtility.HtmlDecode(options[j]) == selected_value)
						{
							Response.Write (" selected ");
						}
						Response.Write (">");
						Response.Write (options[j]);
					}

					Response.Write ("</select>");
				}
			}
		}
	}



	%>

	<tr>
	<td colspan=4>
	<script>
	var enlarge_or_shrink = 'enlarge'
	function toggle_size()
	{
		if (enlarge_or_shrink == 'enlarge')
		{
			document._ctl0.comment.rows += 12
			enlarge_or_shrink = 'shrink'
			window.document.getElementById('toggle_link').innerText = "[-]";
		}
		else
		{
			document._ctl0.comment.rows -= 12
			enlarge_or_shrink = 'enlarge'
			window.document.getElementById('toggle_link').innerText = "[+]";
		}

	}
	</script>
	<span class=lbl>
	<font size=0>
	<span id="plus_label" runat="server">
		<a name=toggle_link href=javascript:toggle_size()><span id="toggle_link">[+]</span></a>
	</span>
	</font>
	&nbsp;<span id="comment_label" runat="server">Comment:</span><br>
	<textarea rows=4 cols=80 runat="server" class=txt id="comment"></textarea>
	<br><span runat="server" class=err id="comment_err"></span>
	</td>
	</tr>

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

	<tr>
	<td colspan=4 align=center>
		<table border=0 cellspacing=0 cellpadding=0 width=100%><tr>
		<td align=center width=100%>
			<input runat="server" class=btn type=submit id="sub"
			value="Create or Edit" OnServerClick="on_update">
		</td>
		<td align=right nowrap id="subscriptions" runat="server">&nbsp;</td>
		</tr></table>
	</td>
	</tr>

	</table>

	<input type=hidden id="new_id" runat="server" value="0">
	<input type=hidden id="prev_short_desc" runat="server">
	<input type=hidden id="prev_project" runat="server">
	<input type=hidden id="prev_category" runat="server">
	<input type=hidden id="prev_priority" runat="server">
	<input type=hidden id="prev_assigned_to" runat="server">
	<input type=hidden id="prev_status" runat="server">
	<input type=hidden id="prev_udf" runat="server">
	<input type=hidden id="prev_pcd1" runat="server">
	<input type=hidden id="prev_pcd2" runat="server">
	<input type=hidden id="prev_pcd3" runat="server">

<%

	// create the "Prev" fields for the custom columns so that we
	// can create an audit trail of their changes.

	foreach (DataRow drcc in ds_custom_cols.Tables[0].Rows)
	{
		Response.Write ("<input type=hidden name=\"prev_");
		Response.Write (drcc["name"]);
		Response.Write ("\"");

		// output a date field according to the specified format
		if (hash_custom_cols[(string)drcc["name"]].GetType().ToString() == "System.DateTime")
		{

			Response.Write (
				" value=\""
				+ Util.format_db_date(hash_prev_custom_cols[(string)drcc["name"]]));
		}
		else
		{
			Response.Write (" value=\"");

			Response.Write (
				HttpUtility.HtmlEncode(
					Convert.ToString(
						hash_prev_custom_cols[(string)drcc["name"]]
					)
				)
			);

		}

		Response.Write ("\">\n");
	}

%>


</form>
</td></tr></table>

<table border=0 cellspacing=3>
<% if (!sub.Disabled) { %>
	<tr><td nowrap>
		<span id="attachment" runat="server"></span>
		&nbsp;&nbsp;&nbsp;&nbsp;
		<span id="send_email" runat="server"></span>
	</td></tr>

	<tr><td>
<% } %>

<%
	// ATTACHMENTS
	
	if (id != 0)
	{
		write_attachments();
	}

%>
	<br>
	</td></tr>

<%

	// COMMENTS

	if (id != 0)
	{
		write_comments();
	}
%>

</table>
</div>
</body>
</html>

⌨️ 快捷键说明

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