private PermissionsDto GetPermissionsData(int portalId, int desktopModuleId)
        {
            var permissions = new PermissionsDto(true);

            if (desktopModuleId > 0)
            {
                var portalModule = DesktopModuleController.GetPortalDesktopModule(portalId, desktopModuleId);
                if (portalModule != null)
                {
                    permissions.DesktopModuleId = desktopModuleId;

                    var modulePermissions = DesktopModulePermissionController.GetDesktopModulePermissions(portalModule.PortalDesktopModuleID);
                    foreach (DesktopModulePermissionInfo permission in modulePermissions)
                    {
                        if (permission.UserID != Null.NullInteger)
                        {
                            permissions.AddUserPermission(permission);
                        }
                        else
                        {
                            permissions.AddRolePermission(permission);
                        }
                    }

                    permissions.RolePermissions =
                        permissions.RolePermissions.OrderByDescending(p => p.Locked)
                        .ThenByDescending(p => p.IsDefault)
                        .ThenBy(p => p.RoleName)
                        .ToList();
                    permissions.UserPermissions = permissions.UserPermissions.OrderBy(p => p.DisplayName).ToList();
                }
            }

            return(permissions);
        }
Exemplo n.º 2
0
        internal static int AddDesktopModuleToPortal(int portalId, int desktopModuleId, bool addPermissions, bool clearCache)
        {
            try
            {
                int portalDesktopModuleID;
                PortalDesktopModuleInfo portalDesktopModule = GetPortalDesktopModule(portalId, desktopModuleId);
                if (portalDesktopModule == null)
                {
                    portalDesktopModuleID = DataProvider.Instance().AddPortalDesktopModule(portalId, desktopModuleId, UserController.Instance.GetCurrentUserInfo().UserID);
                    EventLogController.Instance.AddLog(
                        "PortalDesktopModuleID",
                        portalDesktopModuleID.ToString(),
                        PortalController.Instance.GetCurrentPortalSettings(),
                        UserController.Instance.GetCurrentUserInfo().UserID,
                        EventLogController.EventLogType.PORTALDESKTOPMODULE_CREATED);
                    if (addPermissions)
                    {
                        ArrayList permissions = PermissionController.GetPermissionsByPortalDesktopModule();
                        if (permissions.Count > 0)
                        {
                            var        permission = permissions[0] as PermissionInfo;
                            PortalInfo objPortal  = PortalController.Instance.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);
            }
            catch (Exception e)
            {
                LogError(e);
                throw;
            }
        }
        public static SortedList <string, PortalDesktopModuleInfo> GetPortalDesktopModules(int portalId)
        {
            Dictionary <int, PortalDesktopModuleInfo> dicModules = GetPortalDesktopModulesByPortalID(portalId);
            var lstModules = new SortedList <string, PortalDesktopModuleInfo>();

            foreach (PortalDesktopModuleInfo desktopModule in dicModules.Values)
            {
                if (DesktopModulePermissionController.HasDesktopModulePermission(desktopModule.Permissions, "DEPLOY"))
                {
                    lstModules.Add(desktopModule.FriendlyName, desktopModule);
                }
            }
            return(lstModules);
        }
        public static int AddDesktopModuleToPortal(int portalID, DesktopModuleInfo desktopModule, DesktopModulePermissionCollection permissions, bool clearCache)
        {
            int portalDesktopModuleID = AddDesktopModuleToPortal(portalID, desktopModule.DesktopModuleID, false, clearCache);

            if (portalDesktopModuleID > Null.NullInteger)
            {
                DesktopModulePermissionController.DeleteDesktopModulePermissionsByPortalDesktopModuleID(portalDesktopModuleID);
                foreach (DesktopModulePermissionInfo permission in permissions)
                {
                    permission.PortalDesktopModuleID = portalDesktopModuleID;
                    DesktopModulePermissionController.AddDesktopModulePermission(permission);
                }
            }
            return(portalDesktopModuleID);
        }
Exemplo n.º 5
0
        private void BindPermissions()
        {
            PortalDesktopModuleInfo portalModule = DesktopModuleController.GetPortalDesktopModule(ModuleContext.PortalSettings.PortalId, DesktopModule.DesktopModuleID);

            if (portalModule != null)
            {
                dgPermissions.PortalDesktopModuleID = portalModule.PortalDesktopModuleID;
                bool isVisible =
                    DesktopModulePermissionController.HasDesktopModulePermission(DesktopModulePermissionController.GetDesktopModulePermissions(portalModule.PortalDesktopModuleID), "DEPLOY") ||
                    ModuleContext.PortalSettings.UserInfo.IsInRole(ModuleContext.PortalSettings.AdministratorRoleName) || ModuleContext.PortalSettings.UserInfo.IsSuperUser;
                pnlPermissions.Visible = isVisible;
                if (!isVisible)
                {
                    lblHelp.Text = Localization.GetString("NoPermission", LocalResourceFile);
                }
            }
        }
Exemplo n.º 6
0
        public static int AddDesktopModuleToPortal(int portalID, int desktopModuleID, bool addPermissions, bool clearCache)
        {
            int portalDesktopModuleID = Null.NullInteger;
            PortalDesktopModuleInfo portalDesktopModule = GetPortalDesktopModule(portalID, desktopModuleID);

            if (portalDesktopModule == null)
            {
                portalDesktopModuleID = DataProvider.Instance().AddPortalDesktopModule(portalID, desktopModuleID, UserController.GetCurrentUserInfo().UserID);
                Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController();
                objEventLog.AddLog("PortalDesktopModuleID", portalDesktopModuleID.ToString(), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.PORTALDESKTOPMODULE_CREATED);
                if (addPermissions)
                {
                    ArrayList permissions = PermissionController.GetPermissionsByPortalDesktopModule();
                    if (permissions.Count > 0)
                    {
                        PermissionInfo permission = permissions[0] as PermissionInfo;
                        PortalInfo     objPortal  = new PortalController().GetPortal(portalID);
                        if (permission != null && objPortal != null)
                        {
                            DesktopModulePermissionInfo desktopModulePermission = new DesktopModulePermissionInfo(permission);
                            desktopModulePermission.RoleID                = objPortal.AdministratorRoleId;
                            desktopModulePermission.AllowAccess           = true;
                            desktopModulePermission.PortalDesktopModuleID = portalDesktopModuleID;
                            DesktopModulePermissionController.AddDesktopModulePermission(desktopModulePermission);
                        }
                    }
                }
            }
            else
            {
                portalDesktopModuleID = portalDesktopModule.PortalDesktopModuleID;
            }
            if (clearCache)
            {
                DataCache.ClearPortalCache(portalID, true);
            }
            return(portalDesktopModuleID);
        }
Exemplo n.º 7
0
        private void cmdUpdate_Click(object sender, EventArgs e)
        {
            if (ModuleContext.PortalSettings.ActiveTab.IsSuperTab)
            {
                UpdatePackage();
            }
            else
            {
                //Update DesktopModule Permissions
                DesktopModulePermissionCollection objCurrentPermissions = DesktopModulePermissionController.GetDesktopModulePermissions(dgPermissions.PortalDesktopModuleID);
                if (!objCurrentPermissions.CompareTo(dgPermissions.Permissions))
                {
                    DesktopModulePermissionController.DeleteDesktopModulePermissionsByPortalDesktopModuleID(dgPermissions.PortalDesktopModuleID);
                    foreach (DesktopModulePermissionInfo objPermission in dgPermissions.Permissions)
                    {
                        DesktopModulePermissionController.AddDesktopModulePermission(objPermission);
                    }
                }
                DataCache.RemoveCache(string.Format(DataCache.PortalDesktopModuleCacheKey, ModuleContext.PortalId));

                dgPermissions.ResetPermissions();
            }
        }
Exemplo n.º 8
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Gets the DesktopModulePermissions from the Data Store
 /// </summary>
 /// -----------------------------------------------------------------------------
 private void GetDesktopModulePermissions()
 {
     _DesktopModulePermissions = new DesktopModulePermissionCollection(DesktopModulePermissionController.GetDesktopModulePermissions(PortalDesktopModuleID));
 }
        private void UpdatePermissions(DesktopModuleInfo desktopModule, PackageSettingsDto packageSettings)
        {
            if (!packageSettings.EditorActions.ContainsKey("permissions") || string.IsNullOrEmpty(packageSettings.EditorActions["permissions"]))
            {
                return;
            }

            var portalModule = DesktopModuleController.GetPortalDesktopModule(packageSettings.PortalId, desktopModule.DesktopModuleID);

            if (portalModule == null)
            {
                return;
            }

            var portalSettings = new PortalSettings(packageSettings.PortalId);
            var permissions    = JsonConvert.DeserializeObject <PermissionsDto>(packageSettings.EditorActions["permissions"]);
            var hasAdmin       = permissions.RolePermissions == null ? false : permissions.RolePermissions.Any(permission => permission.RoleId == portalSettings.AdministratorRoleId);

            var desktopModulePermissions = new DesktopModulePermissionCollection();

            //add default permissions for administrators
            if (!hasAdmin || (permissions.RolePermissions.Count == 0 && permissions.UserPermissions.Count == 0))
            {
                //add default permissions
                var permissionController = new PermissionController();
                var permissionsList      = permissionController.GetPermissionByCodeAndKey("SYSTEM_DESKTOPMODULE", "DEPLOY");
                foreach (PermissionInfo permissionInfo in permissionsList)
                {
                    var permission = new DesktopModulePermissionInfo(permissionInfo)
                    {
                        RoleID = portalSettings.AdministratorRoleId,
                        UserID = Null.NullInteger,
                        PortalDesktopModuleID = portalModule.PortalDesktopModuleID,
                        AllowAccess           = true,
                        RoleName = portalSettings.AdministratorRoleName
                    };
                    desktopModulePermissions.Add(permission);
                }
            }

            //add role permissions
            if (permissions.RolePermissions != null)
            {
                foreach (var rolePermission in permissions.RolePermissions)
                {
                    foreach (var permission in rolePermission.Permissions)
                    {
                        desktopModulePermissions.Add(new DesktopModulePermissionInfo()
                        {
                            PermissionID          = permission.PermissionId,
                            RoleID                = rolePermission.RoleId,
                            UserID                = Null.NullInteger,
                            PortalDesktopModuleID = portalModule.PortalDesktopModuleID,
                            AllowAccess           = permission.AllowAccess
                        });
                    }
                }
            }


            //add user permissions
            if (permissions.UserPermissions != null)
            {
                foreach (var userPermission in permissions.UserPermissions)
                {
                    foreach (var permission in userPermission.Permissions)
                    {
                        int roleId;
                        int.TryParse(Globals.glbRoleNothing, out roleId);
                        desktopModulePermissions.Add(new DesktopModulePermissionInfo()
                        {
                            PermissionID          = permission.PermissionId,
                            RoleID                = roleId,
                            UserID                = userPermission.UserId,
                            PortalDesktopModuleID = portalModule.PortalDesktopModuleID,
                            AllowAccess           = permission.AllowAccess
                        });
                    }
                }
            }

            //Update DesktopModule Permissions
            var currentPermissions = DesktopModulePermissionController.GetDesktopModulePermissions(portalModule.PortalDesktopModuleID);

            if (!currentPermissions.CompareTo(desktopModulePermissions))
            {
                DesktopModulePermissionController.DeleteDesktopModulePermissionsByPortalDesktopModuleID(portalModule.PortalDesktopModuleID);
                foreach (DesktopModulePermissionInfo objPermission in desktopModulePermissions)
                {
                    DesktopModulePermissionController.AddDesktopModulePermission(objPermission);
                }
            }
            DataCache.RemoveCache(string.Format(DataCache.PortalDesktopModuleCacheKey, portalSettings.PortalId));
        }