/// ----------------------------------------------------------------------------- /// <summary> /// OnInit runs when the Skin is initialised. /// </summary> /// <history> /// [cnurse] 07/04/2005 Documented /// [cnurse] 12/05/2007 Refactored /// [cnurse] 04/17/2009 Refactored to use SkinAdapter /// </history> /// ----------------------------------------------------------------------------- protected override void OnInit(EventArgs e) { base.OnInit(e); //Load the Panes LoadPanes(); //Load the Module Control(s) bool success = Globals.IsAdminControl() ? ProcessSlaveModule() : ProcessMasterModules(); //Load the Control Panel InjectControlPanel(); //Register any error messages on the Skin if (Request.QueryString["error"] != null && Host.ShowCriticalErrors) { AddPageMessage(this, Localization.GetString("CriticalError.Error"), " ", ModuleMessage.ModuleMessageType.RedError); if (UserController.Instance.GetCurrentUserInfo().IsSuperUser) { ServicesFramework.Instance.RequestAjaxScriptSupport(); ServicesFramework.Instance.RequestAjaxAntiForgerySupport(); JavaScript.RequestRegistration(CommonJs.jQueryUI); JavaScript.RegisterClientReference(Page, ClientAPI.ClientNamespaceReferences.dnn_dom); ClientResourceManager.RegisterScript(Page, "~/resources/shared/scripts/dnn.logViewer.js"); } } if (!TabPermissionController.CanAdminPage() && !success) { //only display the warning to non-administrators (administrators will see the errors) AddPageMessage(this, Localization.GetString("ModuleLoadWarning.Error"), string.Format(Localization.GetString("ModuleLoadWarning.Text"), PortalSettings.Email), ModuleMessage.ModuleMessageType.YellowWarning); } InvokeSkinEvents(SkinEventType.OnSkinInit); if (HttpContext.Current != null && HttpContext.Current.Items.Contains(OnInitMessage)) { var messageType = ModuleMessage.ModuleMessageType.YellowWarning; if (HttpContext.Current.Items.Contains(OnInitMessageType)) { messageType = (ModuleMessage.ModuleMessageType)Enum.Parse(typeof(ModuleMessage.ModuleMessageType), HttpContext.Current.Items[OnInitMessageType].ToString(), true); } AddPageMessage(this, string.Empty, HttpContext.Current.Items[OnInitMessage].ToString(), messageType); } //Process the Panes attributes ProcessPanes(); }
public static bool CanShowTab(TabInfo objTab, bool isAdminMode, bool showDisabled, bool showHidden) { //if tab is visible, not deleted, not expired (or admin), and user has permission to see it... if ((objTab.IsVisible || showHidden) && !objTab.IsDeleted && (!objTab.DisableLink || showDisabled) && (((objTab.StartDate < DateTime.Now || objTab.StartDate == Null.NullDate) && (objTab.EndDate > DateTime.Now || objTab.EndDate == Null.NullDate)) || isAdminMode) && TabPermissionController.CanNavigateToPage(objTab)) { return(true); } else { return(false); } }
public override string GetDocUrl(SearchResult searchResult) { var url = Localization.Localization.GetString("SEARCH_NoLink"); var tabController = new TabController(); var tab = tabController.GetTab(searchResult.TabId, searchResult.PortalId, false); if (TabPermissionController.CanViewPage(tab)) { url = Globals.NavigateURL(searchResult.TabId, string.Empty, searchResult.QueryString); } return(url); }
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string TabId = GridView1.DataKeys[e.Row.RowIndex].Value.ToString(); string RoleId = ddlRoleList.SelectedValue; int PermissionId = Convert.ToInt32(ddlPermissionList.SelectedValue); string SelectedTabId = null, UserId = null; TabPermissionController tab_permission_obj = new TabPermissionController(); DataTable dt = tab_permission_obj.GetListByRoleIdPermissionId(RoleId, PermissionId); for (int i = 0; i < dt.Rows.Count; i++) { SelectedTabId = dt.Rows[i]["TabId"].ToString(); if (dt.Rows[i]["UserId"].ToString() != string.Empty) { UserId = dt.Rows[i]["UserId"].ToString(); } else { if (Session["UserId"] != null && Session["UserId"].ToString() != string.Empty) { UserId = Session["UserId"].ToString(); } } if (TabId == SelectedTabId) { CheckBox chkSelectedPermissionRight = (CheckBox)e.Row.Cells[2].FindControl("chkSelectedPermissionRight"); if (chkSelectedPermissionRight != null) { chkSelectedPermissionRight.Checked = true; } CheckBox chkSelectedAllowAccessRight = (CheckBox)e.Row.Cells[3].FindControl("chkSelectedAllowAccessRight"); if (chkSelectedAllowAccessRight != null) { chkSelectedAllowAccessRight.Checked = true; } //TextBox txtUserId = (TextBox)e.Row.Cells[4].FindControl("txtUserId"); //txtUserId.Text = UserId; //txtUserId.Attributes.Add("value", txtUserId.Text); DropDownList ddlUserList = (DropDownList)e.Row.FindControl("ddlUserList"); PopulateUserList(ddlUserList, UserId); } } } }
/// ----------------------------------------------------------------------------- /// <summary> /// ProcessContentPane processes the ContentPane, setting its style and other /// attributes. /// </summary> private void ProcessContentPane() { this.SetAlignment(); this.SetBackground(); this.SetBorder(); // display visual indicator if module is only visible to administrators string viewRoles = this.ModuleConfiguration.InheritViewPermissions ? TabPermissionController.GetTabPermissions(this.ModuleConfiguration.TabID, this.ModuleConfiguration.PortalID).ToString("VIEW") : this.ModuleConfiguration.ModulePermissions.ToString("VIEW"); string pageEditRoles = TabPermissionController.GetTabPermissions(this.ModuleConfiguration.TabID, this.ModuleConfiguration.PortalID).ToString("EDIT"); string moduleEditRoles = this.ModuleConfiguration.ModulePermissions.ToString("EDIT"); viewRoles = viewRoles.Replace(";", string.Empty).Trim().ToLowerInvariant(); pageEditRoles = pageEditRoles.Replace(";", string.Empty).Trim().ToLowerInvariant(); moduleEditRoles = moduleEditRoles.Replace(";", string.Empty).Trim().ToLowerInvariant(); var showMessage = false; var adminMessage = Null.NullString; if (viewRoles.Equals(this.PortalSettings.AdministratorRoleName, StringComparison.InvariantCultureIgnoreCase) && (moduleEditRoles.Equals(this.PortalSettings.AdministratorRoleName, StringComparison.InvariantCultureIgnoreCase) || string.IsNullOrEmpty(moduleEditRoles)) && pageEditRoles.Equals(this.PortalSettings.AdministratorRoleName, StringComparison.InvariantCultureIgnoreCase)) { adminMessage = Localization.GetString("ModuleVisibleAdministrator.Text"); showMessage = !this.ModuleConfiguration.HideAdminBorder && !Globals.IsAdminControl(); } if (this.ModuleConfiguration.StartDate >= DateTime.Now) { adminMessage = string.Format(Localization.GetString("ModuleEffective.Text"), this.ModuleConfiguration.StartDate); showMessage = !Globals.IsAdminControl(); } if (this.ModuleConfiguration.EndDate <= DateTime.Now) { adminMessage = string.Format(Localization.GetString("ModuleExpired.Text"), this.ModuleConfiguration.EndDate); showMessage = !Globals.IsAdminControl(); } if (showMessage) { this.AddAdministratorOnlyHighlighting(adminMessage); } }
private void ModuleMoveToPanePostBack(Utilities.ClientAPIPostBackEventArgs args) { PortalSettings PortalSettings = (PortalSettings)HttpContext.Current.Items["PortalSettings"]; if (TabPermissionController.CanAdminPage()) { int intModuleID = Convert.ToInt32(args.EventArguments["moduleid"]); string strPaneName = Convert.ToString(args.EventArguments["pane"]); int intOrder = Convert.ToInt32(args.EventArguments["order"]); ModuleController objModules = new ModuleController(); objModules.UpdateModuleOrder(PortalSettings.ActiveTab.TabID, intModuleID, intOrder, strPaneName); objModules.UpdateTabModuleOrder(PortalSettings.ActiveTab.TabID); PaneControl.Page.Response.Redirect(PaneControl.Page.Request.RawUrl, true); } }
public void DeletePage(PageItem page) { var portalSettings = PortalController.Instance.GetCurrentPortalSettings(); var tab = TabController.Instance.GetTab(page.Id, portalSettings.PortalId); if (tab == null) { throw new PageNotFoundException(); } if (TabPermissionController.CanDeletePage(tab)) { TabController.Instance.SoftDeleteTab(tab.TabID, portalSettings); } }
public static bool CanViewModule(ModuleInfo objModule) { bool canView = Null.NullBoolean; if (objModule.InheritViewPermissions) { TabInfo objTab = new TabController().GetTab(objModule.TabID, objModule.PortalID, false); canView = TabPermissionController.CanViewPage(objTab); } else { canView = provider.CanViewModule(objModule); } return(canView); }
private int DeleteOldData() { string RoleId = ddlRoleList.SelectedValue; int PermissionId = Convert.ToInt32(ddlPermissionList.SelectedValue); TabPermissionController tab_permission_obj = new TabPermissionController(); DataTable dt = tab_permission_obj.GetListByRoleIdPermissionId(RoleId, PermissionId); int TabPermissionId = -1, result = -1; for (int i = 0; i < dt.Rows.Count; i++) { TabPermissionId = Convert.ToInt32(dt.Rows[i]["TabPermissionId"].ToString()); result = tab_permission_obj.DeleteTabPermission(TabPermissionId); } return(result); }
private void PublishTabInternal(TabInfo tab) { var allUsersRoleId = int.Parse(Globals.glbRoleAllUsers); var existPermission = this.GetAlreadyPermission(tab, "VIEW", allUsersRoleId); if (existPermission != null) { tab.TabPermissions.Remove(existPermission); } tab.TabPermissions.Add(this.GetTabPermissionByRole(tab.TabID, "VIEW", allUsersRoleId)); TabPermissionController.SaveTabPermissions(tab); this.ClearTabCache(tab); }
private void context_PreRequestHandlerExecute(object sender, EventArgs e) { HttpApplication app = (HttpApplication)sender; if (app != null) { HttpContext context = app.Context; //Make sure we have a valid HttpContext and we're not dealing with static requests such as images etc... if (context != null && context.CurrentHandler is CDefault && context.Request.QueryString["popUp"] == null) { PortalSettings p = PortalController.Instance.GetCurrentSettings() as PortalSettings; if (p != null && p.UserInfo != null && TabPermissionController.HasTabPermission("EDIT")) { if (p.ActiveTab != null) { Page _Page = app.Context.CurrentHandler as Page; string TabSkinSrc = p.ActiveTab.SkinSrc != null?p.ActiveTab.SkinSrc.ToLower() : string.Empty; string QuerySkinSrc = context.Request.QueryString["SkinSrc"] != null ? context.Request.QueryString["SkinSrc"].ToLower() : null; if (TabSkinSrc == "[G]Skins/Vanjaro/Base.ascx".ToLower() || QuerySkinSrc == "[G]Skins/Vanjaro/Base".ToLower()) { ToggleUserMode(p); string ControlPanel = HostController.Instance.GetSettings().ContainsKey("ControlPanel") ? HostController.Instance.GetSettings()["ControlPanel"].Value.ToLower() : null; HostController.Instance.GetSettings()["ControlPanel"].Value = "DesktopModules/Vanjaro/UXManager/Library/Base.ascx"; _Page.PreRender += delegate(object ss, EventArgs ee) { HostController.Instance.GetSettings()["ControlPanel"].Value = "DesktopModules/admin/Dnn.PersonaBar/UserControls/PersonaBarContainer.ascx"; }; } else { string NavigateURL = p.ActiveTab.FullUrl; string Script = "<script>var VanjaroMigrate_CurrentTabURL = '" + NavigateURL + "'; </script>"; _Page.ClientScript.RegisterStartupScript(_Page.GetType(), "VJ-HttpMod-Div", Script); } } } } } }
public HttpResponseMessage GetContentLocalizationEnabled() { try { if (!TabPermissionController.CanManagePage()) { return(GetForbiddenResponse()); } return(Request.CreateResponse(HttpStatusCode.OK, new { Success = true, PortalSettings.ContentLocalizationEnabled })); } catch (Exception ex) { Logger.Error(ex); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.ToString())); } }
private bool PermissionsNotProperlySet() { List <PermissionInfoBase> permissions; if (ModuleConfiguration.InheritViewPermissions) { var tabPermissionCollection = TabPermissionController.GetTabPermissions(TabId, PortalId); permissions = tabPermissionCollection.ToList(); } else { permissions = ModuleConfiguration.ModulePermissions.ToList(); } return(permissions.Find(PermissionPredicate) != null); }
public virtual JObject GetPagePermissions(TabInfo tab) { var permissions = new JObject { { "addContentToPage", TabPermissionController.CanAddContentToPage(tab) }, { "addPage", TabPermissionController.CanAddPage(tab) }, { "adminPage", TabPermissionController.CanAdminPage(tab) }, { "copyPage", TabPermissionController.CanCopyPage(tab) }, { "deletePage", TabPermissionController.CanDeletePage(tab) }, { "exportPage", TabPermissionController.CanExportPage(tab) }, { "importPage", TabPermissionController.CanImportPage(tab) }, { "managePage", TabPermissionController.CanManagePage(tab) } }; return(permissions); }
public int AddTab(TabInfo objTab, bool AddAllTabsModules) { int intTabId; objTab.TabPath = Globals.GenerateTabPath(objTab.ParentId, objTab.TabName); intTabId = DataProvider.Instance().AddTab(objTab.PortalID, objTab.TabName, objTab.IsVisible, objTab.DisableLink, objTab.ParentId, objTab.IconFile, objTab.Title, objTab.Description, objTab.KeyWords, objTab.Url, objTab.SkinSrc, objTab.ContainerSrc, objTab.TabPath, objTab.StartDate, objTab.EndDate, objTab.RefreshInterval, objTab.PageHeadText); TabPermissionController objTabPermissionController = new TabPermissionController(); if (objTab.TabPermissions != null) { TabPermissionCollection objTabPermissions = objTab.TabPermissions; foreach (TabPermissionInfo objTabPermission in objTabPermissions) { objTabPermission.TabID = intTabId; if (objTabPermission.AllowAccess) { objTabPermissionController.AddTabPermission(objTabPermission); } } } if (!(Null.IsNull(objTab.PortalID))) { UpdatePortalTabOrder(objTab.PortalID, intTabId, objTab.ParentId, 0, 0, objTab.IsVisible, true); } else // host tab { ArrayList arrTabs = GetTabsByParentId(objTab.ParentId, objTab.PortalID); UpdateTabOrder(objTab.PortalID, intTabId, (arrTabs.Count * 2) - 1, 1, objTab.ParentId); } if (AddAllTabsModules) { ModuleController objmodules = new ModuleController(); ArrayList arrMods = objmodules.GetAllTabsModules(objTab.PortalID, true); foreach (ModuleInfo objModule in arrMods) { objmodules.CopyModule(objModule.ModuleID, objModule.TabID, intTabId, "", true); } } ClearCache(objTab.PortalID); return(intTabId); }
/// ----------------------------------------------------------------------------- /// <summary> /// ModuleMoveToPanePostBack excutes when a module is moved by Drag-and-Drop /// </summary> /// <param name="args">A ClientAPIPostBackEventArgs object</param> /// ----------------------------------------------------------------------------- private void ModuleMoveToPanePostBack(ClientAPIPostBackEventArgs args) { var portalSettings = (PortalSettings)HttpContext.Current.Items["PortalSettings"]; if (TabPermissionController.CanAdminPage()) { var moduleId = Convert.ToInt32(args.EventArguments["moduleid"]); var paneName = Convert.ToString(args.EventArguments["pane"]); var moduleOrder = Convert.ToInt32(args.EventArguments["order"]); ModuleController.Instance.UpdateModuleOrder(portalSettings.ActiveTab.TabID, moduleId, moduleOrder, paneName); ModuleController.Instance.UpdateTabModuleOrder(portalSettings.ActiveTab.TabID); //Redirect to the same page to pick up changes PaneControl.Page.Response.Redirect(PaneControl.Page.Request.RawUrl, true); } }
public override bool HasViewPermission(SearchResult searchResult) { var viewable = false; if (searchResult.ModuleId > 0) { //Get All related tabIds from moduleId (while minimizing DB access; using caching) var moduleId = searchResult.ModuleId; // The next call has over 30% performance enhancement over the above one var tabModules = TabController.Instance.GetTabsByPortal(searchResult.PortalId).Values .SelectMany(tabinfo => tabinfo.ChildModules.Where(kv => kv.Key == moduleId)).Select(m => m.Value); foreach (ModuleInfo module in tabModules) { var tab = TabController.Instance.GetTab(module.TabID, searchResult.PortalId, false); if (!module.IsDeleted && !tab.IsDeleted && TabPermissionController.CanViewPage(tab)) { //Check If authorised to View Module if (ModulePermissionController.CanViewModule(module) && HasModuleSearchPermission(module, searchResult)) { //Verify against search document permissions if (string.IsNullOrEmpty(searchResult.Permissions) || PortalSecurity.IsInRoles(searchResult.Permissions)) { viewable = true; if (string.IsNullOrEmpty(searchResult.Url)) { searchResult.Url = GetModuleSearchUrl(module, searchResult); if (string.IsNullOrEmpty(searchResult.Url)) { searchResult.Url = TestableGlobals.Instance.NavigateURL(module.TabID, string.Empty, searchResult.QueryString); } } break; } } } } } else { viewable = true; } return(viewable); }
/// <summary> /// Check if current user can see a specific page /// </summary> /// <param name="tab"> The TabInfo to be checked</param> /// <returns>True if current user can see the specific page. Otherwise, False</returns> internal static bool CanSeeVersionedPages(TabInfo tab) { if (!Thread.CurrentPrincipal.Identity.IsAuthenticated) { return(false); } var currentPortal = PortalController.Instance.GetCurrentPortalSettings(); var isAdminUser = currentPortal.UserInfo.IsSuperUser || PortalSecurity.IsInRole(currentPortal.AdministratorRoleName); if (isAdminUser) { return(true); } return(TabPermissionController.HasTabPermission(tab.TabPermissions, "EDIT,CONTENT,MANAGE")); }
private TabDto GetTabByCulture(int tabId, int portalId, Locale locale) { var tab = TabController.Instance.GetTabByCulture(tabId, portalId, locale); string tooltip; var nodeIcon = GetNodeIcon(tab, out tooltip); return(new TabDto { Name = tab.TabName, //$"{tab.TabName} {GetNodeStatusIcon(tab)}", TabId = tab.TabID.ToString(CultureInfo.InvariantCulture), ImageUrl = nodeIcon, Tooltip = tooltip, ParentTabId = tab.ParentId, HasChildren = tab.HasChildren, ChildTabs = new List <TabDto>(), Selectable = TabPermissionController.CanAddPage(tab) }); }
public void CopyPermissionsToDescendantPages(int pageId) { var portalSettings = PortalController.Instance.GetCurrentPortalSettings(); var portalId = portalSettings.PortalId; var tab = _tabController.GetTab(pageId, portalId, false); if (tab == null) { throw new PageNotFoundException(); } if (!TabPermissionController.CanManagePage(tab) || tab.IsSuperTab) { throw new PermissionsNotMetException(tab.TabID, Localization.GetString("CannotCopyPermissionsToDescendantPages")); } TabController.CopyPermissionsToChildren(tab, tab.TabPermissions); }
private void BindTabs(int tabId, bool includeParent) { List <TabInfo> tempTabs = TabController.GetTabsBySortOrder(this.PortalId).OrderBy(t => t.Level).ThenBy(t => t.HasChildren).ToList(); IList <TabInfo> tabList = new List <TabInfo>(); IList <int> tabIdList = new List <int>(); tabIdList.Add(tabId); if (includeParent) { TabInfo consoleTab = TabController.Instance.GetTab(tabId, this.PortalId); if (consoleTab != null) { tabList.Add(consoleTab); } } foreach (TabInfo tab in tempTabs) { bool canShowTab = TabPermissionController.CanViewPage(tab) && !tab.IsDeleted && (tab.StartDate < DateTime.Now || tab.StartDate == Null.NullDate); if (!canShowTab) { continue; } if (tabIdList.Contains(tab.ParentId)) { if (!tabIdList.Contains(tab.TabID)) { tabIdList.Add(tab.TabID); } tabList.Add(tab); } } this.tabs.DataSource = tabList; this.tabs.DataBind(); }
private void LoadModuleInFrame() { if (!string.IsNullOrEmpty(Request.QueryString["mid"]) && TabPermissionController.HasTabPermission("EDIT")) { int mid = int.Parse(Request.QueryString["mid"]); List <ModuleInfo> ModulesToRemove = new List <ModuleInfo>(); foreach (ModuleInfo m in PortalSettings.ActiveTab.Modules) { if (m.ModuleID != mid) { ModulesToRemove.Add(m); } } foreach (ModuleInfo m in ModulesToRemove) { PortalSettings.ActiveTab.Modules.Remove(m); } } }
private Pages GetPage() { Pages page; if (!string.IsNullOrEmpty(Request.QueryString["revisionversion"]) && TabPermissionController.HasTabPermission("EDIT")) { page = PageManager.GetByVersion(PortalSettings.ActiveTab.TabID, Convert.ToInt32(Request.QueryString["revisionversion"]), PageManager.GetCultureCode(PortalSettings)); } else if (!string.IsNullOrEmpty(Request.QueryString["uxmode"]) && Convert.ToBoolean(Request.QueryString["uxmode"])) { page = PageManager.GetLatestVersion(PortalSettings.ActiveTab.TabID, true, PageManager.GetCultureCode(PortalSettings), true); } else { page = PageManager.GetLatestVersion(PortalSettings.ActiveTab.TabID, PageManager.GetCultureCode(PortalSettings)); } return(page); }
/// ----------------------------------------------------------------------------- /// <summary> /// OnInit runs when the Skin is initialised. /// </summary> /// <history> /// [cnurse] 07/04/2005 Documented /// [cnurse] 12/05/2007 Refactored /// [cnurse] 04/17/2009 Refactored to use SkinAdapter /// </history> /// ----------------------------------------------------------------------------- protected override void OnInit(EventArgs e) { base.OnInit(e); //Load the Panes LoadPanes(); bool success; //Load the Module Control(s) success = Globals.IsAdminControl() ? ProcessSlaveModule() : ProcessMasterModules(); //Load the Control Panel InjectControlPanel(); //Register any error messages on the Skin if (Request.QueryString["error"] != null) { AddPageMessage(this, Localization.GetString("CriticalError.Error"), Server.HtmlEncode(Request.QueryString["error"]), ModuleMessage.ModuleMessageType.RedError); } if (!TabPermissionController.CanAdminPage() && !success) { //only display the warning to non-administrators (administrators will see the errors) AddPageMessage(this, Localization.GetString("ModuleLoadWarning.Error"), string.Format(Localization.GetString("ModuleLoadWarning.Text"), PortalSettings.Email), ModuleMessage.ModuleMessageType.YellowWarning); } InvokeSkinEvents(SkinEventType.OnSkinInit); if (HttpContext.Current != null && HttpContext.Current.Items.Contains(OnInitMessage)) { var messageType = ModuleMessage.ModuleMessageType.YellowWarning; if (HttpContext.Current.Items.Contains(OnInitMessageType)) { messageType = (ModuleMessage.ModuleMessageType)Enum.Parse(typeof(ModuleMessage.ModuleMessageType), HttpContext.Current.Items[OnInitMessageType].ToString(), true); } AddPageMessage(this, string.Empty, HttpContext.Current.Items[OnInitMessage].ToString(), messageType); } //Process the Panes attributes ProcessPanes(); }
public static bool HasTabPermission(string permissionKey) { var principal = Thread.CurrentPrincipal; if (!principal.Identity.IsAuthenticated) { return(false); } var currentPortal = PortalController.Instance.GetCurrentPortalSettings(); bool isAdminUser = currentPortal.UserInfo.IsSuperUser || PortalSecurity.IsInRole(currentPortal.AdministratorRoleName); if (isAdminUser) { return(true); } return(TabPermissionController.HasTabPermission(permissionKey)); }
protected override string RenderView() { var slug = Request.Params["slug"]; if (!string.IsNullOrEmpty(slug)) { return(MvcRenderingEngine.Render("ProductReviews", "Index", new { slug })); } if (!TabPermissionController.CanManagePage()) { if (PortalSettings.HomeTabId != Null.NullInteger) { if (PortalSettings.HomeTabId != PortalSettings.ActiveTab.TabID) { Response.Redirect(Globals.NavigateURL(PortalSettings.HomeTabId)); } } } return(string.Empty); }
public override bool HasViewPermission(SearchResult searchResult) { var tabController = new TabController(); var viewable = false; if (searchResult.TabId > 0) { var tab = tabController.GetTab(searchResult.TabId, searchResult.PortalId, false); if (!tab.IsDeleted && TabPermissionController.CanViewPage(tab)) { viewable = true; } } else { viewable = true; } return(viewable); }
private BaseModel GetBaseModel() { BaseModel item = new BaseModel { LoadingImage = Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Images/loading.gif"), AboutUrl = AppManager.GetAboutUrl(), Logo = Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Images/Vanjaro.png"), MenuMarkUp = MenuManager.RenderMenu(MenuManager.ParseMenuCategoryTree(null), null), NotificationCount = Core.Managers.NotificationManager.RenderNotificationsCount(PortalSettings.PortalId), ToolbarMarkUp = ToolbarManager.RenderMenu(), LanguageMarkUp = LanguageManager.RenderLanguages(), HasShortcut = (ShortcutManager.GetShortcut().Where(x => x.Shortcut.Visibility).Count() > 0) }; item.ShortcutMarkUp = item.HasShortcut ? ShortcutManager.RenderShortcut() : string.Empty; item.HasTabEditPermission = TabPermissionController.HasTabPermission("EDIT"); item.ShowUXManagerToolbar = Editor.VjObjects.ShowUXManagerToolbar; item.ShowUXManager = string.IsNullOrEmpty(Core.Managers.CookieManager.GetValue("InitGrapejs")) ? false : Convert.ToBoolean(Core.Managers.CookieManager.GetValue("InitGrapejs")); return(item); }
public IEnumerable <TabDto> GetTabsDescendants(int portalId, int parentId, string cultureCode, bool isMultiLanguage, string roles = "", bool disabledNotSelectable = false, int sortOrder = 0, string validateTab = "", bool includeHostPages = false, bool includeDisabled = false, bool includeDeletedChildren = true) { var descendants = new List <TabDto>(); cultureCode = string.IsNullOrEmpty(cultureCode) ? PortalController.Instance.GetPortal(portalId).CultureCode : cultureCode; var tabs = GetExportableTabs(TabController.Instance.GetTabsByPortal(portalId) .WithCulture(cultureCode, true)) .WithParentId(parentId).ToList(); if (!string.IsNullOrEmpty(validateTab)) { tabs = ValidateModuleInTab(tabs, validateTab).ToList(); } var filterTabs = FilterTabsByRole(tabs, roles, disabledNotSelectable); foreach (var tab in tabs.Where( x => x.ParentId == parentId && ( includeDeletedChildren || !x.IsDeleted))) { string tooltip; var nodeIcon = GetNodeIcon(tab, out tooltip); var node = new TabDto { Name = tab.TabName, //$"{tab.TabName} {GetNodeStatusIcon(tab)}", TabId = tab.TabID.ToString(CultureInfo.InvariantCulture), ImageUrl = nodeIcon, Tooltip = tooltip, ParentTabId = tab.ParentId, HasChildren = tab.HasChildren, Selectable = filterTabs.Contains(tab.TabID) && TabPermissionController.CanAddPage(tab) }; descendants.Add(node); } return(ApplySort(descendants, sortOrder)); }
// Returns the URL to the first instance of the module the user has access to view /// <inheritdoc/> public override string GetDocUrl(SearchResult searchResult) { if (!string.IsNullOrEmpty(searchResult.Url)) { return(searchResult.Url); } var url = Localization.GetString("SEARCH_NoLink"); // Get All related tabIds from moduleId var tabModules = GetModuleTabs(searchResult.ModuleId); foreach (ModuleInfo module in tabModules) { var tab = TabController.Instance.GetTab(module.TabID, searchResult.PortalId, false); if (TabPermissionController.CanViewPage(tab) && ModulePermissionController.CanViewModule(module)) { try { url = this.GetModuleSearchUrl(module, searchResult); if (string.IsNullOrEmpty(url)) { var portalSettings = new PortalSettings(searchResult.PortalId); portalSettings.PortalAlias = PortalAliasController.Instance.GetPortalAlias(portalSettings.DefaultPortalAlias); url = TestableGlobals.Instance.NavigateURL(module.TabID, portalSettings, string.Empty, searchResult.QueryString); } } catch (Exception ex) { Logger.Error(ex); } break; } } return(url); }
/// <summary> /// Gets the TabPermissions from the Data Store /// </summary> private void GetTabPermissions() { TabPermissionController objTabPermissionController = new TabPermissionController(); TabPermissions = objTabPermissionController.GetTabPermissionsCollectionByTabID(this.TabID, this.PortalId); }