mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 11:20:39 -03:30
Added logic to hide activity stream button when the feature is turned off. Also added logic to redirect the user to the dashboard when they try to navigate to the stream when the feature is not on.
This commit is contained in:
parent
1bcc3b9269
commit
5f7de996bd
@ -15,6 +15,27 @@ export default {
|
||||
label: "ACTIVITY STREAM"
|
||||
},
|
||||
resolve: {
|
||||
features: ['FeaturesService', 'ProcessErrors', '$state', function(FeaturesService, ProcessErrors, $state) {
|
||||
FeaturesService.get()
|
||||
.then(function(features) {
|
||||
if(FeaturesService.featureEnabled('activity_streams')) {
|
||||
// Good to go - pass the features along to the controller.
|
||||
return features;
|
||||
}
|
||||
else {
|
||||
// The activity stream feature isn't enabled. Take the user
|
||||
// back to the dashboard
|
||||
$state.go('dashboard');
|
||||
}
|
||||
})
|
||||
.catch(function (response) {
|
||||
ProcessErrors(null, response.data, response.status, null, {
|
||||
hdr: 'Error!',
|
||||
msg: 'Failed to get feature info. GET returned status: ' +
|
||||
response.status
|
||||
});
|
||||
});
|
||||
}],
|
||||
subTitle:
|
||||
[ '$stateParams',
|
||||
'Rest',
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* jshint unused: vars */
|
||||
|
||||
export default
|
||||
[ 'templateUrl', '$state', function(templateUrl, $state) {
|
||||
[ 'templateUrl', '$state', 'FeaturesService', function(templateUrl, $state, FeaturesService) {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: templateUrl('bread-crumb/bread-crumb'),
|
||||
@ -32,10 +32,35 @@ export default
|
||||
streamConfig = (toState && toState.data) ? toState.data : {};
|
||||
|
||||
if(streamConfig && streamConfig.activityStream) {
|
||||
scope.showActivityStreamButton = true;
|
||||
|
||||
// Check to see if activity_streams is an enabled feature. $stateChangeSuccess fires
|
||||
// after the resolve on the state declaration so features should be available at this
|
||||
// point. We use the get() function call here just in case the features aren't available.
|
||||
// The get() function will only fire off the server call if the features aren't already
|
||||
// attached to the $rootScope.
|
||||
|
||||
FeaturesService.get()
|
||||
.then(function(features) {
|
||||
if(FeaturesService.featureEnabled('activity_streams')) {
|
||||
scope.showActivityStreamButton = true;
|
||||
}
|
||||
else {
|
||||
scope.showActivityStreamButton = false;
|
||||
}
|
||||
})
|
||||
.catch(function (response) {
|
||||
ProcessErrors(null, response.data, response.status, null, {
|
||||
hdr: 'Error!',
|
||||
msg: 'Failed to get feature info. GET returned status: ' +
|
||||
response.status
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
scope.showActivityStreamButton = false;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -31,6 +31,14 @@ function ($rootScope, Rest, GetBasePath, ProcessErrors, $http, $q) {
|
||||
// as a resovled promise.
|
||||
return $q.when($rootScope.features);
|
||||
}
|
||||
},
|
||||
featureEnabled: function(feature) {
|
||||
if($rootScope.features && $rootScope.features[feature] && $rootScope.features[feature] == true) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
}];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user