/// <summary> /// Verifies that the settings contain the correct default lists, regenerates the lists if not. /// </summary> public void VerifyDefaultLists() { int numStaffLists = Settings.Count(s => s.ListViewName == "unassigned" || s.ListViewName == "assignedtome"); int numSubmitterLists = Settings.Count(s => s.ListViewName == "mytickets" || s.ListViewName == "opentickets" || s.ListViewName == "historytickets"); if ((((SecurityManager.IsStaff) && (numStaffLists < 2)) || ((!SecurityManager.IsStaff) && (numStaffLists > 0)) || (numSubmitterLists < 3))) { Settings.Clear(); ListViewSettingsCollection.CreateNewSettings(this); Save(); } }
protected void Page_Load() { userSettings = ListViewSettingsCollection.GetSettingsForUser(); string listName = Page.Request.QueryString["list"]; if (string.IsNullOrEmpty(listName)) { int minOrder = userSettings.Settings.Min(us => us.ListViewDisplayOrder); listSetting = userSettings.Settings.SingleOrDefault(us => us.ListViewDisplayOrder == minOrder); listName = listSetting.ListViewName; } listSetting = userSettings.Settings.SingleOrDefault(us => us.ListViewName == listName); Page.Title = string.Format("Система заявок: {0}", listSetting.ListViewDisplayName); ListViewSettingsEditorControl.ListName = listName; ListViewControl.ListName = listName; }
/// <summary> /// Creates a new [empty] settings instance. /// </summary> /// <returns></returns> public static ListViewSettingsCollection CreateNewSettings(ListViewSettingsCollection settingsCollection) { string user = HttpContext.Current.User.Identity.GetFormattedUserName(); List<string> disableStatusColumn = new List<string>(); disableStatusColumn.Add("CurrentStatus"); List<string> disableAssignedColumn = new List<string>(); disableAssignedColumn.Add("AssignedTo"); List<string> disableOwnerColumn = new List<string>(); disableOwnerColumn.Add("Owner"); if (SecurityManager.IsStaff) { //unassigned List<ListViewSortColumn> unassignedSortColumns = new List<ListViewSortColumn>(); List<ListViewFilterColumn> unassignedFilterColumns = new List<ListViewFilterColumn>(); unassignedSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); unassignedFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); unassignedFilterColumns.Add(new ListViewFilterColumn("AssignedTo", null, null)); ListViewSettings unassigned = new ListViewSettings("unassigned", "Unassigned Tickets", 0, 20, unassignedSortColumns, unassignedFilterColumns, disableAssignedColumn); settingsCollection.Settings.Add(unassigned); //assigned to me List<ListViewSortColumn> assignedtomeSortColumns = new List<ListViewSortColumn>(); List<ListViewFilterColumn> assignedtomeFilterColumns = new List<ListViewFilterColumn>(); assignedtomeSortColumns.Add(new ListViewSortColumn("CurrentStatus", ColumnSortDirection.Ascending)); assignedtomeSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); assignedtomeFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); assignedtomeFilterColumns.Add(new ListViewFilterColumn("AssignedTo", true, user)); ListViewSettings assignedtome = new ListViewSettings("assignedtome", "Tickets Assigned To Me", 1, 20, assignedtomeSortColumns, assignedtomeFilterColumns, disableAssignedColumn); settingsCollection.Settings.Add(assignedtome); } int disOrder = (SecurityManager.IsStaff) ? 2 : 0; //if staff display order starts at 2 for the remaining built-in lists, otherwise starts at 0 //my tickets List<ListViewSortColumn> myticketsSortColumns = new List<ListViewSortColumn>(); List<ListViewFilterColumn> myticketsFilterColumns = new List<ListViewFilterColumn>(); myticketsSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); myticketsFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); myticketsFilterColumns.Add(new ListViewFilterColumn("Owner", true, user)); ListViewSettings mytickets = new ListViewSettings("mytickets", "All My Tickets", disOrder, 20, myticketsSortColumns, myticketsFilterColumns, disableOwnerColumn); settingsCollection.Settings.Add(mytickets); //open tickets List<ListViewSortColumn> openSortColumns = new List<ListViewSortColumn>(); List<ListViewFilterColumn> openFilterColumns = new List<ListViewFilterColumn>(); openSortColumns.Add(new ListViewSortColumn("CurrentStatus", ColumnSortDirection.Ascending)); openSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); openFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); ListViewSettings opentickets = new ListViewSettings("opentickets", "All Open Tickets", disOrder + 1, 20, openSortColumns, openFilterColumns, disableStatusColumn); settingsCollection.Settings.Add(opentickets); //history List<ListViewSortColumn> historyticketsSortColumns = new List<ListViewSortColumn>(); List<ListViewFilterColumn> historyticketsFilterColumns = new List<ListViewFilterColumn>(); historyticketsSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); historyticketsFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", true, "closed")); historyticketsFilterColumns.Add(new ListViewFilterColumn("Owner", true, user)); if (SecurityManager.IsStaff) { historyticketsFilterColumns.Add(new ListViewFilterColumn("AssignedTo", true, user)); } ListViewSettings historytickets = new ListViewSettings("historytickets", "Ticket History", disOrder + 2, 20, historyticketsSortColumns, historyticketsFilterColumns, disableStatusColumn); settingsCollection.Settings.Add(historytickets); return settingsCollection; }
/// <summary> /// Creates a new [empty] settings instance. /// </summary> /// <returns></returns> public static ListViewSettingsCollection CreateNewSettings(ListViewSettingsCollection settingsCollection) { string user = HttpContext.Current.User.Identity.GetFormattedUserName(); List <string> disableStatusColumn = new List <string>(); disableStatusColumn.Add("CurrentStatus"); List <string> disableAssignedColumn = new List <string>(); disableAssignedColumn.Add("AssignedTo"); List <string> disableOwnerColumn = new List <string>(); disableOwnerColumn.Add("Owner"); if (SecurityManager.IsStaff) { //unassigned List <ListViewSortColumn> unassignedSortColumns = new List <ListViewSortColumn>(); List <ListViewFilterColumn> unassignedFilterColumns = new List <ListViewFilterColumn>(); unassignedSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); unassignedFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); unassignedFilterColumns.Add(new ListViewFilterColumn("AssignedTo", null, null)); ListViewSettings unassigned = new ListViewSettings("unassigned", "Unassigned Tickets", 0, 20, unassignedSortColumns, unassignedFilterColumns, disableAssignedColumn); settingsCollection.Settings.Add(unassigned); //assigned to me List <ListViewSortColumn> assignedtomeSortColumns = new List <ListViewSortColumn>(); List <ListViewFilterColumn> assignedtomeFilterColumns = new List <ListViewFilterColumn>(); assignedtomeSortColumns.Add(new ListViewSortColumn("CurrentStatus", ColumnSortDirection.Ascending)); assignedtomeSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); assignedtomeFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); assignedtomeFilterColumns.Add(new ListViewFilterColumn("AssignedTo", true, user)); ListViewSettings assignedtome = new ListViewSettings("assignedtome", "Tickets Assigned To Me", 1, 20, assignedtomeSortColumns, assignedtomeFilterColumns, disableAssignedColumn); settingsCollection.Settings.Add(assignedtome); } int disOrder = (SecurityManager.IsStaff) ? 2 : 0; //if staff display order starts at 2 for the remaining built-in lists, otherwise starts at 0 //my tickets List <ListViewSortColumn> myticketsSortColumns = new List <ListViewSortColumn>(); List <ListViewFilterColumn> myticketsFilterColumns = new List <ListViewFilterColumn>(); myticketsSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); myticketsFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); myticketsFilterColumns.Add(new ListViewFilterColumn("Owner", true, user)); ListViewSettings mytickets = new ListViewSettings("mytickets", "All My Tickets", disOrder, 20, myticketsSortColumns, myticketsFilterColumns, disableOwnerColumn); settingsCollection.Settings.Add(mytickets); //open tickets List <ListViewSortColumn> openSortColumns = new List <ListViewSortColumn>(); List <ListViewFilterColumn> openFilterColumns = new List <ListViewFilterColumn>(); openSortColumns.Add(new ListViewSortColumn("CurrentStatus", ColumnSortDirection.Ascending)); openSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); openFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", false, "closed")); ListViewSettings opentickets = new ListViewSettings("opentickets", "All Open Tickets", disOrder + 1, 20, openSortColumns, openFilterColumns, disableStatusColumn); settingsCollection.Settings.Add(opentickets); //history List <ListViewSortColumn> historyticketsSortColumns = new List <ListViewSortColumn>(); List <ListViewFilterColumn> historyticketsFilterColumns = new List <ListViewFilterColumn>(); historyticketsSortColumns.Add(new ListViewSortColumn("LastUpdateDate", ColumnSortDirection.Descending)); historyticketsFilterColumns.Add(new ListViewFilterColumn("CurrentStatus", true, "closed")); historyticketsFilterColumns.Add(new ListViewFilterColumn("Owner", true, user)); if (SecurityManager.IsStaff) { historyticketsFilterColumns.Add(new ListViewFilterColumn("AssignedTo", true, user)); } ListViewSettings historytickets = new ListViewSettings("historytickets", "Ticket History", disOrder + 2, 20, historyticketsSortColumns, historyticketsFilterColumns, disableStatusColumn); settingsCollection.Settings.Add(historytickets); return(settingsCollection); }