X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-FE-common%2Fclient%2Fapp%2Fviews%2Frole%2FrolefunctionpopupController.js;h=9144bcb16ac539cbf5985e9690a56aec40a79b4c;hb=21a8761f684745bb300e075c7e98ad897ace9eed;hp=412415006c0c814db439b3437503f0837a422e98;hpb=3af8af1310d5a27cb58be29505573f0bbdc1717c;p=portal.git diff --git a/ecomp-portal-FE-common/client/app/views/role/rolefunctionpopupController.js b/ecomp-portal-FE-common/client/app/views/role/rolefunctionpopupController.js index 41241500..9144bcb1 100644 --- a/ecomp-portal-FE-common/client/app/views/role/rolefunctionpopupController.js +++ b/ecomp-portal-FE-common/client/app/views/role/rolefunctionpopupController.js @@ -1,101 +1,154 @@ /*- - * ================================================================================ - * ECOMP Portal - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * + * + * http://www.apache.org/licenses/LICENSE-2.0 + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - * ================================================================================ + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. */ -app.controller('rolefunctionpopupController',function($scope, confirmBoxService, message, $http,RoleService, conf, isEditing) { - if (message.availableRoleFunction == null) { - $scope.label = 'Add Role Function'; - var tempText = ""; - } else { - $scope.label = 'Edit Role Function' - $scope.disableCd = true; - var tempText = new String(message.availableRoleFunction.name); - $scope.editRoleFunction = angular.copy(message.availableRoleFunction); - } - - $scope.tempText = tempText; - $scope.isEditing = isEditing; - - $scope.saveRoleFunction = function(availableRoleFunction) { - confirmBoxService.confirm( - "You are about to Create the role function "+ availableRoleFunction.name+ ". Do you want to continue?") - .then(function(confirmed) { - if (confirmed) { - - var uuu = conf.api.saveRoleFunction; - var postData = availableRoleFunction; - - if (availableRoleFunction == null) { - confirmBoxService.showInformation("Please enter valid role function details."); - } - var exists = false, x; - for (x in message.availableRoleFunctions) { - console.log(message.availableRoleFunctions[x].name); - if (message.availableRoleFunctions[x].name == availableRoleFunction.name) { - confirmBoxService.showInformation("Role Function already exists."); - exists = true; - availableRoleFunction.name = $scope.tempText; - break; - } - if (!isEditing) { - if (message.availableRoleFunctions[x].code == availableRoleFunction.code) { - confirmBoxService.showInformation("Code already exists. Please create a role function with a different code to proceed."); - exists = true; - availableRoleFunction.name = $scope.tempText; - break; - } - } - } - - if (!exists&& availableRoleFunction.name.trim() != ''&& availableRoleFunction.code.trim() != '') { - $http.post(uuu,JSON.stringify(postData)).then(function(res) { - $scope.availableRoleFunctionsTemp = res.data.availableRoleFunctions; - RoleService.getRoleFunctionList().then( - function(data) { - - var j = data; - $scope.data = JSON.parse(j.data); - $scope.availableRoleFunctions = JSON.parse($scope.data.availableRoleFunctions); +app.controller('rolefunctionpopupController',function($scope, confirmBoxService, message, $http, $modalInstance, RoleService, conf, isEditing) { + if (message.availableRoleFunction == null) { + $scope.label = 'Add Role Function'; + var tempText = ""; + $scope.selectedAppId = message.appId; + $scope.defaultAction = "*"; + $scope.disableTypeAction = true; + $scope.ngRepeatDemo = [ + {id: 'menuradiobutton1', value: 'menu', labelvalue: 'menu'}, + {id: 'urlradiobutton2', value: 'url', labelvalue: 'url'}, + {id: 'otherradiobutton3', value: 'other', labelvalue: 'other'} + ] + $scope.selectedvalueradioButtonGroup = { + type: 'menu' + } + $scope.editRoleFunction = { + action: '*' + } + } else { + $scope.ngRepeatDemo = [ + {id: 'menuradiobutton1', value: 'menu', labelvalue: 'menu'}, + {id: 'urlradiobutton2', value: 'url', labelvalue: 'url'}, + {id: 'otherradiobutton3', value: 'other', labelvalue: 'other'} + ] + $scope.label = 'Edit Role Function' + $scope.disableCd = true; + $scope.disableTypeAction = false; + var tempText = new String(message.availableRoleFunction.name); + $scope.editRoleFunction = angular.copy(message.availableRoleFunction); + if($scope.editRoleFunction.type.includes('menu')||$scope.editRoleFunction.type.includes('url')){ + $scope.selectedvalueradioButtonGroup = { + type: $scope.editRoleFunction.type + } + } else{ + $scope.selectedvalueradioButtonGroup = { + type: 'other' + } + } + $scope.selectedAppId = message.appId; + } + $scope.tempText = tempText; + $scope.isEditing = isEditing; - // $scope.resetMenu(); - /*$scope.closeThisDialog({ - result : true, - availableRoleFunctions : $scope.availableRoleFunctions - });*/ - $scope.$dismiss({result : true,availableRoleFunctions : $scope.availableRoleFunctions}); - }, - function(error) { - console.log("failed"); - // reloadPageOnce(); - //$scope.closeThisDialog(true); - $scope.$dismiss('cancel'); - }); + $scope.saveRoleFunction = function(availableRoleFunction, type) { + if(type !== 'other'){ + if (!availableRoleFunction.hasOwnProperty('type')) { + availableRoleFunction['type'] = type ; + } else{ + availableRoleFunction.type = type ; + } + } + if(/[^a-zA-Z0-9\-\.\_]/.test(availableRoleFunction.type)){ + confirmBoxService.showInformation('Type can only contain alphanumeric characters, dots(.) and underscores(_)').then(isConfirmed => {}); + return; + } + if(availableRoleFunction.action !== '*' && /[^a-zA-Z0-9\-\.\_]/.test(availableRoleFunction.action)){ + confirmBoxService.showInformation('Action can only contain alphanumeric characters, hyphens(-), dots(.) and underscores(_) and single asterisk character(*)').then(isConfirmed => {}); + return; + } + if(/[^a-zA-Z0-9\-\:\_\./*]/.test(availableRoleFunction.code)){ + confirmBoxService.showInformation('Instance can only contain alphanumeric characters, hyphens(-), dots(.), colons(:), forwardSlash(/) , asterisk(*) and underscores(_)').then(isConfirmed => {}); + return; + } + if(/[^a-zA-Z0-9\-\_ \.]/.test(availableRoleFunction.name)){ + confirmBoxService.showInformation('Name can only contain alphanumeric characters, spaces, hyphens(-), dots(.) and underscores(_)').then(isConfirmed => {}); + return; + } + confirmBoxService.confirm( + "You are about to Create the role function "+ availableRoleFunction.name+ ". Do you want to continue?") + .then(function(confirmed) { + if (confirmed) { + var uuu = conf.api.saveRoleFunction.replace(':appId', $scope.selectedAppId); + var postData = availableRoleFunction; + if (availableRoleFunction == null) { + confirmBoxService.showInformation("Please enter valid role function details."); + } + var exists = false, x; + for (x in message.availableRoleFunctions) { + console.log(message.availableRoleFunctions[x].name); + if (message.availableRoleFunctions[x].name == availableRoleFunction.name) { + confirmBoxService.showInformation("Role Function already exists."); + exists = true; + availableRoleFunction.name = $scope.tempText; + break; + } + if (!isEditing) { + if (message.availableRoleFunctions[x].code == availableRoleFunction.code) { + confirmBoxService.showInformation("Code already exists. Please create a role function with a different code to proceed."); + exists = true; + availableRoleFunction.name = $scope.tempText; + break; + } + } + } - }); + if (!exists&& availableRoleFunction.name.trim() != ''&& availableRoleFunction.code.trim() != '') { + $http.post(uuu,JSON.stringify(postData)).then(function(res) { + if(res.data.status == 'OK'){ + confirmBoxService.showInformation(res.data.message).then(isConfirmed => {}); + } else{ + confirmBoxService.showInformation('Error:' + res.data.message).then(isConfirmed => {}); + } + $scope.availableRoleFunctionsTemp = res.data.availableRoleFunctions; + $modalInstance.close(true); + }); - } - }; + } + }; - $scope.close = function() { - this.closeThisDialog(true); - }; - } + $scope.close = function() { + this.closeThisDialog(true); + }; + } - ); - } - }); \ No newline at end of file + ); + } +}); \ No newline at end of file