AppMenu : Implement Sidebar Menu with Permission-based Access Control #112
@ -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
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user