/// ----------------------------------------------------------------------------- /// <summary> /// AddPage adds a Tab Page /// </summary> /// <param name="PortalId">The Id of the Portal</param> /// <param name="ParentId">The Id of the Parent Tab</param> /// <param name="TabName">The Name to give this new Tab</param> /// <param name="TabIconFile">The Icon for this new Tab</param> /// <param name="IsVisible">A flag indicating whether the tab is visible</param> /// <param name="permissions">Page Permissions Collection for this page</param> /// <param name="IsAdmin">Is and admin page</param> /// <history> /// [cnurse] 11/11/2004 created /// </history> /// ----------------------------------------------------------------------------- private static TabInfo AddPage(int PortalId, int ParentId, string TabName, string Description, string TabIconFile, string TabIconFileLarge, bool IsVisible, Security.Permissions.TabPermissionCollection permissions, bool IsAdmin) { TabController objTabs = new TabController(); TabInfo objTab = default(TabInfo); objTab = objTabs.GetTabByName(TabName, PortalId, ParentId); if (objTab == null || objTab.ParentId != ParentId) { objTab = new TabInfo(); objTab.TabID = Null.NullInteger; objTab.PortalID = PortalId; objTab.TabName = TabName; objTab.Title = ""; objTab.Description = Description; objTab.KeyWords = ""; objTab.IsVisible = IsVisible; objTab.DisableLink = false; objTab.ParentId = ParentId; objTab.IconFile = TabIconFile; objTab.IconFileLarge = TabIconFileLarge; objTab.IsDeleted = false; objTab.TabID = objTabs.AddTab(objTab, !IsAdmin); if (((permissions != null))) { Security.Permissions.TabPermissionController tabPermissionCtrl = new Security.Permissions.TabPermissionController(); foreach (TabPermissionInfo tabPermission in permissions) { objTab.TabPermissions.Add(tabPermission, true); } TabPermissionController.SaveTabPermissions(objTab); } } return objTab; }
public static void CopyPermissionsToChildren(TabInfo parentTab, TabPermissionCollection newPermissions) { Security.Permissions.TabPermissionController objTabPermissionController = new Security.Permissions.TabPermissionController(); bool clearCache = Null.NullBoolean; List<TabInfo> childTabs = new TabController().GetTabsByPortal(parentTab.PortalID).DescendentsOf(parentTab.TabID); foreach (TabInfo objTab in childTabs) { if (TabPermissionController.CanAdminPage(objTab)) { objTab.TabPermissions.Clear(); objTab.TabPermissions.AddRange(newPermissions); TabPermissionController.SaveTabPermissions(objTab); clearCache = true; } } if (clearCache) { DataCache.ClearTabsCache(childTabs[0].PortalID); } }