AppMenu : Implement Sidebar Menu with Permission-based Access Control #112

Merged
ashutosh.nehete merged 12 commits from AppMenu into Tenant_Management 2025-08-23 07:49:59 +00:00
Showing only changes of commit 374e023cde - Show all commits

View File

@ -228,8 +228,8 @@ namespace Marco.Pms.Services.Controllers
[HttpGet("sidebar/menu-section")] [HttpGet("sidebar/menu-section")]
public async Task<IActionResult> GetAppSideBarMenu() public async Task<IActionResult> GetAppSideBarMenu()
{ {
var loggedUser = await _userHelper.GetCurrentUserAsync(); var loggedUser = await _userHelper.GetCurrentEmployeeAsync();
var employeeId = Guid.Parse(loggedUser.Id); var employeeId = loggedUser.Id;
var menus = await _sideBarMenuHelper.GetAllMenuSectionsAsync(); var menus = await _sideBarMenuHelper.GetAllMenuSectionsAsync();
@ -268,10 +268,9 @@ namespace Marco.Pms.Services.Controllers
var allowedSubmenus = new List<SubMenuItem>(); var allowedSubmenus = new List<SubMenuItem>();
foreach (var sm in item.Submenu) foreach (var sm in item.Submenu)
{ {
bool smAllowed = false;
if (sm.PermissionKeys == null || !sm.PermissionKeys.Any()) if (sm.PermissionKeys == null || !sm.PermissionKeys.Any())
{ {
smAllowed = true; allowedSubmenus.Add(sm);
} }
else else
{ {
@ -281,15 +280,12 @@ namespace Marco.Pms.Services.Controllers
{ {
if (await _permissions.HasPermission(employeeId, permissionId)) if (await _permissions.HasPermission(employeeId, permissionId))
{ {
smAllowed = true; allowedSubmenus.Add(sm);
break; break;
} }
} }
} }
} }
if (smAllowed)
allowedSubmenus.Add(sm);
} }
item.Submenu = allowedSubmenus; item.Submenu = allowedSubmenus;
} }
@ -305,7 +301,6 @@ namespace Marco.Pms.Services.Controllers
} }
} }