private void SaveEditPermission(int portalId, MenuItem menuItem) { var viewPermission = MenuPermissionController.GetPermissions(menuItem.MenuId).FirstOrDefault(p => p.PermissionKey == "VIEW"); var editPermission = MenuPermissionController.GetPermissions(menuItem.MenuId).FirstOrDefault(p => p.PermissionKey == "EDIT"); if (viewPermission == null || editPermission == null) { return; } var permissions = MenuPermissionController.GetMenuPermissions(portalId, menuItem.Identifier).ToList(); permissions.ForEach(p => { if (p.PermissionID == viewPermission.PermissionId) { if (!permissions.Any(c => c.PermissionID == editPermission.PermissionId && c.RoleID == p.RoleID && c.UserID == p.UserID)) { var menuPermissionInfo = new MenuPermissionInfo { MenuPermissionId = Null.NullInteger, MenuId = menuItem.MenuId, PermissionID = editPermission.PermissionId, RoleID = p.RoleID, UserID = p.UserID, AllowAccess = p.AllowAccess, }; MenuPermissionController.SaveMenuPermissions(portalId, menuItem, menuPermissionInfo); } } }); }
private void AddPermissions(MenuItem menuItem, IDictionary <string, object> settings) { var user = UserController.Instance.GetCurrentUserInfo(); var portalSettings = PortalSettings.Current; if (!settings.ContainsKey("isAdmin") && portalSettings != null) { settings.Add("isAdmin", user.IsInRole(portalSettings.AdministratorRoleName)); } if (!settings.ContainsKey("isHost")) { settings.Add("isHost", user.IsSuperUser); } if (!settings.ContainsKey("permissions") && portalSettings != null) { var menuPermissions = MenuPermissionController.GetPermissions(menuItem.MenuId) .Where(p => p.MenuId == menuItem.MenuId); var portalId = portalSettings.PortalId; var permissions = new Dictionary <string, bool>(); foreach (var permission in menuPermissions) { var key = permission.PermissionKey; var hasPermission = MenuPermissionController.HasMenuPermission(portalId, menuItem, key); permissions.Add(key, hasPermission); } settings.Add("permissions", permissions); } }
private void AddPermissions(MenuItem menuItem, IDictionary <string, object> settings) { var portalSettings = PortalSettings.Current; if (!settings.ContainsKey("permissions") && portalSettings != null) { var menuPermissions = MenuPermissionController.GetPermissions(menuItem.MenuId) .Where(p => p.PermissionKey != "VIEW"); var portalId = portalSettings.PortalId; var permissions = new Dictionary <string, bool>(); foreach (var permission in menuPermissions) { var key = permission.PermissionKey; var hasPermission = MenuPermissionController.HasMenuPermission(portalId, menuItem, key); permissions.Add(key, hasPermission); } settings.Add("permissions", permissions); } }