/// ----------------------------------------------------------------------------- /// <summary> /// AddDesktopModulePermission adds a DesktopModule Permission to the Database /// </summary> /// <param name="objDesktopModulePermission">The DesktopModule Permission to add</param> /// <history> /// [cnurse] 01/15/2008 Created /// </history> /// ----------------------------------------------------------------------------- public static int AddDesktopModulePermission(DesktopModulePermissionInfo objDesktopModulePermission) { int Id = DataProvider.Instance().AddDesktopModulePermission(objDesktopModulePermission.PortalDesktopModuleID, objDesktopModulePermission.PermissionID, objDesktopModulePermission.RoleID, objDesktopModulePermission.AllowAccess, objDesktopModulePermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); EventLogController.Instance.AddLog(objDesktopModulePermission, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.DESKTOPMODULEPERMISSION_CREATED); ClearPermissionCache(); return Id; }
public int Add(DesktopModulePermissionInfo value, bool checkForDuplicates) { int id = Null.NullInteger; if (!checkForDuplicates) { id = Add(value); } else { bool isMatch = false; foreach (PermissionInfoBase permission in List) { if (permission.PermissionID == value.PermissionID && permission.UserID == value.UserID && permission.RoleID == value.RoleID) { isMatch = true; break; } } if (!isMatch) { id = Add(value); } } return id; }
public int Add(DesktopModulePermissionInfo value) { return List.Add(value); }
public void Remove(DesktopModulePermissionInfo value) { List.Remove(value); }
public void Insert(int index, DesktopModulePermissionInfo value) { List.Insert(index, value); }
public int IndexOf(DesktopModulePermissionInfo value) { return List.IndexOf(value); }
public bool Contains(DesktopModulePermissionInfo value) { return List.Contains(value); }
/// ----------------------------------------------------------------------------- /// <summary> /// Compares if two DesktopModulePermissionInfo objects are equivalent/equal /// </summary> /// <param name="other">a DesktopModulePermissionObject</param> /// <returns>true if the permissions being passed represents the same permission /// in the current object /// </returns> /// <remarks> /// This function is needed to prevent adding duplicates to the DesktopModulePermissionCollection. /// DesktopModulePermissionCollection.Contains will use this method to check if a given permission /// is already included in the collection. /// </remarks> /// <history> /// [cnurse] 01/15/2008 Created /// </history> /// ----------------------------------------------------------------------------- public bool Equals(DesktopModulePermissionInfo other) { if (ReferenceEquals(null, other)) { return false; } if (ReferenceEquals(this, other)) { return true; } return (AllowAccess == other.AllowAccess) && (PortalDesktopModuleID == other.PortalDesktopModuleID) && (RoleID == other.RoleID) && (PermissionID == other.PermissionID); }
public static int AddDesktopModuleToPortal(int portalID, int desktopModuleID, bool addPermissions, bool clearCache) { int portalDesktopModuleID; PortalDesktopModuleInfo portalDesktopModule = GetPortalDesktopModule(portalID, desktopModuleID); if (portalDesktopModule == null) { portalDesktopModuleID = DataProvider.Instance().AddPortalDesktopModule(portalID, desktopModuleID, UserController.GetCurrentUserInfo().UserID); var objEventLog = new EventLogController(); objEventLog.AddLog("PortalDesktopModuleID", portalDesktopModuleID.ToString(), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, EventLogController.EventLogType.PORTALDESKTOPMODULE_CREATED); if (addPermissions) { ArrayList permissions = PermissionController.GetPermissionsByPortalDesktopModule(); if (permissions.Count > 0) { var permission = permissions[0] as PermissionInfo; PortalInfo objPortal = new PortalController().GetPortal(portalID); if (permission != null && objPortal != null) { var desktopModulePermission = new DesktopModulePermissionInfo(permission) { RoleID = objPortal.AdministratorRoleId, AllowAccess = true, PortalDesktopModuleID = portalDesktopModuleID }; DesktopModulePermissionController.AddDesktopModulePermission(desktopModulePermission); } } } } else { portalDesktopModuleID = portalDesktopModule.PortalDesktopModuleID; } if (clearCache) { DataCache.ClearPortalCache(portalID, true); } return portalDesktopModuleID; }
private static void ParsePortalDesktopModules(XPathNavigator nav, int portalID) { string friendlyName = Null.NullString; DesktopModuleInfo desktopModule = null; foreach (XPathNavigator desktopModuleNav in nav.Select("portalDesktopModule")) { friendlyName = XmlUtils.GetNodeValue(desktopModuleNav, "friendlyname"); if (!string.IsNullOrEmpty(friendlyName)) { desktopModule = DesktopModuleController.GetDesktopModuleByFriendlyName(friendlyName); if (desktopModule != null) { //Parse the permissions DesktopModulePermissionCollection permissions = new DesktopModulePermissionCollection(); foreach (XPathNavigator permissionNav in desktopModuleNav.Select("portalDesktopModulePermissions/portalDesktopModulePermission")) { string code = XmlUtils.GetNodeValue(permissionNav, "permissioncode"); string key = XmlUtils.GetNodeValue(permissionNav, "permissionkey"); DesktopModulePermissionInfo desktopModulePermission = null; ArrayList arrPermissions = new PermissionController().GetPermissionByCodeAndKey(code, key); if (arrPermissions.Count > 0) { PermissionInfo permission = arrPermissions[0] as PermissionInfo; if (permission != null) { desktopModulePermission = new DesktopModulePermissionInfo(permission); } } desktopModulePermission.AllowAccess = bool.Parse(XmlUtils.GetNodeValue(permissionNav, "allowaccess")); string rolename = XmlUtils.GetNodeValue(permissionNav, "rolename"); if (!string.IsNullOrEmpty(rolename)) { RoleInfo role = TestableRoleController.Instance.GetRole(portalID, r => r.RoleName == rolename); if (role != null) { desktopModulePermission.RoleID = role.RoleID; } } permissions.Add(desktopModulePermission); } DesktopModuleController.AddDesktopModuleToPortal(portalID, desktopModule, permissions, false); } } } }
public int IndexOf(DesktopModulePermissionInfo value) { return(List.IndexOf(value)); }
public bool Contains(DesktopModulePermissionInfo value) { return(List.Contains(value)); }
public int Add(DesktopModulePermissionInfo value) { return(List.Add(value)); }
private static void UpgradeToVersion500() { ArrayList portals = PortalController.Instance.GetPortals(); //Add Edit Permissions for Admin Tabs to legacy portals var permissionController = new PermissionController(); ArrayList permissions = permissionController.GetPermissionByCodeAndKey("SYSTEM_TAB", "EDIT"); int permissionId = -1; if (permissions.Count == 1) { var permission = permissions[0] as PermissionInfo; if (permission != null) { permissionId = permission.PermissionID; } foreach (PortalInfo portal in portals) { var adminTab = TabController.Instance.GetTab(portal.AdminTabId, portal.PortalID, true); if (adminTab != null) { var tabPermission = new TabPermissionInfo { TabID = adminTab.TabID, PermissionID = permissionId, AllowAccess = true, RoleID = portal.AdministratorRoleId }; if (!TabPermissionExists(tabPermission, portal.PortalID)) { adminTab.TabPermissions.Add(tabPermission); } //Save Tab Permissions to Data Base TabPermissionController.SaveTabPermissions(adminTab); foreach (var childTab in TabController.GetTabsByParent(portal.AdminTabId, portal.PortalID)) { tabPermission = new TabPermissionInfo { TabID = childTab.TabID, PermissionID = permissionId, AllowAccess = true, RoleID = portal.AdministratorRoleId }; if (!TabPermissionExists(tabPermission, portal.PortalID)) { childTab.TabPermissions.Add(tabPermission); } //Save Tab Permissions to Data Base TabPermissionController.SaveTabPermissions(childTab); } } } } //Update Host/Admin modules Visibility setting bool superTabProcessed = Null.NullBoolean; foreach (PortalInfo portal in portals) { if (!superTabProcessed) { //Process Host Tabs foreach (TabInfo childTab in TabController.GetTabsByParent(portal.SuperTabId, Null.NullInteger)) { foreach (ModuleInfo tabModule in ModuleController.Instance.GetTabModules(childTab.TabID).Values) { tabModule.Visibility = VisibilityState.None; ModuleController.Instance.UpdateModule(tabModule); } } } //Process Portal Tabs foreach (TabInfo childTab in TabController.GetTabsByParent(portal.AdminTabId, portal.PortalID)) { foreach (ModuleInfo tabModule in ModuleController.Instance.GetTabModules(childTab.TabID).Values) { tabModule.Visibility = VisibilityState.None; ModuleController.Instance.UpdateModule(tabModule); } } } //Upgrade PortalDesktopModules to support new "model" permissions = permissionController.GetPermissionByCodeAndKey("SYSTEM_DESKTOPMODULE", "DEPLOY"); if (permissions.Count == 1) { var permission = permissions[0] as PermissionInfo; if (permission != null) { permissionId = permission.PermissionID; } foreach (PortalInfo portal in portals) { foreach (DesktopModuleInfo desktopModule in DesktopModuleController.GetDesktopModules(Null.NullInteger).Values) { if (!desktopModule.IsPremium) { //Parse the permissions var deployPermissions = new DesktopModulePermissionCollection(); DesktopModulePermissionInfo deployPermission; // if Not IsAdmin add Registered Users if (!desktopModule.IsAdmin) { deployPermission = new DesktopModulePermissionInfo { PermissionID = permissionId, AllowAccess = true, RoleID = portal.RegisteredRoleId }; deployPermissions.Add(deployPermission); } // if Not a Host Module add Administrators const string hostModules = "Portals, SQL, HostSettings, Scheduler, SearchAdmin, Lists, SkinDesigner, Extensions"; if (!hostModules.Contains(desktopModule.ModuleName)) { deployPermission = new DesktopModulePermissionInfo { PermissionID = permissionId, AllowAccess = true, RoleID = portal.AdministratorRoleId }; deployPermissions.Add(deployPermission); } //Add Portal/Module to PortalDesktopModules DesktopModuleController.AddDesktopModuleToPortal(portal.PortalID, desktopModule, deployPermissions, false); } } DataCache.ClearPortalCache(portal.PortalID, true); } } LegacyUtil.ProcessLegacyModules(); LegacyUtil.ProcessLegacyLanguages(); LegacyUtil.ProcessLegacySkins(); LegacyUtil.ProcessLegacySkinControls(); }
/// ----------------------------------------------------------------------------- /// <summary> /// UpdateDesktopModulePermission updates a DesktopModule Permission in the Database /// </summary> /// <param name="objDesktopModulePermission">The DesktopModule Permission to update</param> /// <history> /// [cnurse] 01/15/2008 Created /// </history> /// ----------------------------------------------------------------------------- public static void UpdateDesktopModulePermission(DesktopModulePermissionInfo objDesktopModulePermission) { provider.UpdateDesktopModulePermission(objDesktopModulePermission.DesktopModulePermissionID, objDesktopModulePermission.PortalDesktopModuleID, objDesktopModulePermission.PermissionID, objDesktopModulePermission.RoleID, objDesktopModulePermission.AllowAccess, objDesktopModulePermission.UserID, UserController.Instance.GetCurrentUserInfo().UserID); EventLogController.Instance.AddLog(objDesktopModulePermission, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.DESKTOPMODULEPERMISSION_UPDATED); ClearPermissionCache(); }
private static void UpgradeToVersion601() { //List module needs to be available to Portals also var pkg = PackageController.Instance.GetExtensionPackage(Null.NullInteger, p => p.Name == "DotNetNuke.Lists"); if (pkg != null) { //List package is no longer a system package pkg.IsSystemPackage = false; PackageController.Instance.SaveExtensionPackage(pkg); //List desktop module is no longer premium or admin module var desktopModule = DesktopModuleController.GetDesktopModuleByPackageID(pkg.PackageID); desktopModule.IsAdmin = false; desktopModule.IsPremium = false; DesktopModuleController.SaveDesktopModule(desktopModule, false, true); var permissionController = new PermissionController(); ArrayList permissions = permissionController.GetPermissionByCodeAndKey("SYSTEM_DESKTOPMODULE", "DEPLOY"); if (permissions.Count == 1) { var permission = permissions[0] as PermissionInfo; if (permission != null) { foreach (PortalInfo portal in PortalController.Instance.GetPortals()) { //ensure desktop module is not present in the portal var pdmi = DesktopModuleController.GetPortalDesktopModule(portal.PortalID, desktopModule.DesktopModuleID); if (pdmi == null) { //Parse the permissions var deployPermissions = new DesktopModulePermissionCollection(); var deployPermission = new DesktopModulePermissionInfo { PermissionID = permission.PermissionID, AllowAccess = true, RoleID = portal.AdministratorRoleId }; deployPermissions.Add(deployPermission); //Add Portal/Module to PortalDesktopModules DesktopModuleController.AddDesktopModuleToPortal(portal.PortalID, desktopModule, deployPermissions, true); } } } } } }