_allModuleDefinitions;
@@ -285,8 +286,10 @@
protected override async Task OnParametersSetAsync()
{
+ _showEditMode = false;
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions))
{
+ _showEditMode = true;
_pages?.Clear();
foreach (Page p in PageState.Pages)
@@ -305,6 +308,17 @@
_moduleDefinitions = _allModuleDefinitions.Where(item => item.Categories.Contains(Category)).ToList();
_categories = _allModuleDefinitions.SelectMany(m => m.Categories.Split(',')).Distinct().ToList();
}
+ else
+ {
+ foreach (var module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId))
+ {
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.Permissions))
+ {
+ _showEditMode = true;
+ break;
+ }
+ }
+ }
}
private void CategoryChanged(ChangeEventArgs e)
@@ -405,21 +419,21 @@
Message = $"{Localizer["Success.Page.ModuleAdd"]}
";
Title = "";
NavigationManager.NavigateTo(NavigateUrl());
- }
- else
- {
- Message = $"{Localizer["Message.Require.ModuleSelect"]}
";
- }
- }
- else
- {
- Message = $"{Localizer["Error.Authorize.No"]}
";
- }
- }
+ }
+ else
+ {
+ Message = $"{Localizer["Message.Require.ModuleSelect"]}
";
+ }
+ }
+ else
+ {
+ Message = $"{Localizer["Error.Authorize.No"]}
";
+ }
+ }
private async Task ToggleEditMode(bool EditMode)
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions))
+ if (_showEditMode)
{
if (EditMode)
{
@@ -445,7 +459,6 @@
private void Navigate(string location)
{
- //HideControlPanel();
Module module;
switch (location)
{