SignalRfix

This commit is contained in:
Adam 2025-08-28 20:21:41 +02:00
parent 4baadd6497
commit 4b2cd32870
2 changed files with 20 additions and 9 deletions

View File

@ -23,12 +23,16 @@ namespace Nop.Plugin.Misc.SignalRApi
protected readonly IPermissionService _permissionService; protected readonly IPermissionService _permissionService;
protected readonly ILocalizationService _localizationService; protected readonly ILocalizationService _localizationService;
protected readonly IUrlHelperFactory _urlHelperFactory; protected readonly IUrlHelperFactory _urlHelperFactory;
private readonly IAdminMenu _adminMenu;
public MiscSignalRApiPlugin(IActionContextAccessor actionContextAccessor, public MiscSignalRApiPlugin(
IAdminMenu adminMenu,
IActionContextAccessor actionContextAccessor,
ILocalizationService localizationService, ILocalizationService localizationService,
IPermissionService permissionService, IPermissionService permissionService,
IUrlHelperFactory urlHelperFactory) IUrlHelperFactory urlHelperFactory)
{ {
_adminMenu = adminMenu;
_actionContextAccessor = actionContextAccessor; _actionContextAccessor = actionContextAccessor;
_localizationService = localizationService; _localizationService = localizationService;
_permissionService = permissionService; _permissionService = permissionService;
@ -54,9 +58,14 @@ namespace Nop.Plugin.Misc.SignalRApi
await base.UninstallAsync(); await base.UninstallAsync();
} }
public async Task ManageSiteMapAsync(SiteMapNode rootNode) //public Task ManageSiteMapAsync(AdminMenuItem rootNode)
//{
// throw new NotImplementedException();
//}
public async Task ManageSiteMapAsync(AdminMenuItem rootNode)
{ {
if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManagePlugins)) if (!await _permissionService.AuthorizeAsync(StandardPermission.Configuration.MANAGE_PLUGINS))
return; return;
var configurationItem = rootNode.ChildNodes.FirstOrDefault(node => node.SystemName.Equals("Configuration")); var configurationItem = rootNode.ChildNodes.FirstOrDefault(node => node.SystemName.Equals("Configuration"));
@ -74,23 +83,25 @@ namespace Nop.Plugin.Misc.SignalRApi
if (index < 0) if (index < 0)
return; return;
configurationItem.ChildNodes.Insert(index + 1, new SiteMapNode configurationItem.ChildNodes.Insert(index + 1, new AdminMenuItem
{ {
Visible = true, Visible = true,
SystemName = "API plugins", SystemName = "API plugins",
Title = await _localizationService.GetResourceAsync("Plugins.Misc.SignalRApi.Menu.Api"), Title = await _localizationService.GetResourceAsync("Plugins.Misc.SignalRApi.Menu.Api"),
IconClass = "far fa-dot-circle", IconClass = "far fa-dot-circle",
ChildNodes = new List<SiteMapNode> ChildNodes = new List<AdminMenuItem>
{ {
new() new()
{ {
Visible = true, Visible = true,
SystemName = PluginDescriptor.SystemName, SystemName = PluginDescriptor.SystemName,
Title = PluginDescriptor.FriendlyName, Title = PluginDescriptor.FriendlyName,
ControllerName = "SignalRApi",
ActionName = "Configure",
IconClass = "far fa-circle", IconClass = "far fa-circle",
RouteValues = new RouteValueDictionary { { "area", AreaNames.ADMIN } } Url = _adminMenu.GetMenuItemUrl("SignalRApi", "Configure"),
//Url = "Admin/SignalRApi/Configure",
//ControllerName = "SignalRApi",
//ActionName = "Configure",
//RouteValues = new RouteValueDictionary { { "area", AreaNames.ADMIN } }
} }
} }
}); });

View File

@ -4,7 +4,7 @@
"SystemName": "Misc.SignalRApi", "SystemName": "Misc.SignalRApi",
"Version": "1.00", "Version": "1.00",
"SupportedVersions": [ "SupportedVersions": [
"4.70" "4.80"
], ],
"Author": "Adam Gelencser", "Author": "Adam Gelencser",
"DisplayOrder": 1, "DisplayOrder": 1,