diff --git a/app/portainer/services/api/extensionService.js b/app/portainer/services/api/extensionService.js index 2cdc2d4d1..f21ac3141 100644 --- a/app/portainer/services/api/extensionService.js +++ b/app/portainer/services/api/extensionService.js @@ -56,8 +56,13 @@ angular.module('portainer.app') return deferred.promise; }; - service.extensionEnabled = function(extensionId) { - return StateManager.getExtension(extensionId) ? true : false; + service.extensionEnabled = async function(extensionId) { + if (extensionId === service.EXTENSIONS.RBAC) { + return StateManager.getExtension(extensionId) ? true : false; + } else { + const extension = await Extension.get({id: extensionId}).$promise; + return extension.Enabled; + } }; service.retrieveAndSaveEnabledExtensions = async function() { diff --git a/app/portainer/services/stateManager.js b/app/portainer/services/stateManager.js index 29f3b60e5..83a472648 100644 --- a/app/portainer/services/stateManager.js +++ b/app/portainer/services/stateManager.js @@ -35,6 +35,7 @@ function StateManagerFactory($q, SystemService, InfoHelper, LocalStorage, Settin manager.clean = function () { state.endpoint = {}; + state.extensions = []; }; manager.updateLogo = function(logoURL) {