コード例 #1
0
        private void LocalizePage()
        {
            _menuIndex = (Request["menuindex"] == null) ? -1 : Convert.ToInt32(Request["menuindex"]);

            PageBase          page = (PageBase)Page;
            INSurveyPrincipal user = page.NSurveyUser;

            if (!page.IsSingleUserMode(false) && user.Identity.IsAuthenticated)
            {
                MenuUserName.Visible = true;
            }
            MenuUserName.Text = page.GetPageResource("LoggedInAs") + " " + page.NSurveyUser.Identity.FirstName + " " + page.NSurveyUser.Identity.LastName;

            if (!page.IsSingleUserMode(false) && user.Identity.IsAuthenticated)
            {
                LogoutButton.Visible = true;
                LogoutButton.ToolTip = page.GetPageResource("LogOutHyperlink");
//                LogoutButton.Text = page.NSurveyUser.Identity.Name + page.GetPageResource("LoggedInAs");
            }


            ///           if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessHelpFiles))
            ///           {
            ///                HelpButton.Visible = true;
            ///               HelpButton.Text = page.GetPageResource("HelpFilesHyperlink");
            ///           }

            if (mnuMain.Items.Count > 0)
            {
                return;                          // If menu is already populated return
            }
            int menuIndex = 0;


            //Setup Hierarchical Menu based on users Access Rights

            #region Surveys Submenu
            // Setup  "Surveys" SubMenu

            if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSurveySettings) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessMultiLanguages) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessPrivacySettings) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.SurveyLayoutRight) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSurveyList) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.CreateSurvey) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessStats) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSecuritySettings) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.TokenSecurityRight))
            {
                mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("SurveysHyperLink"), null, null, string.Empty));
                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSurveyList))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("ListSurveyHyperLink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.ListSurveyLink, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.CreateSurvey))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("NewSurveyHyperLink"), null, null, string.Format("{0}&surveyid={1}", UINavigator.CreateSurveyLink, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessStats))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyStatsHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyStats, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSurveySettings) ||
                    ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessMultiLanguages) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessPrivacySettings) ||
                    ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.SurveyLayoutRight))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyOptionsHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyOptionsLink, SurveyId)));

                    if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSurveySettings))
                    {
                        mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                        Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyInformationHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyOptionsLink, SurveyId)));
                    }

                    if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessMultiLanguages))
                    {
                        mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                        Add(new MenuItem(((PageBase)Page).GetPageResource("MultiLanguagesHyperLink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.MultiLanguagesHyperLink, SurveyId)));
                    }

                    if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessPrivacySettings))
                    {
                        mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                        Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyInfoCompletion"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyPrivacyLink, SurveyId)));
                    }
                }
                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSecuritySettings) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.TokenSecurityRight))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("SurveySecurityHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveySecurityLink, SurveyId)));

                    if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessSecuritySettings))
                    {
                        mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                        Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyFormSecurityHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveySecurityLink, SurveyId)));
                    }
                    if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.TokenSecurityRight))
                    {
                        mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                        Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyTokenSecurityHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyTokenSecurityLink, SurveyId)));
                    }
                    mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                    Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyIPRangeSecurityHyperlink"), null, null, string.Format("{0}", UINavigator.SurveyIPSecurityLink)));
                }


                menuIndex++;
            }
            #endregion

            #region Designer
            if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessFormBuilder) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessLibrary) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.ManageLibrary) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessQuestionGroupRight) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessAnswerTypeEditor) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessRegExEditor))
            {
                mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("DesignerHyperlink"), null, null, String.Empty));
                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessFormBuilder))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyBuilderHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyContentBuilderLink, SurveyId)));
                }


                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessLibrary) ||
                    ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.ManageLibrary))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("LocalLibraryHyperLink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.LibraryDirectoryHyperLink, SurveyId)));

                    if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessLibrary))
                    {
                        mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                        Add(new MenuItem(((PageBase)Page).GetPageResource("LibraryListHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.LibraryDirectoryHyperLink, SurveyId)));
                    }

                    if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.ManageLibrary))
                    {
                        mnuMain.Items[menuIndex].ChildItems[mnuMain.Items[menuIndex].ChildItems.Count - 1].ChildItems.
                        Add(new MenuItem(((PageBase)Page).GetPageResource("CreateLibraryHyperlink"), null, null, string.Format("{0}&surveyid={1}", UINavigator.LibraryCreateHyperLink, SurveyId)));
                    }
                }


                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessQuestionGroupRight))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("QuestionGroupsHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.QuestionGroupsLink, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessAnswerTypeEditor))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("TypeBuilderHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.TypeEditor, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessRegExEditor))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("RegExLibHyperLink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.RegExEditorHyperLink, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.SurveyLayoutRight))
                {
                    mnuMain.Items[menuIndex].ChildItems.
                    Add(new MenuItem(((PageBase)Page).GetPageResource("SurveyLayoutHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyLayoutLink, SurveyId)));
                }

                menuIndex++;
            }

            #endregion

            #region Results

            if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessReports) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.CreateResultsFilter) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessFileManager) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.DataImportRight) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessExport))
            {
                mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("ResultsSMHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.ResultsReportHyperlink, SurveyId)));

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessReports))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("ResultsReportHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.ResultsReportHyperlink, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.CreateResultsFilter))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("FiltersHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.FilterEditor, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessFileManager))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("FileManagerHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.FileManagerHyperLink, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessExport))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("DataExportHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.ExportData, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.DataImportRight))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("DataImportHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.DataImportHyperLink, SurveyId)));
                }
                menuIndex++;
            }
            #endregion

            #region Campaigns
            if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.TakeSurvey) ||
                ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessASPNetCode) || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessMailing))
            {
                // mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("CampaignSMHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.CampaignPreViewHyperLink, SurveyId)));
                mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("CampaignSMHyperlink"), null, null, String.Empty));

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin ||
                    ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessASPNetCode))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("CampaignPreviewHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.CampaignPreViewHyperLink, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessASPNetCode))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("ASPNETCodeHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.ASPNETCode, SurveyId)));
                }

                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessMailing))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("MailingHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.SurveyMailing, SurveyId)));

                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("MailingStatusHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.MailingStatus, SurveyId)));

                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("MailingLogHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.MailingLogHyperLink, SurveyId)));
                }
                if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.TakeSurvey))
                {
                    mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("TakeSurveyHyperLink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.TakeSurveyHyperLink, SurveyId)));
                }

                menuIndex++;
            }
            #endregion

            #region Accounts
            if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessUserManager))
            {
                mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("AccountSMHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.UsersManagerHyperLink, SurveyId)));

                mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("UsersManagerHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.UsersManagerHyperLink, SurveyId)));

                mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("RolesManagerHyperlink"), null, null, string.Format("{0}&surveyid={1}", UINavigator.RolesManagerHyperLink, SurveyId)));

                mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("ImportUsersHyperlink"), null, null, string.Format("{0}&surveyid={1}", UINavigator.ImportUsersHyperLink, SurveyId)));

                menuIndex++;
            }
            #endregion

            #region Help
            if (((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).NSurveyUser.HasRight(NSurveyRights.AccessHelpFiles))
            {
                mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("HelpSMHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.HelpOptionsHyperLink, SurveyId)));

                mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("HelpOptionsHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.HelpOptionsHyperLink, SurveyId)));

                mnuMain.Items[menuIndex].ChildItems.Add(new MenuItem(((PageBase)Page).GetPageResource("HelpFilesHyperlink"), null, null, string.Format("{0}?surveyid={1}", UINavigator.HelpFilesHyperLink, SurveyId)));


                menuIndex++;
            }
            #endregion

            //Add Take Survey
            //   mnuMain.Items.Add(new MenuItem(((PageBase)Page).GetPageResource("TakeSurveyHyperLink"), null, null, string.Format("{0}?surveyid={1}",UINavigator.TakeSurveyHyperLink,SurveyId)));
        }
コード例 #2
0
        /// <summary>
        /// Navigates to the first url a user has access to
        /// </summary>
        public static void NavigateToFirstAccess(INSurveyPrincipal user, int surveyId)
        {
            string destURL = AccessDeniedHyperLink;

            if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSurveyList))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyList);
            }

            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessStats))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyStats, surveyId, (int)NavigationMenuItems.SurveyStats);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessReports))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", ResultsReportHyperlink, surveyId, (int)NavigationMenuItems.ResultsReport);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSurveySettings))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyOptionsLink, surveyId, (int)NavigationMenuItems.SurveyOptions);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.CreateSurvey))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", CreateSurveyLink, surveyId, (int)NavigationMenuItems.NewSurvey);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessFormBuilder))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyContentBuilderLink, surveyId, (int)NavigationMenuItems.SurveyBuilder);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessMailing))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyMailing, surveyId, (int)NavigationMenuItems.Mailing);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessASPNetCode))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", ASPNETCode, surveyId, (int)NavigationMenuItems.ASPNetCode);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.TakeSurvey))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", TakeSurveyHyperLink, surveyId, (int)NavigationMenuItems.TakeSurvey);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessLibrary))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", LibraryDirectoryHyperLink, surveyId, (int)NavigationMenuItems.TheLibrary);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSecuritySettings))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveySecurityLink, surveyId, (int)NavigationMenuItems.SurveySecurity);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessUserManager))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", UsersManagerHyperLink, surveyId, (int)NavigationMenuItems.UsersManager);
            }
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessHelpFiles))
            {
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", HelpFilesHyperLink, surveyId, (int)NavigationMenuItems.HelpFiles);
            }
            //else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSurveyList))
            //   destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyList);

            // global override redirect url
            // option one: leads to unwanted SurveyTaker Not authorised message
            //destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyOptions);
            //destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyList);
            // option two: option to avoid SurveyTaker NA message; however why should you do a global override anyway? just leave it out.
            //destURL = string.Format("{0}?surveyid={1}&menuindex={2}", TakeSurveyHyperLink, surveyId, (int)NavigationMenuItems.TakeSurvey);
            HttpContext.Current.Response.Redirect(destURL);
        }
