From: Nilay Ranjan Date: Mon, 9 Dec 2019 17:28:39 +0000 (+0530) Subject: Disabled manual service creation for Partner X-Git-Tag: 1.6.1~29 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=e38ef745ab296de90cb428f26348de32e4295420;p=sdc.git Disabled manual service creation for Partner Changes to disable/hide Partner Domain Service category to disable manual creation of such services Issue-ID: SDC-2382 Change-Id: Ie15732360d78542f41101e315fa4aa803531b5f2 Signed-off-by: Atif Husain --- diff --git a/catalog-ui/configurations/menu.js b/catalog-ui/configurations/menu.js index c1c6d10710..4f85d0f75d 100644 --- a/catalog-ui/configurations/menu.js +++ b/catalog-ui/configurations/menu.js @@ -498,7 +498,7 @@ const SDC_MENU_CONFIG = { {"text": "Properties Assignment", "action": "onMenuItemPressed", "state": "workspace.properties_assignment"} ], "SERVICE": [ - {"text": "General", "action": "onMenuItemPressed", "state": "workspace.general"}, + {"text": "General", "action": "onMenuItemPressed", "state": "workspace.general", "hiddenCategories":["Partner Domain Service"]}, {"text": "TOSCA Artifacts", "action": "onMenuItemPressed", "state": "workspace.tosca_artifacts"}, {"text": "Composition", "action": "onMenuItemPressed", "state": "workspace.composition.details", "disabledCategories":["Partner Domain Service"]}, {"text": "Operation", "action":"onMenuItemPressed", "state": "workspace.interface_operation"}, diff --git a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts index 635fc54a27..b4529700cf 100644 --- a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts +++ b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view-model.ts @@ -65,6 +65,7 @@ export interface IGeneralScope extends IWorkspaceViewModelScope { browseFileLabel:string; componentCategories:componentCategories; instantiationTypes:Array; + isHiddenCategorySelected: boolean; save():Promise; revert():void; @@ -344,6 +345,39 @@ export class GeneralViewModel { this.$scope.updateMenuComponentName(this.$scope.component.name); }; + //Find if a category is applicable for External API or not + private isHiddenCategory = (category: string) => { + let items: Array = new Array(); + items = this.$scope.sdcMenu.component_workspace_menu_option[this.$scope.component.getComponentSubType()]; + for(let index = 0; index < items.length; ++index) { + if ((items[index].hiddenCategories && items[index].hiddenCategories.indexOf(category) > -1)) { + return true; + } + } + return false; + }; + + private filteredCategories = () => { + let tempCategories: Array = new Array(); + this.$scope.categories.forEach((category) => { + if (!this.isHiddenCategory(category.name) + && this.$scope.isCreateMode() + ) { + tempCategories.push(category); + } else if ((ComponentState.NOT_CERTIFIED_CHECKOUT === this.$scope.component.lifecycleState) + && !this.isHiddenCategory(this.$scope.component.selectedCategory) + && !this.isHiddenCategory(category.name) + ) { + tempCategories.push(category); + } else if ((ComponentState.NOT_CERTIFIED_CHECKOUT === this.$scope.component.lifecycleState) + && this.isHiddenCategory(this.$scope.component.selectedCategory)) { + tempCategories.push(category); + } + }); + + return tempCategories; + }; + private initScopeMethods = ():void => { this.$scope.initCategoreis = ():void => { @@ -353,6 +387,14 @@ export class GeneralViewModel { } if (this.$scope.componentType === ComponentType.SERVICE) { this.$scope.categories = this.cacheService.get('serviceCategories'); + + //Remove categories from dropdown applicable for External API + if (this.$scope.isCreateMode() || (ComponentState.NOT_CERTIFIED_CHECKOUT === this.$scope.component.lifecycleState)) { + this.$scope.categories = this.filteredCategories(); + //Flag to disbale category if service is created through External API + this.$scope.isHiddenCategorySelected = this.isHiddenCategory(this.$scope.component.selectedCategory); + } + } }; @@ -582,3 +624,4 @@ export class GeneralViewModel { }; } + diff --git a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html index ee9b58d4e3..07f1e4d6ed 100644 --- a/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html +++ b/catalog-ui/src/app/view-models/workspace/tabs/general/general-view.html @@ -89,7 +89,7 @@ name="category" data-ng-class="{'view-mode': isViewMode()}" data-ng-change="onCategoryChange()" - data-ng-disabled="component.isAlreadyCertified() || (component.isCsarComponent() && component.selectedCategory && component.selectedCategory!=='')" + data-ng-disabled="component.isAlreadyCertified() || (component.isCsarComponent() && component.selectedCategory && component.selectedCategory!=='') || isHiddenCategorySelected" data-ng-model="componentCategories.selectedCategory" data-tests-id="selectGeneralCategory" >