Skip to content

Commit

Permalink
Use API.getPreferredVersion for catalog resources
Browse files Browse the repository at this point in the history
  • Loading branch information
spadgett committed Oct 10, 2017
1 parent eed4448 commit b79db0e
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 22 deletions.
6 changes: 3 additions & 3 deletions app/scripts/controllers/serviceInstance.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ angular.module('openshiftConsole')
var serviceInstanceDisplayName = $filter('serviceInstanceDisplayName');

// API Versions
var serviceInstancesVersion = APIService.getPreferredVersion('serviceinstances');
$scope.serviceInstancesVersion = APIService.getPreferredVersion('serviceinstances');

var updateBreadcrumbs = function() {
$scope.breadcrumbs.push({
Expand Down Expand Up @@ -81,10 +81,10 @@ angular.module('openshiftConsole')
$scope.projectContext = context;

DataService
.get(serviceInstancesVersion, $routeParams.instance, context, { errorNotification: false })
.get($scope.serviceInstancesVersion, $routeParams.instance, context, { errorNotification: false })
.then(function(serviceInstance) {
serviceResolved(serviceInstance);
watches.push(DataService.watchObject(serviceInstancesVersion, $routeParams.instance, context, serviceResolved));
watches.push(DataService.watchObject($scope.serviceInstancesVersion, $routeParams.instance, context, serviceResolved));
}, function(error) {
$scope.loaded = true;
$scope.alerts["load"] = {
Expand Down
10 changes: 6 additions & 4 deletions app/scripts/directives/overview/listRow.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
var isBinaryBuild = $filter('isBinaryBuild');
var enableTechPreviewFeature = $filter('enableTechPreviewFeature');

row.serviceBindingsVersion = APIService.getPreferredVersion('servicebindings');

var updateTriggers = function(apiObject) {
var triggers = _.get(apiObject, 'spec.triggers');
if (_.isEmpty(triggers)) {
Expand Down Expand Up @@ -174,13 +176,13 @@
// Create Binding is displayed.
if (enableTechPreviewFeature('pod_presets') &&
!_.isEmpty(row.state.bindableServiceInstances) &&
canI({resource: 'servicebindings', group: 'servicecatalog.k8s.io'}, 'create')) {
canI(row.serviceBindingsVersion, 'create')) {
return true;
}
// Delete Binding is displayed.
if (enableTechPreviewFeature('pod_presets') &&
!_.isEmpty(deleteableBindings) &&
canI({resource: 'servicebindings', group: 'servicecatalog.k8s.io'}, 'delete')) {
canI(row.serviceBindingsVersion, 'delete')) {
return true;
}
// Check if one of the start build actions is displayed
Expand Down Expand Up @@ -210,13 +212,13 @@
// Create Binding is displayed.
if (enableTechPreviewFeature('pod_presets') &&
!_.isEmpty(row.state.bindableServiceInstances) &&
canI({resource: 'servicebindings', group: 'servicecatalog.k8s.io'}, 'create')) {
canI(row.serviceBindingsVersion, 'create')) {
return true;
}
// Delete Binding is displayed.
if (enableTechPreviewFeature('pod_presets') &&
!_.isEmpty(deleteableBindings) &&
canI({resource: 'servicebindings', group: 'servicecatalog.k8s.io'}, 'delete')) {
canI(row.serviceBindingsVersion, 'delete')) {
return true;
}
return false;
Expand Down
11 changes: 8 additions & 3 deletions app/scripts/directives/overview/serviceInstanceRow.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
angular.module('openshiftConsole').component('serviceInstanceRow', {
controller: [
'$filter',
'APIService',
'AuthorizationService',
'BindingService',
'ListRowUtils',
Expand All @@ -20,6 +21,7 @@
});

function ServiceInstanceRow($filter,
APIService,
AuthorizationService,
BindingService,
ListRowUtils,
Expand All @@ -32,6 +34,9 @@

var serviceInstanceDisplayName = $filter('serviceInstanceDisplayName');

row.serviceBindingsVersion = APIService.getPreferredVersion('servicebindings');
row.serviceInstancesVersion = APIService.getPreferredVersion('serviceinstances');

var getServiceClass = function() {
var serviceClassName = ServiceInstancesService.getServiceClassNameForInstance(row.apiObject);
return _.get(row, ['state','serviceClasses', serviceClassName]);
Expand Down Expand Up @@ -81,15 +86,15 @@
}

// We can create bindings
if (row.isBindable && AuthorizationService.canI({resource: 'servicebindings', group: 'servicecatalog.k8s.io'}, 'create')) {
if (row.isBindable && AuthorizationService.canI(row.serviceBindingsVersion, 'create')) {
return true;
}
// We can delete bindings
if (!_.isEmpty(row.deleteableBindings) && AuthorizationService.canI({resource: 'servicebindings', group: 'servicecatalog.k8s.io'}, 'delete')) {
if (!_.isEmpty(row.deleteableBindings) && AuthorizationService.canI(row.serviceBindingsVersion, 'delete')) {
return true;
}
// We can delete instances
if (AuthorizationService.canI({resource: 'serviceinstances', group: 'servicecatalog.k8s.io'}, 'delete')) {
if (AuthorizationService.canI(row.serviceInstancesVersion, 'delete')) {
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion app/scripts/filters/canI.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ angular
_.assign({}, APIService.getPreferredVersion('imagestreams'), {verbs: ['update', 'delete']})
],
'serviceInstances': [
{group: 'servicecatalog.k8s.io', resource: 'serviceinstances', verbs: ['update', 'delete']}
_.assign({}, APIService.getPreferredVersion('serviceinstances'), {verbs: ['update', 'delete']})
],
'persistentVolumeClaims': [
{group: '', resource: 'persistentvolumeclaims', verbs: ['update', 'delete']}
Expand Down
4 changes: 2 additions & 2 deletions app/views/browse/service-instance.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ <h1 class="contains-actions">
class="dropdown-toggle actions-dropdown-kebab visible-xs-inline"
data-toggle="dropdown"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sr-only">Actions</span></a>
<ul class="dropdown-menu dropdown-menu-right actions action-button">
<li ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'update'">
<li ng-if="serviceInstancesVersion | canI : 'update'">
<a ng-href="{{serviceInstance | editYamlURL}}" role="button">Edit YAML</a>
</li>
<li ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'delete'">
<li ng-if="serviceInstancesVersion | canI : 'delete'">
<a href="" ng-click="deprovision()" role="button">Delete</a>
</li>
</ul>
Expand Down
8 changes: 4 additions & 4 deletions app/views/overview/_list-row-actions.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@
</li>
<li ng-if="('pod_presets' | enableTechPreviewFeature)
&& row.state.bindableServiceInstances.length
&& ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'create')" role="menuitem">
&& (row.serviceBindingsVersion | canI : 'create')" role="menuitem">
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">Create Binding</a>
</li>
<li ng-if="('pod_presets' | enableTechPreviewFeature)
&& row.state.deleteableBindingsByApplicationUID[row.apiObject.metadata.uid].length
&& ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'delete')" role="menuitem">
&& (row.serviceBindingsVersion | canI : 'delete')" role="menuitem">
<a href="" ng-click="row.showOverlayPanel('unbindService', {target: row.apiObject})">Delete Binding</a>
</li>
<li ng-if="row.current && ('deploymentconfigs/log' | canI : 'get')" role="menuitem">
Expand Down Expand Up @@ -65,12 +65,12 @@
</li>
<li ng-if="('pod_presets' | enableTechPreviewFeature)
&& row.state.bindableServiceInstances.length
&& ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'create')" role="menuitem">
&& (row.serviceBindingsVersion | canI : 'create')" role="menuitem">
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">Create Binding</a>
</li>
<li ng-if="('pod_presets' | enableTechPreviewFeature)
&& row.state.deleteableBindingsByApplicationUID[row.apiObject.metadata.uid].length
&& ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'delete')" role="menuitem">
&& (row.serviceBindingsVersion | canI : 'delete')" role="menuitem">
<a href="" ng-click="row.showOverlayPanel('unbindService', {target: row.apiObject})">Delete Binding</a>
</li>
<li ng-if="(pod = row.firstPod(row.current)) && ('pods/log' | canI : 'get')" role="menuitem">
Expand Down
10 changes: 5 additions & 5 deletions app/views/overview/_service-instance-row.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ <h3>
<div class="list-pf-details" ng-if="!row.expanded">
<span ng-if="!row.bindings.length
&& row.isBindable
&& ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'create')"
&& (row.serviceBindingsVersion | canI : 'create')"
class="hidden-xs hidden-sm">
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">
<span class="pficon pficon-add-circle-o" aria-hidden="true"></span>
Expand Down Expand Up @@ -74,16 +74,16 @@ <h3>
uib-dropdown-toggle
class="actions-dropdown-kebab"><i class="fa fa-ellipsis-v"></i><span class="sr-only">Actions</span></a>
<ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu role="menu">
<li role="menuitem" ng-if="row.isBindable && ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'create')">
<li role="menuitem" ng-if="row.isBindable && (row.serviceBindingsVersion | canI : 'create')">
<a href="" ng-click="row.showOverlayPanel('bindService', {target: row.apiObject})">
Create Binding
</a>
</li>
<li role="menuitem" ng-if="row.deleteableBindings.length && ({resource: 'servicebindings', group: 'servicecatalog.k8s.io'} | canI : 'delete')">
<li role="menuitem" ng-if="row.deleteableBindings.length && (row.serviceBindingsVersion | canI : 'delete')">
<a href="" ng-click="row.showOverlayPanel('unbindService', {target: row.apiObject})">Delete Binding</a>
</li>
<li role="menuitem">
<a href="" ng-click="row.deprovision()" role="button" ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'delete'">Delete</a>
<a href="" ng-click="row.deprovision()" role="button" ng-if="row.serviceInstancesVersion | canI : 'delete'">Delete</a>
</li>
</ul>
</div>
Expand Down Expand Up @@ -116,7 +116,7 @@ <h3>
<span class="mar-right-md">
<truncate-long-text content="row.apiObject | serviceInstanceFailedMessage" limit="265"></truncate-long-text>
</span>
<span ng-if="{resource: 'serviceinstances', group: 'servicecatalog.k8s.io'} | canI : 'delete'" class="nowrap">
<span ng-if="row.serviceInstancesVersion | canI : 'delete'" class="nowrap">
<a href="" ng-click="row.deprovision()">Delete This Service</a>
</span>
</div>
Expand Down

0 comments on commit b79db0e

Please sign in to comment.