コード例 #3
0
        /// <summary>
        /// Navigates to the first url a user has access to
        /// </summary>
        public static void NavigateToFirstAccess(INSurveyPrincipal user, int surveyId)
        {
            string destURL = AccessDeniedHyperLink;

            if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSurveyList))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyList);
            
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessStats))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyStats, surveyId, (int)NavigationMenuItems.SurveyStats);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessReports))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", ResultsReportHyperlink, surveyId, (int)NavigationMenuItems.ResultsReport);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSurveySettings))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyOptionsLink, surveyId, (int)NavigationMenuItems.SurveyOptions);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.CreateSurvey))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", CreateSurveyLink, surveyId, (int)NavigationMenuItems.NewSurvey);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessFormBuilder))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyContentBuilderLink, surveyId, (int)NavigationMenuItems.SurveyBuilder);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessMailing))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyMailing, surveyId, (int)NavigationMenuItems.Mailing);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessASPNetCode))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", ASPNETCode, surveyId, (int)NavigationMenuItems.ASPNetCode);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.TakeSurvey))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", TakeSurveyHyperLink, surveyId, (int)NavigationMenuItems.TakeSurvey);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessLibrary))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", LibraryDirectoryHyperLink, surveyId, (int)NavigationMenuItems.TheLibrary);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSecuritySettings))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveySecurityLink, surveyId, (int)NavigationMenuItems.SurveySecurity);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessUserManager))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", UsersManagerHyperLink, surveyId, (int)NavigationMenuItems.UsersManager);
            else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessHelpFiles))
                destURL = string.Format("{0}?surveyid={1}&menuindex={2}", HelpFilesHyperLink, surveyId, (int)NavigationMenuItems.HelpFiles);
            //else if (user.Identity.IsAdmin || user.HasRight(NSurveyRights.AccessSurveyList))
            //   destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyList);

            // global override redirect url
            // option one: leads to unwanted SurveyTaker Not authorised message
            //destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyOptions);
            //destURL = string.Format("{0}?surveyid={1}&menuindex={2}", SurveyListHyperLink, surveyId, (int)NavigationMenuItems.SurveyList);
            // option two: option to avoid SurveyTaker NA message; however why should you do a global override anyway? just leave it out.
            //destURL = string.Format("{0}?surveyid={1}&menuindex={2}", TakeSurveyHyperLink, surveyId, (int)NavigationMenuItems.TakeSurvey);
            HttpContext.Current.Response.Redirect(destURL);
        }