diff --git a/Nop.Plugin.Misc.SignalRApi/MiscSignalRApiPlugin.cs b/Nop.Plugin.Misc.SignalRApi/MiscSignalRApiPlugin.cs index 0ca75ef..2d72359 100644 --- a/Nop.Plugin.Misc.SignalRApi/MiscSignalRApiPlugin.cs +++ b/Nop.Plugin.Misc.SignalRApi/MiscSignalRApiPlugin.cs @@ -23,12 +23,16 @@ namespace Nop.Plugin.Misc.SignalRApi protected readonly IPermissionService _permissionService; protected readonly ILocalizationService _localizationService; protected readonly IUrlHelperFactory _urlHelperFactory; + private readonly IAdminMenu _adminMenu; - public MiscSignalRApiPlugin(IActionContextAccessor actionContextAccessor, + public MiscSignalRApiPlugin( + IAdminMenu adminMenu, + IActionContextAccessor actionContextAccessor, ILocalizationService localizationService, IPermissionService permissionService, IUrlHelperFactory urlHelperFactory) { + _adminMenu = adminMenu; _actionContextAccessor = actionContextAccessor; _localizationService = localizationService; _permissionService = permissionService; @@ -54,9 +58,14 @@ namespace Nop.Plugin.Misc.SignalRApi 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; var configurationItem = rootNode.ChildNodes.FirstOrDefault(node => node.SystemName.Equals("Configuration")); @@ -74,23 +83,25 @@ namespace Nop.Plugin.Misc.SignalRApi if (index < 0) return; - configurationItem.ChildNodes.Insert(index + 1, new SiteMapNode + configurationItem.ChildNodes.Insert(index + 1, new AdminMenuItem { Visible = true, SystemName = "API plugins", Title = await _localizationService.GetResourceAsync("Plugins.Misc.SignalRApi.Menu.Api"), IconClass = "far fa-dot-circle", - ChildNodes = new List + ChildNodes = new List { new() { Visible = true, SystemName = PluginDescriptor.SystemName, Title = PluginDescriptor.FriendlyName, - ControllerName = "SignalRApi", - ActionName = "Configure", 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 } } } } }); diff --git a/Nop.Plugin.Misc.SignalRApi/plugin.json b/Nop.Plugin.Misc.SignalRApi/plugin.json index 8587571..54eb010 100644 --- a/Nop.Plugin.Misc.SignalRApi/plugin.json +++ b/Nop.Plugin.Misc.SignalRApi/plugin.json @@ -4,7 +4,7 @@ "SystemName": "Misc.SignalRApi", "Version": "1.00", "SupportedVersions": [ - "4.70" + "4.80" ], "Author": "Adam Gelencser", "DisplayOrder": 1,