public AppAreaDescriptor(string title, string link, string description, tabID id) { Title = title; Link = link; Description = description; TabID = id; }
private bool IsAuthorizedForTab(tabID sidebarTab, Profile pf) { switch (sidebarTab) { case tabID.admUsers: return(pf.CanSupport); case tabID.admModels: case tabID.admManufacturers: case tabID.admAircraft: case tabID.admImages: case tabID.admAirports: case tabID.admProperties: case tabID.admEndorsements: case tabID.admAchievements: case tabID.admMisc: return(pf.CanManageData); case tabID.admFAQ: return(pf.CanSupport || pf.CanManageData); case tabID.admDonations: return(pf.CanManageMoney); case tabID.admStats: return(pf.CanReport); default: return(false); } }
private void SetSidebarTab(tabID sidebarTab, string szPref) { switch (sidebarTab) { case tabID.pftAccount: case tabID.pftName: case tabID.pftPass: case tabID.pftQA: mvProfile.SetActiveView(vwAccount); Master.SelectedTab = tabID.pftAccount; break; case tabID.pftPrefs: mvProfile.SetActiveView(vwPrefs); break; case tabID.pftPilotInfo: mvProfile.SetActiveView(vwPilotInfo); break; // Backwards compatibility: we moved instructors/students/endorsements/signing to InstStudent, but may still be requested here. // Redirect for any of those case tabID.instEndorsements: case tabID.instSignFlights: case tabID.instStudents: case tabID.instInstructors: Response.Redirect(Request.Url.PathAndQuery.Replace("EditProfile.aspx", String.Format(CultureInfo.InvariantCulture, "Training.aspx/{0}", szPref)).Replace(String.Format(CultureInfo.InvariantCulture, "pref={0}", szPref), string.Empty).Replace("?&", "?")); break; case tabID.pftDonate: mvProfile.SetActiveView(vwDonate); break; } }
protected void Page_Load(object sender, EventArgs e) { Profile pf = Profile.GetUser(Page.User.Identity.Name); CheckAdmin(pf.CanDoSomeAdmin); tabID sidebarTab = tabID.admUsers; if (!IsPostBack) { string szPage = util.GetStringParam(Request, "t"); if (!String.IsNullOrEmpty(szPage)) { if (!Enum.TryParse <tabID>(szPage, out sidebarTab)) { sidebarTab = tabID.admUsers; } } CheckAdmin(IsAuthorizedForTab(sidebarTab, pf)); switch (sidebarTab) { default: case tabID.admUsers: mvAdmin.SetActiveView(vwUsers); mvMain.SetActiveView(vwMainUsers); break; case tabID.admManufacturers: mvAdmin.SetActiveView(vwManufacturers); mvMain.SetActiveView(vwMainManufacturers); break; case tabID.admMisc: mvAdmin.SetActiveView(vwMisc); mvMain.SetActiveView(vwMainMisc); DisplayMemStats(); break; case tabID.admModels: mvAdmin.SetActiveView(vwModels); mvMain.SetActiveView(vwMainModels); RefreshDupeModels(); break; } hdnActiveTab.Value = sidebarTab.ToString(); } else { sidebarTab = (tabID)Enum.Parse(typeof(tabID), hdnActiveTab.Value); } Master.SelectedTab = sidebarTab; }
private void InitAccount(tabID sidebarTab) { txtFirst.Text = m_pf.FirstName; txtLast.Text = m_pf.LastName; txtEmail2.Text = txtEmail.Text = m_pf.Email; lblQuestion.Text = m_pf.SecurityQuestion; txtAddress.Text = m_pf.Address; accordianAccount.SelectedIndex = (sidebarTab == tabID.pftQA) ? 2 : (sidebarTab == tabID.pftPass ? 1 : 0); }
/// <summary> /// Creates a new TabItem with specific parameters /// </summary> /// <param name="szLink">The link</param> /// <param name="tabID">The ID</param> /// <param name="szRoles">The roles, if any</param> public TabItem(string szLink, tabID id, string szRoles) : this() { Link = szLink; ID = id; if (!String.IsNullOrEmpty(szRoles)) { string[] rgRoles = szRoles.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string sz in rgRoles) { Roles.Add((ProfileRoles.UserRoles)Enum.Parse(typeof(ProfileRoles.UserRoles), sz)); } } }
private void InitAccount(tabID sidebarTab) { lblMemberSince.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberSince, m_pf.CreationDate); lblLastLogin.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastLogon, m_pf.LastLogon); lblLastActivity.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastActivity, m_pf.LastActivity); itemLastActivity.Visible = m_pf.LastActivity.Date.CompareTo(m_pf.LastLogon.Date) != 0; lblPasswordStatus.Text = m_pf.LastPasswordChange.CompareTo(m_pf.CreationDate) == 0 ? Resources.LocalizedText.MemberOriginalPassword : String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastPassword, m_pf.LastPasswordChange); txtFirst.Text = m_pf.FirstName; txtLast.Text = m_pf.LastName; txtEmail2.Text = txtEmail.Text = m_pf.Email; lblQuestion.Text = m_pf.SecurityQuestion; txtAddress.Text = m_pf.Address; accordianAccount.SelectedIndex = (sidebarTab == tabID.pftQA) ? 2 : (sidebarTab == tabID.pftPass ? 1 : 0); }
public TabList ChildTabList(tabID id) { TabList tl = new TabList(); foreach (TabItem ti in Tabs) { if (ti.ID == id) { tl.Tabs = ti.Children; break; } } return(tl); }
/// <summary> /// Returns the top-level tab associated with this tabID /// </summary> /// <param name="id">The ID to find</param> /// <returns>The top-level tab, or tabUnknown if not found.</returns> public tabID TopLevelTab(tabID id) { tabID tiResult = tabID.tabUnknown; foreach (TabItem ti in Tabs) { if (ti.ID == id || ContainsTab(ti.Children, id)) { return(ti.ID); } } return(tiResult); }
protected void Page_Load(object sender, EventArgs e) { m_pf = MyFlightbook.Profile.GetUser(User.Identity.Name); if (!Request.IsSecureConnection && !Request.IsLocal) { Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://")); } lblName.Text = String.Format(CultureInfo.CurrentCulture, Resources.Profile.EditProfileHeader, m_pf.UserFullName); this.Master.Title = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.TitleProfile, Branding.CurrentBrand.AppName); // sidebar doesn't store it's state, so just set the currenttab each time. tabID sidebarTab = SetUpSidebar(); Page.ClientScript.RegisterClientScriptInclude("ListDrag", ResolveClientUrl("~/Public/Scripts/listdrag.js?v=5")); if (!IsPostBack) { // Set pilot info validation group util.SetValidationGroup(mfbTypeInDateCFIExpiration, btnUpdatePilotInfo.ValidationGroup); util.SetValidationGroup(dateMedical, btnUpdatePilotInfo.ValidationGroup); // Set up per-section information switch (sidebarTab) { case tabID.pftAccount: case tabID.pftName: case tabID.pftPass: case tabID.pftQA: InitAccount(sidebarTab); break; case tabID.pftPilotInfo: InitPilotInfo(); break; case tabID.pftPrefs: InitPrefs(); break; case tabID.pftDonate: InitDonations(); break; } } }
private static bool IsAuthorizedForTab(tabID sidebarTab, Profile pf) { switch (sidebarTab) { case tabID.admUsers: return(pf.CanSupport); case tabID.admModels: case tabID.admManufacturers: case tabID.admAirports: case tabID.admMisc: return(pf.CanManageData); default: return(false); } }
private void InitAccount(tabID sidebarTab) { lblMemberSince.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberSince, m_pf.CreationDate); lblLastLogin.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastLogon, m_pf.LastLogon); lblLastActivity.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastActivity, m_pf.LastActivity); itemLastActivity.Visible = m_pf.LastActivity.Date.CompareTo(m_pf.LastLogon.Date) != 0; lblPasswordStatus.Text = m_pf.LastPasswordChange.CompareTo(m_pf.CreationDate) == 0 ? Resources.LocalizedText.MemberOriginalPassword : String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastPassword, m_pf.LastPasswordChange); txtFirst.Text = m_pf.FirstName; txtFirst.Attributes["oninput"] = "javascript:updateGreeting(this);"; txtLast.Text = m_pf.LastName; lblStaticEmail.Text = HttpUtility.HtmlEncode(txtEmail2.Text = txtEmail.Text = m_pf.Email); wmeGreeting.WatermarkText = String.IsNullOrEmpty(m_pf.FirstName) ? Resources.Profile.accountPreferredGreetingWatermark : m_pf.FirstName; string szPreferredGreeting = m_pf.PreferredGreeting.Trim(); if (szPreferredGreeting.CompareCurrentCultureIgnoreCase(m_pf.UserFirstName.Trim()) == 0) { txtPreferredGreeting.Text = string.Empty; lblFullName.Text = HttpUtility.HtmlEncode(m_pf.UserFullName); } else { txtPreferredGreeting.Text = szPreferredGreeting; lblFullName.Text = HttpUtility.HtmlEncode(String.Format(CultureInfo.CurrentCulture, "{0} ({1})", m_pf.UserFullName, szPreferredGreeting)); } lblQuestion.Text = HttpUtility.HtmlEncode(m_pf.SecurityQuestion); lblAddress.Text = HttpUtility.HtmlEncode(txtAddress.Text = m_pf.Address); dateDOB.Date = m_pf.DateOfBirth ?? DateTime.MinValue; accordianAccount.SelectedIndex = (sidebarTab == tabID.pftQA) ? 2 : (sidebarTab == tabID.pftPass ? 1 : 0); string szEmailVerify = util.GetStringParam(Request, "ve"); if (!String.IsNullOrEmpty(szEmailVerify)) { if (m_pf.VerifyEmail(szEmailVerify, out string verifiedEmail, out string szerr)) { m_pf.AddVerifiedEmail(verifiedEmail); lblVerifyResult.Text = HttpUtility.HtmlEncode(String.Format(CultureInfo.CurrentCulture, Resources.Profile.accountVerifyValidated, verifiedEmail)); lblVerifyResult.CssClass = "success"; } else { lblVerifyResult.Text = szerr; lblVerifyResult.CssClass = "error"; } }
private void InitAccount(tabID sidebarTab) { lblMemberSince.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberSince, m_pf.CreationDate); lblLastLogin.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastLogon, m_pf.LastLogon); lblLastActivity.Text = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastActivity, m_pf.LastActivity); itemLastActivity.Visible = m_pf.LastActivity.Date.CompareTo(m_pf.LastLogon.Date) != 0; lblPasswordStatus.Text = m_pf.LastPasswordChange.CompareTo(m_pf.CreationDate) == 0 ? Resources.LocalizedText.MemberOriginalPassword : String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.MemberLastPassword, m_pf.LastPasswordChange); txtFirst.Text = m_pf.FirstName; txtFirst.Attributes["oninput"] = "javascript:updateGreeting(this);"; txtLast.Text = m_pf.LastName; lblStaticEmail.Text = txtEmail2.Text = txtEmail.Text = m_pf.Email; wmeGreeting.WatermarkText = String.IsNullOrEmpty(m_pf.FirstName) ? Resources.Profile.accountPreferredGreetingWatermark : m_pf.FirstName; string szPreferredGreeting = m_pf.PreferredGreeting.Trim(); if (szPreferredGreeting.CompareCurrentCultureIgnoreCase(m_pf.UserFirstName.Trim()) == 0) { txtPreferredGreeting.Text = string.Empty; lblFullName.Text = m_pf.UserFullName; } else { txtPreferredGreeting.Text = szPreferredGreeting; lblFullName.Text = String.Format(CultureInfo.CurrentCulture, "{0} ({1})", m_pf.UserFullName, szPreferredGreeting); } lblQuestion.Text = m_pf.SecurityQuestion; lblAddress.Text = txtAddress.Text = m_pf.Address; accordianAccount.SelectedIndex = (sidebarTab == tabID.pftQA) ? 2 : (sidebarTab == tabID.pftPass ? 1 : 0); if (m_pf.PreferenceExists(MFBConstants.keyTFASettings)) { mvBigRedButtons.SetActiveView(vwStaticRedButtons); tfaBRB.AuthCode = m_pf.GetPreferenceForKey(MFBConstants.keyTFASettings) as string; } else { mvBigRedButtons.SetActiveView(vwRedButtons); } fuHdSht.Attributes["onchange"] = "javascript:hdshtUpdated();"; SetHeadShot(); txtCell.Text = m_pf.MobilePhone; }
/// <summary> /// Determines if the specified list contains the specified tab somewhere in its children /// </summary> /// <param name="lst">The list of tabitems</param> /// <param name="id">The ID to find</param> /// <returns>True if it does</returns> static public bool ContainsTab(IEnumerable <TabItem> lst, tabID id) { if (lst == null) { throw new ArgumentNullException("lst"); } foreach (TabItem ti in lst) { if (ti.ID == id) { return(true); } if (ContainsTab(ti.Children, id)) { return(true); } } return(false); }
private tabID SetUpSidebar() { tabID sidebarTab = tabID.tabUnknown; string szPrefPath = String.IsNullOrWhiteSpace(Request.PathInfo) ? string.Empty : Request.PathInfo.Substring(1); string[] rgPrefPath = szPrefPath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); string szPref = util.GetStringParam(Request, "pref"); if (rgPrefPath.Length > 0 && !String.IsNullOrEmpty(rgPrefPath[0]) && Enum.TryParse(rgPrefPath[0], out tabID tid)) { sidebarTab = tid; } if (sidebarTab == tabID.tabUnknown && !String.IsNullOrEmpty(szPref)) { // Backwards compatibility - redirect if using the szPref method if (Enum.TryParse(szPref, out tabID tid2)) { sidebarTab = tid2; // Redirect now using PathInfo scheme string szNew = Request.Url.PathAndQuery.Replace(".aspx", String.Format(CultureInfo.InvariantCulture, ".aspx/{0}", szPref)).Replace(String.Format(CultureInfo.InvariantCulture, "pref={0}", szPref), string.Empty).Replace("?&", "?"); Response.Redirect(szNew, true); return(sidebarTab); } } if (sidebarTab == tabID.tabUnknown) { sidebarTab = HandleUnknownSidebar(szPref); } this.Master.SelectedTab = sidebarTab; SetSidebarTab(sidebarTab, szPref); return(sidebarTab); }
protected void Page_Load(object sender, EventArgs e) { m_pf = MyFlightbook.Profile.GetUser(User.Identity.Name); if (!Request.IsSecureConnection && !Request.IsLocal) { Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://")); } lblName.Text = String.Format(CultureInfo.CurrentCulture, Resources.Profile.TrainingHeader, m_pf.UserFullName); this.Master.Title = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.TitleTraining, Branding.CurrentBrand.AppName); // sidebar doesn't store it's state, so just set the currenttab each time. tabID sidebarTab = tabID.tabUnknown; string szPrefPath = String.IsNullOrWhiteSpace(Request.PathInfo) ? string.Empty : Request.PathInfo.Substring(1); string[] rgPrefPath = szPrefPath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); if (rgPrefPath.Length > 0 && !String.IsNullOrEmpty(rgPrefPath[0]) && Enum.TryParse <tabID>(rgPrefPath[0], out tabID tabid)) { sidebarTab = tabid; } if (sidebarTab == tabID.tabUnknown) { sidebarTab = tabID.instInstructors; } this.Master.SelectedTab = sidebarTab; switch (sidebarTab) { case tabID.instEndorsements: mvProfile.SetActiveView(vwEndorsements); break; case tabID.instSignFlights: mvProfile.SetActiveView(vwSignFlights); break; case tabID.instStudents: mvProfile.SetActiveView(vwStudents); break; case tabID.instInstructors: mvProfile.SetActiveView(vwInstructors); break; } if (!IsPostBack) { switch (sidebarTab) { case tabID.instEndorsements: if (Request.IsMobileDevice()) { mfbIlEndorsements.Columns = 1; } mfbIlEndorsements.Key = User.Identity.Name; mfbIlEndorsements.Refresh(); mfbEndorsementList1.Student = Page.User.Identity.Name; mfbEndorsementList1.RefreshEndorsements(); if (!Request.IsMobileDeviceOrTablet()) { mfbMultiFileUpload1.Mode = Controls_mfbMultiFileUpload.UploadMode.Ajax; } lnkPrintFriendly.NavigateUrl = String.Format(CultureInfo.InvariantCulture, "{0}?naked=1&print=1", Request.Url.AbsolutePath); if (util.GetIntParam(Request, "print", 0) != 0) { lnkPrintFriendly.Visible = mfbIlEndorsements.Visible = mfbMultiFileUpload1.Visible = false; List <MyFlightbook.Image.MFBImageInfo> lstInlineImages = new List <MyFlightbook.Image.MFBImageInfo>(mfbIlEndorsements.Images.ImageArray); lstInlineImages.RemoveAll(mfbii => mfbii.ImageType != MyFlightbook.Image.MFBImageInfo.ImageFileType.JPEG); rptEndorsementImages.DataSource = lstInlineImages; rptEndorsementImages.DataBind(); } break; case tabID.instSignFlights: RefreshFlightsToBeSigned(); break; case tabID.instStudents: SetUpStudents(); break; } } // Need to do these on every page load to recreate links, etc. switch (sidebarTab) { case tabID.instSignFlights: case tabID.instStudents: case tabID.instInstructors: case tabID.instEndorsements: this.Master.ShowSponsoredAd = false; m_sm = new CFIStudentMap(User.Identity.Name); RefreshStudentsAndInstructors(); break; } }
protected void Page_Load(object sender, EventArgs e) { Profile pf = MyFlightbook.Profile.GetUser(Page.User.Identity.Name); if (!pf.CanDoSomeAdmin) { RejectUser(); } tabID sidebarTab = tabID.admUsers; if (!IsPostBack) { string szPage = util.GetStringParam(Request, "t"); if (!String.IsNullOrEmpty(szPage)) { if (!Enum.TryParse <tabID>(szPage, out sidebarTab)) { sidebarTab = tabID.admUsers; } } if (!IsAuthorizedForTab(sidebarTab, pf)) { RejectUser(); return; } switch (sidebarTab) { default: case tabID.admUsers: mvAdmin.SetActiveView(vwUsers); mvMain.SetActiveView(vwMainUsers); break; case tabID.admEndorsements: mvAdmin.SetActiveView(vwEndorsementTemplates); mvMain.SetActiveView(vwMainEndorsements); break; case tabID.admImages: mvAdmin.SetActiveView(vwImages); mvMain.SetActiveView(vwMainImages); btnDeleteS3Debug.Visible = AWSConfiguration.UseDebugBucket; break; case tabID.admManufacturers: mvAdmin.SetActiveView(vwManufacturers); mvMain.SetActiveView(vwMainManufacturers); break; case tabID.admMisc: mvAdmin.SetActiveView(vwMisc); mvMain.SetActiveView(vwMainMisc); break; case tabID.admModels: mvAdmin.SetActiveView(vwModels); mvMain.SetActiveView(vwMainModels); break; case tabID.admProperties: mvAdmin.SetActiveView(vwProperties); mvMain.SetActiveView(vwMainProperties); break; case tabID.admAircraft: ScriptManager.GetCurrent(this).AsyncPostBackTimeout = 1500; // use a long timeout mvAdmin.SetActiveView(vwAircraft); mvMain.SetActiveView(vwMainAircraft); break; case tabID.admDonations: mvAdmin.SetActiveView(vwDonations); mvMain.SetActiveView(vwMainDonations); RefreshDonations(); util.SetValidationGroup(pnlTestTransaction, "valTestTransaction"); dateTestTransaction.Date = DateTime.Now; break; case tabID.admAchievements: mvAdmin.SetActiveView(vwAchievements); mvMain.SetActiveView(vwMainAchievements); break; } hdnActiveTab.Value = sidebarTab.ToString(); } else { sidebarTab = (tabID)Enum.Parse(typeof(tabID), hdnActiveTab.Value); } Master.SelectedTab = sidebarTab; }
public static string Description(this tabID id) { switch (id) { default: throw new ArgumentOutOfRangeException(nameof(id)); case tabID.tabUnknown: return(string.Empty); case tabID.tabHome: return(Resources.Tabs.TabHome); case tabID.tabLogbook: return(Resources.Tabs.TabLogbook); case tabID.tabAircraft: return(Resources.Tabs.TabAircraft); case tabID.tabMaps: return(Resources.Tabs.TabAirports); case tabID.tabTraining: return(Resources.Tabs.TabInstruction); case tabID.tabProfile: return(Resources.Tabs.TabProfile); case tabID.tabAdmin: return(Resources.Tabs.TabAdmin); //Logbook case tabID.lbtAddNew: return(Resources.Tabs.LogbookAdd); case tabID.lbtFindFlights: return(Resources.Tabs.LogbookFind); case tabID.lbtTotals: return(Resources.Tabs.LogbookTotals); case tabID.lbtCurrency: return(Resources.Tabs.LogbookCurrency); case tabID.lbtTrends: return(Resources.Tabs.LogbookAnalysis); case tabID.lbtDownload: return(Resources.Tabs.LogbookDownload); case tabID.lbtImport: return(Resources.Tabs.LogbookImport); case tabID.lbtStartingTotals: return(Resources.Tabs.LogbookStartingTotals); case tabID.lbtPrintView: return(Resources.Tabs.LogbookPrintView); case tabID.lbtPending: return(Resources.Tabs.LogbookPending); case tabID.lbtCheckFlights: return(Resources.Tabs.LogbookCheckFlights); // Profile case tabID.pftAccount: return(Resources.Tabs.ProfileAccount); case tabID.pftPrefs: return(Resources.Tabs.ProfilePreferences); case tabID.pftPilotInfo: return(Resources.Tabs.ProfilePilotInformation); case tabID.pftDonate: return(Resources.Tabs.ProfileDonate); case tabID.pftName: return(Resources.Tabs.ProfileName); case tabID.pftPass: return(Resources.Tabs.ProfilePassword); case tabID.pftQA: return(Resources.Tabs.ProfileQA); // Training case tabID.instEndorsements: return(Resources.Tabs.InstructionEndorsements); case tabID.instSignFlights: return(Resources.Tabs.InstructionSignedFlights); case tabID.instStudents: return(Resources.Tabs.InstructionStudents); case tabID.instInstructors: return(Resources.Tabs.InstructionInstructors); case tabID.instProgressTowardsMilestones: return(Resources.Tabs.InstructionProgress); case tabID.instAchievements: return(Resources.Tabs.InstructionAchievements); case tabID.inst8710: return(Resources.Tabs.Instruction8710); case tabID.instModelRollup: return(Resources.Tabs.InstructionRollupModel); case tabID.instTimeRollup: return(Resources.Tabs.InstructionRollupTime); // Map case tabID.mptRoute: return(Resources.Tabs.MapRoutes); case tabID.mptFindAirport: return(Resources.Tabs.MapFind); case tabID.mptAddAirports: return(Resources.Tabs.MapAdd); case tabID.mptVisited: return(Resources.Tabs.MapVisited); case tabID.mptQuiz: return(Resources.Tabs.MapQuiz); // Aircraft case tabID.actMyAircraft: return(Resources.Tabs.MyAircraft); case tabID.actImportAircraft: return(Resources.Tabs.ImportAircraft); case tabID.actMakes: return(Resources.Tabs.TabMakes); case tabID.actMyClubs: return(Resources.Tabs.Clubs); // Admin Tabs case tabID.admUsers: return(Resources.Tabs.AdminUsers); case tabID.admModels: return(Resources.Tabs.AdminModels); case tabID.admProperties: return(Resources.Tabs.AdminProperties); case tabID.admStats: return(Resources.Tabs.AdminStats); case tabID.admManufacturers: return(Resources.Tabs.AdminManufacturers); case tabID.admImages: return(Resources.Tabs.AdminImages); case tabID.admAirports: return(Resources.Tabs.AdminAirports); case tabID.admEndorsements: return(Resources.Tabs.AdminEndorsements); case tabID.admFAQ: return(Resources.Tabs.AdminFAQ); case tabID.admAircraft: return(Resources.Tabs.AdminAircraft); case tabID.admDonations: return(Resources.Tabs.AdminDonations); case tabID.admAchievements: return(Resources.Tabs.AdminAchievements); case tabID.admMisc: return(Resources.Tabs.AdminMisc); case tabID.admTelemetry: return(Resources.Tabs.AdminTelemetry); } }
public TabClickedEventArgs(tabID tid = tabID.tabHome) : base() { TabID = tid; }
private tabID SetUpSidebar() { tabID sidebarTab = tabID.tabUnknown; string szPrefPath = String.IsNullOrWhiteSpace(Request.PathInfo) ? string.Empty : Request.PathInfo.Substring(1); string[] rgPrefPath = szPrefPath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); string szPref = util.GetStringParam(Request, "pref"); if (rgPrefPath.Length > 0 && !String.IsNullOrEmpty(rgPrefPath[0])) { try { sidebarTab = (tabID)Enum.Parse(typeof(tabID), rgPrefPath[0]); } catch (ArgumentException) { } catch (OverflowException) { } } if (sidebarTab == tabID.tabUnknown && !String.IsNullOrEmpty(szPref)) { // Backwards compatibility - redirect if using the szPref method try { sidebarTab = (tabID)Enum.Parse(typeof(tabID), szPref); // Redirect now using PathInfo scheme string szNew = Request.Url.PathAndQuery.Replace(".aspx", String.Format(CultureInfo.InvariantCulture, ".aspx/{0}", szPref)).Replace(String.Format(CultureInfo.InvariantCulture, "pref={0}", szPref), string.Empty).Replace("?&", "?"); Response.Redirect(szNew, true); return(sidebarTab); } catch (ArgumentException) { } catch (OverflowException) { } } if (sidebarTab == tabID.tabUnknown) { // have a less fragile way of linking. switch (szPref) { default: case "name": sidebarTab = tabID.pftName; break; case "pass": sidebarTab = tabID.pftPass; break; case "qa": sidebarTab = tabID.pftQA; break; case "pref": case "email": sidebarTab = tabID.pftPrefs; break; case "pilotinfo": sidebarTab = tabID.pftPilotInfo; break; case "instruction": sidebarTab = tabID.instEndorsements; break; } } this.Master.SelectedTab = sidebarTab; switch (sidebarTab) { case tabID.pftAccount: case tabID.pftName: case tabID.pftPass: case tabID.pftQA: mvProfile.SetActiveView(vwAccount); this.Master.SelectedTab = tabID.pftAccount; break; case tabID.pftPrefs: mvProfile.SetActiveView(vwPrefs); break; case tabID.pftPilotInfo: mvProfile.SetActiveView(vwPilotInfo); break; // Backwards compatibility: we moved instructors/students/endorsements/signing to InstStudent, but may still be requested here. // Redirect for any of those case tabID.instEndorsements: case tabID.instSignFlights: case tabID.instStudents: case tabID.instInstructors: Response.Redirect(Request.Url.PathAndQuery.Replace("EditProfile.aspx", String.Format(CultureInfo.InvariantCulture, "Training.aspx/{0}", szPref)).Replace(String.Format(CultureInfo.InvariantCulture, "pref={0}", szPref), string.Empty).Replace("?&", "?")); break; case tabID.pftDonate: mvProfile.SetActiveView(vwDonate); break; } return(sidebarTab); }