diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js index 3451c66cb34..1d18e05fe93 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js @@ -79,18 +79,19 @@ var operationModule = function () { return featuresList; }; - publicMethods.getControlOperations = function (deviceType) { + publicMethods.getControlOperations = function (device) { + var deviceType = device.type; var operations = privateMethods.getOperationsFromFeatures(deviceType, "operation"); var features = utility.getDeviceTypeConfig(deviceType).deviceType.features; for (var op in operations) { var iconIdentifier = operations[op].operation; if (features && features[iconIdentifier]) { var icon = features[iconIdentifier].icon; - var isCloud = devicemgtProps["isCloud"]; - //TODO: remove isCloud check once able to verify features from the device agent - var isDisabled = features[iconIdentifier].isDisabled; - if (isDisabled && isCloud) { - operations[op]["isDisabled"] = isDisabled; + //TODO: need improve this check to get feature availability from agent side + var filter = features[iconIdentifier].filter; + if (device && filter && filter.property && device[filter.property] !== filter.value) { + operations[op]["isDisabled"] = true; + operations[op]["disabledText"] = filter.text; } else { operations[op]["isDisabled"] = false; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-bar/operation-bar.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-bar/operation-bar.js index f5562524396..835316c07d8 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-bar/operation-bar.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.operation-bar/operation-bar.js @@ -22,7 +22,7 @@ function onRequest(context) { var device = context.unit.params.device; var autoCompleteParams = context.unit.params.autoCompleteParams; var encodedFeaturePayloads=context.unit.params.encodedFeaturePayloads; - var controlOperations = operationModule.getControlOperations(device.type); + var controlOperations = operationModule.getControlOperations(device); var queryParams = []; var formParams = []; var pathParams = [];