From: <ro...@us...> - 2006-07-27 02:46:23
|
Revision: 223 Author: rouquin Date: 2006-07-26 10:17:24 -0700 (Wed, 26 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=223&view=rev Log Message: ----------- Filters are now initialized from the user configuraton settings. Modified Paths: -------------- Schema/Config Schema.xls Website/App_Code/Common.cs Website/App_Code/Users.cs Website/Includes/Assignments.ascx Website/Includes/Assignments.ascx.cs Website/Includes/UserConfig.ascx.cs Modified: Schema/Config Schema.xls =================================================================== (Binary files differ) Modified: Website/App_Code/Common.cs =================================================================== --- Website/App_Code/Common.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/App_Code/Common.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -537,10 +537,10 @@ return settings; } - public static Dictionary<String,List<Config> > GetUserSettings() + public static Dictionary<String, List<Config>> GetUserSettings() { Dictionary<String, List<Config>> settings = new Dictionary<string, List<Config>>(); - Dictionary<String,String> values; + Dictionary<String, String> values; List<Config> group; // Start clean @@ -632,21 +632,343 @@ // add group settings.Add("email", group); + // ------------------------------------------------ + // filter group + // ------------------------------------------------ + group = new List<Config>(); + + // filter_enable_type_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_type_filter", + "Enable filtering by type", + "bool", + values, + "", + false, + 1, + "filter", + "true", + "specify if you want assignment type filtering")); + + // filter_show_action_items + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_action_items", + "Show Action Items", + "bool", + values, + "", + false, + 2, + "filter", + "true", + "Specify if you want to see Action Items by default")); + + // filter_show_work_orders + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_work_orders", + "Show Work Orders", + "bool", + values, + "", + false, + 3, + "filter", + "true", + "Specify if you want to see Work Orders by default")); + + // filter_enable_status_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_status_filter", + "Show Work Orders", + "bool", + values, + "", + false, + 4, + "filter", + "true", + "Specify if you want status filtering")); + + // filter_show_ai_active + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_active", + "Show Active Action Items", + "bool", + values, + "", + false, + 5, + "filter", + "true", + "Specify if you want to see Active Action Items by default")); + + // filter_show_ai_inactive + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_inactive", + "Show Inactive Action Items", + "bool", + values, + "", + false, + 6, + "filter", + "false", + "Specify if you want to see Inactive Action Items by default")); + + // filter_show_ai_complete + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_complete", + "Show Complete Action Items", + "bool", + values, + "", + false, + 7, + "filter", + "false", + "Specify if you want to see Completed Action Items by default")); + + // filter_show_ai_not_started + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_ai_not_started", + "Show Not Started Action Items", + "bool", + values, + "", + false, + 8, + "filter", + "true", + "Specify if you want to see Not Started Action Items by default")); + + + + // filter_show_wo_active + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_active", + "Show Active Work Orders", + "bool", + values, + "", + false, + 9, + "filter", + "true", + "Show Active Work Orders")); + + // filter_show_wo_inactive + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_inactive", + "Show Inactive Work Orders", + "bool", + values, + "", + false, + 10, + "filter", + "false", + "Specify if you want to see Inactive Work Orders by default")); + + // filter_show_wo_complete + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_complete", + "Show Complete Work Orders", + "bool", + values, + "", + false, + 11, + "filter", + "false", + "Specify if you want to see Completed Work Orders by default")); + + // filter_show_wo_not_started + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_wo_not_started", + "Show Not Started Work Orders", + "bool", + values, + "", + false, + 12, + "filter", + "true", + "Specify if you want to see Not Started Action Items by default")); + + // filter_enable_priority_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_priority_filter", + "Show High Priority Assignments", + "bool", + values, + "", + false, + 13, + "filter", + "true", + "Specify if you want to enable priority filtering")); + + // filter_show_high_priority + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_high_priority", + "Show High Priority Assignments", + "bool", + values, + "", + false, + 14, + "filter", + "true", + "Specify if you want to see High Priority Assignments by default")); + + // filter_show_low_priority + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_low_priority", + "Show Low Priority Assignments", + "bool", + values, + "", + false, + 15, + "filter", + "true", + "Specify if you want to see Low Priority Assignments by default")); + + // filter_enable_assigned_date_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_assigned_date_filter", + "Enable assigned date filter", + "bool", + values, + "", + false, + 16, + "filter", + "false", + "Specify if you want to enable assigned date filtering")); + + // filter_show_from_assigned_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_from_assigned_date", + "Show Assignments From Assigned Date", + "date", + values, + "", + false, + 17, + "filter", + "1/1/2006", + "Show assignments assigned after specified date in days relative to today or by a specific date")); + + // filter_show_to_assigned_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_to_assigned_date", + "Show Assignments to Assigned Date", + "date", + values, + "", + false, + 18, + "filter", + "r: 0", + "Show assignments assigned before specified date in days relative to today or by a specific date")); + + // filter_enable_due_date_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_due_date_filter", + "Enable due date filter", + "bool", + values, + "", + false, + 19, + "filter", + "false", + "Specify if you want to enable due date filtering")); + + // filter_show_from_due_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_from_due_date", + "Show Assignments From Due Date", + "date", + values, + "", + false, + 20, + "filter", + "1/1/2006", + "Show assignments due after specified date in days relative to today or by a specific date")); + + // filter_show_to_due_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_to_due_date", + "Show Assignments to Due Date", + "date", + values, + "", + false, + 21, + "filter", + "r: 14", + "Show assignments due before specified date in days relative to today or by a specific date")); + + // filter_enable_finished_date_filter + values = new Dictionary<String, String>(); + group.Add(new Config("filter_enable_finished_date_filter", + "Enable finished date filter", + "bool", + values, + "", + false, + 22, + "filter", + "false", + "Specify if you want to enable finished date filtering")); + + // filter_show_from_finished_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_from_finished_date", + "Show Assignments From Finished Date", + "date", + values, + "", + false, + 23, + "filter", + "1/1/2006", + "Show assignments finished after specified date in days relative to today or by a specific date")); + + // filter_show_to_finished_date + values = new Dictionary<String, String>(); + group.Add(new Config("filter_show_to_finished_date", + "Show Assignments to Finished Date", + "date", + values, + "", + false, + 24, + "filter", + "r: 0", + "Show assignments finished before specified date in days relative to today or by a specific date")); + + // add group + settings.Add("filter", group); + return settings; } - public static bool GetConfigBool(string name) + public static Boolean GetConfigBool(string name) { return GetConfigBool(Constants.ANONYMOUSUSERID, name); } - public static bool GetConfigBool(int userID, string name) + public static Boolean GetConfigBool(int userID, string name) { string result = GetConfigString(userID, name); - bool r = false; + Boolean r = false; try { - r = bool.Parse(result); + r = Convert.ToBoolean(result); } catch (Exception ex) { @@ -657,6 +979,35 @@ return r; } + public static Nullable<DateTime> GetConfigDate(string name) + { + return GetConfigDate(Constants.ANONYMOUSUSERID, name); + } + + public static Nullable<DateTime> GetConfigDate(int userID, string name) + { + string result = GetConfigString(userID, name); + Nullable<DateTime> r = null; + try + { + if (result.StartsWith("r: ")) + { + TimeSpan span = new TimeSpan(Convert.ToInt32(result.Substring(3)), 0, 0, 0); + r = DateTime.Today + span; + } + else + { + r = Convert.ToDateTime(result); + } + } + catch (Exception ex) + { + m_logg.Error("Error parsing config value [" + name + ": " + result + "] for user [" + userID + "]", ex); + } + + return r; + } + public static int GetConfigInt(string name) { return GetConfigInt(Constants.ANONYMOUSUSERID, name); Modified: Website/App_Code/Users.cs =================================================================== --- Website/App_Code/Users.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/App_Code/Users.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -442,5 +442,25 @@ return value; } + public DateTime GetConfigDate(string name) + { + m_logg.Debug("Getting config option [" + name + "] for user [" + this.ToString() + "]"); + Nullable<DateTime> value = null; + + value = ConfigDB.GetConfigDate(p_id, name); + if (value != null) + m_logg.Debug("Retreived [" + name + ": " + value + "] for user [" + this.ToString() + "]"); + else + { + m_logg.Debug("Unable to retreive [" + name + "] for user [" + this.ToString() + "], getting default value"); + value = ConfigDB.GetConfigDate(name); + m_logg.Debug("Retreived default [" + name + ": " + value + "]"); + } + + if (value == null) + value = DateTime.Today; + + return value.Value; + } } } Modified: Website/Includes/Assignments.ascx =================================================================== --- Website/Includes/Assignments.ascx 2006-07-26 14:32:35 UTC (rev 222) +++ Website/Includes/Assignments.ascx 2006-07-26 17:17:24 UTC (rev 223) @@ -91,7 +91,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboStatusFilter" runat="server" TextAlign="Left" OnCheckedChanged="cboStatusFilter_CheckedChanged" - Checked="True" AutoPostBack="True" /> + Checked="True" AutoPostBack="True" OnInit="cboStatusFilter_Init" /> </div> <div class="end"> </div> @@ -140,7 +140,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboDateFilter" runat="server" TextAlign="Left" AutoPostBack="True" - OnCheckedChanged="cboDateFilter_CheckedChanged" /> + OnCheckedChanged="cboDateFilter_CheckedChanged" OnInit="cboDateFilter_Init" /> </div> <div class="end"> </div> @@ -151,7 +151,7 @@ From: <ew:CalendarPopup ID="fromDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SelectedDate="2006-01-01" AutoPostBack="true" OnDateChanged="update" - SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01"> + SkinID="calendar" PostedDate="1/1/2006" VisibleDate="2006-01-01" OnInit="fromDate_Init"> </ew:CalendarPopup> <br /> To: @@ -175,7 +175,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboDueFilter" runat="server" TextAlign="Left" AutoPostBack="True" - OnCheckedChanged="cboDueFilter_CheckedChanged" /></div> + OnCheckedChanged="cboDueFilter_CheckedChanged" OnInit="cboDueFilter_Init" /></div> <div class="end"> </div> <div class="hr"> @@ -185,7 +185,7 @@ From: <ew:CalendarPopup ID="fromDueDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update"> + OnDateChanged="update" OnInit="fromDueDate_Init"> </ew:CalendarPopup> <br /> To: @@ -208,7 +208,7 @@ Finished Date:</label></div> <div class="right"> <asp:CheckBox ID="cboFinishedFilter" runat="server" TextAlign="Left" AutoPostBack="True" - OnCheckedChanged="cboFinishedFilter_CheckedChanged" /></div> + OnCheckedChanged="cboFinishedFilter_CheckedChanged" OnInit="cboFinishedFilter_Init" /></div> <div class="end"> </div> <div class="hr"> @@ -218,7 +218,7 @@ From: <ew:CalendarPopup ID="fromFinishedDate" runat="server" PopupLocation="Bottom" ShowGoToToday="True" ControlDisplay="LabelImage" SkinID="calendar" SelectedDate="2006-01-01" AutoPostBack="true" - OnDateChanged="update"> + OnDateChanged="update" OnInit="fromFinishedDate_Init"> </ew:CalendarPopup> <br /> To: @@ -242,7 +242,7 @@ </div> <div class="right"> <asp:CheckBox ID="cboTypeFilter" runat="server" TextAlign="Left" Checked="True" AutoPostBack="True" - OnCheckedChanged="cboTypeFilter_CheckedChanged" /> + OnCheckedChanged="cboTypeFilter_CheckedChanged" OnInit="cboTypeFilter_Init" /> </div> <div class="end"> </div> @@ -252,9 +252,9 @@ <div class="cm"> <div class="alignmiddle"> <asp:CheckBox ID="cboShowActionItems" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" />Action Items<br /> + OnCheckedChanged="update" OnInit="cboShowActionItems_Init" />Action Items<br /> <asp:CheckBox ID="cboShowWorkOrders" runat="server" Checked="true" AutoPostBack="True" - OnCheckedChanged="update" />Work Orders + OnCheckedChanged="update" OnInit="cboShowWorkOrders_Init" />Work Orders </div> </div> </div> @@ -271,7 +271,7 @@ Priority:</label></div> <div class="right"> <asp:CheckBox ID="cboPriorityFilter" runat="server" OnCheckedChanged="cboPriorityFilter_CheckedChanged" - Checked="True" AutoPostBack="True" /> + Checked="True" AutoPostBack="True" OnInit="cboPriorityFilter_Init" /> </div> <div class="end"> </div> @@ -281,9 +281,9 @@ <div class="cm"> <div class="alignmiddle"> <asp:CheckBox ID="cboHighPriority" runat="server" Checked="True" OnCheckedChanged="update" - AutoPostBack="True" />High<br /> + AutoPostBack="True" OnInit="cboHighPriority_Init" />High<br /> <asp:CheckBox ID="cboLowPriority" runat="server" Checked="true" OnCheckedChanged="update" - AutoPostBack="True" />Low + AutoPostBack="True" OnInit="cboLowPriority_Init" />Low </div> </div> </div> Modified: Website/Includes/Assignments.ascx.cs =================================================================== --- Website/Includes/Assignments.ascx.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/Includes/Assignments.ascx.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -357,9 +357,15 @@ { if (!IsPostBack) { - foreach (ListItem item in aiStatusList.Items) - if (item.Text != "Inactive" && item.Text != "Completed") - item.Selected = true; + if (m_user.GetConfigBool("filter_show_ai_active")) + aiStatusList.Items.FindByText("Active").Selected = true; + if (m_user.GetConfigBool("filter_show_ai_inactive")) + aiStatusList.Items.FindByText("Inactive").Selected = true; + if (m_user.GetConfigBool("filter_show_ai_complete")) + aiStatusList.Items.FindByText("Completed").Selected = true; + if (m_user.GetConfigBool("filter_show_ai_not_started")) + aiStatusList.Items.FindByText("Not Started").Selected = true; + AssignmentsGridView.DataBind(); } } @@ -368,23 +374,80 @@ { if (!IsPostBack) { - foreach (ListItem item in woStatusList.Items) - if (item.Text != "Inactive" && item.Text != "Completed") - item.Selected = true; + if (m_user.GetConfigBool("filter_show_wo_active")) + woStatusList.Items.FindByText("Active").Selected = true; + if (m_user.GetConfigBool("filter_show_wo_inactive")) + woStatusList.Items.FindByText("Inactive").Selected = true; + if (m_user.GetConfigBool("filter_show_wo_complete")) + woStatusList.Items.FindByText("Completed").Selected = true; + if (m_user.GetConfigBool("filter_show_wo_not_started")) + woStatusList.Items.FindByText("Not Started").Selected = true; + AssignmentsGridView.DataBind(); } } protected void toDate_Init(object sender, EventArgs e) { - toDate.SelectedDate = DateTime.Today; + toDate.SelectedDate = m_user.GetConfigDate("filter_show_to_assigned_date"); } protected void toDueDate_Init(object sender, EventArgs e) { - TimeSpan twoWeeks = new TimeSpan(14, 0, 0, 0); - toDueDate.SelectedDate = DateTime.Today + twoWeeks; + toDueDate.SelectedDate = m_user.GetConfigDate("filter_show_to_due_date"); } protected void toFinishedDate_Init(object sender, EventArgs e) { - toFinishedDate.SelectedDate = DateTime.Today; + toFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_to_finished_dates"); } + protected void fromDate_Init(object sender, EventArgs e) + { + fromDate.SelectedDate = m_user.GetConfigDate("filter_show_from_assigned_date"); + } + protected void fromDueDate_Init(object sender, EventArgs e) + { + fromDueDate.SelectedDate = m_user.GetConfigDate("filter_show_from_due_date"); + } + protected void fromFinishedDate_Init(object sender, EventArgs e) + { + fromFinishedDate.SelectedDate = m_user.GetConfigDate("filter_show_from_finished_date"); + } + protected void cboShowActionItems_Init(object sender, EventArgs e) + { + cboShowActionItems.Checked = m_user.GetConfigBool("filter_show_action_items"); + } + protected void cboShowWorkOrders_Init(object sender, EventArgs e) + { + cboShowWorkOrders.Checked = m_user.GetConfigBool("filter_show_work_orders"); + } + protected void cboHighPriority_Init(object sender, EventArgs e) + { + cboHighPriority.Checked = m_user.GetConfigBool("filter_show_high_priority"); + } + protected void cboLowPriority_Init(object sender, EventArgs e) + { + cboLowPriority.Checked = m_user.GetConfigBool("filter_show_low_priority"); + } + protected void cboStatusFilter_Init(object sender, EventArgs e) + { + cboStatusFilter.Checked = m_user.GetConfigBool("filter_enable_status_filter"); + } + protected void cboDateFilter_Init(object sender, EventArgs e) + { + cboDateFilter.Checked = m_user.GetConfigBool("filter_enable_assigned_date_filter"); + } + protected void cboDueFilter_Init(object sender, EventArgs e) + { + cboDueFilter.Checked = m_user.GetConfigBool("filter_enable_due_date_filter"); + } + protected void cboFinishedFilter_Init(object sender, EventArgs e) + { + cboFinishedFilter.Checked = m_user.GetConfigBool("filter_enable_finished_date_filter"); + } + protected void cboTypeFilter_Init(object sender, EventArgs e) + { + cboTypeFilter.Checked = m_user.GetConfigBool("filter_enable_type_filter"); + } + protected void cboPriorityFilter_Init(object sender, EventArgs e) + { + cboPriorityFilter.Checked = m_user.GetConfigBool("filter_enable_priority_filter"); + } } Modified: Website/Includes/UserConfig.ascx.cs =================================================================== --- Website/Includes/UserConfig.ascx.cs 2006-07-26 14:32:35 UTC (rev 222) +++ Website/Includes/UserConfig.ascx.cs 2006-07-26 17:17:24 UTC (rev 223) @@ -14,6 +14,7 @@ using TCDB.Users; using AD_Auth; using log4net; +using eWorld.UI; public partial class UserConfig : SiteUserControl { @@ -80,7 +81,7 @@ { TextBox valueBox = new TextBox(); valueBox.ID = setting.KEY; - valueBox.Text = ConfigDB.GetConfigString(setting.KEY); + valueBox.Text = m_user.GetConfigString(setting.KEY); valueBox.Width = 500; valueBox.TextChanged += new EventHandler(textboxChanged); Controls.Add(valueBox); @@ -89,7 +90,7 @@ { CheckBox valueBox = new CheckBox(); valueBox.ID = setting.KEY; - valueBox.Checked = ConfigDB.GetConfigBool(setting.KEY); + valueBox.Checked = m_user.GetConfigBool(setting.KEY); valueBox.CheckedChanged += new EventHandler(checkboxChanged); Controls.Add(valueBox); } @@ -100,7 +101,7 @@ foreach (String value in setting.VALUES.Keys) { valueList.Items.Add(new ListItem(value, setting.VALUES[value])); - valueList.SelectedValue = ConfigDB.GetConfigString(setting.KEY); + valueList.SelectedValue = m_user.GetConfigString(setting.KEY); } valueList.SelectedIndexChanged += new EventHandler(dropdownChanged); Controls.Add(valueList); @@ -109,7 +110,7 @@ { TextBox valueBox = new TextBox(); valueBox.ID = setting.KEY; - valueBox.Text = ConfigDB.GetConfigString(setting.KEY); + valueBox.Text = m_user.GetConfigString(setting.KEY); valueBox.TextMode = TextBoxMode.MultiLine; valueBox.Width = 500; valueBox.Height = 150; @@ -120,10 +121,62 @@ { Label valueLbl = new Label(); valueLbl.ID = setting.KEY; - valueLbl.Text = ConfigDB.GetConfigString(setting.KEY); + valueLbl.Text = m_user.GetConfigString(setting.KEY); Controls.Add(valueLbl); } + else if (setting.TYPE == "date") + { + String dateString = m_user.GetConfigString(setting.KEY); + // date Type Control + RadioButtonList dateType = new RadioButtonList(); + dateType.ID = setting.KEY; + dateType.Items.Add("Absolute"); + dateType.Items.Add("Relative"); + + // Absolute Date + CalendarPopup absDate = new CalendarPopup(); + absDate.ID = setting.KEY + "_abs"; + absDate.ShowGoToToday = true; + absDate.DateChanged += new EventHandler(absoluteDateChanged); + + // Relative Date + TextBox relDate = new TextBox(); + relDate.ID = setting.KEY + "_rel"; + relDate.Text = "0"; + relDate.TextChanged += new EventHandler(relativeDateChanged); + + if (dateString.StartsWith("r: ")){ + dateType.SelectedValue = "Relative"; + relDate.Text = dateString.Substring(3); + } else { + dateType.SelectedValue = "Absolute"; + absDate.SelectedDate = Convert.ToDateTime(dateString); + } + + html = new Literal(); + html.Text = "<table width=\"100%\">\n<tr>\n<td rowspan=\"2\">\n"; + Controls.Add(html); + + Controls.Add(dateType); + + html = new Literal(); + html.Text = "\n</td><td>\n"; + Controls.Add(html); + + Controls.Add(absDate); + + html = new Literal(); + html.Text = "\n</td>\n</tr>\n<tr>\n<td>\n"; + Controls.Add(html); + + Controls.Add(relDate); + + html = new Literal(); + html.Text = "\n</td>\n</tr>\n</table>\n"; + Controls.Add(html); + } + html = new Literal(); html.Text = "\n</td>\n</tr>\n<tr>\n<td></td>\n<td>\n"; Controls.Add(html); @@ -163,6 +216,28 @@ DropDownList dropdown = (DropDownList)sender; ConfigDB.SaveConfigString(userID, dropdown.ID, dropdown.SelectedValue); } + void absoluteDateChanged(Object sender, EventArgs args) + { + CalendarPopup absDate = (CalendarPopup) sender; + String key = absDate.ID.Substring(0, absDate.ID.LastIndexOf('_')); + RadioButtonList dateType = (RadioButtonList) FindControl(key); + + if (dateType.SelectedValue == "Absolute") + { + ConfigDB.SaveConfigString(userID, key, absDate.SelectedDate.ToString()); + } + } + void relativeDateChanged(Object sender, EventArgs args) + { + TextBox relDate = (TextBox)sender; + String key = relDate.ID.Substring(0, relDate.ID.LastIndexOf('_')); + RadioButtonList dateType = (RadioButtonList) FindControl(key); + + if (dateType.SelectedValue == "Relative") + { + ConfigDB.SaveConfigString(userID, key, "r: "+relDate.Text); + } + } protected void returnToSettings(object sender, CommandEventArgs e) { if (mode == "read") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |