-/*-\r
- * ================================================================================\r
- * ECOMP Portal\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ================================================================================\r
- */\r
-app.controller('rolefunctionpopupController', function ($scope, confirmBoxService, message, $http,RoleService, conf, isEditing){\r
- if(message.availableRoleFunction==null) {\r
- $scope.label='Add Role Function';\r
- var tempText = "";\r
- }\r
- else{\r
- $scope.label='Edit Role Function'\r
- $scope.disableCd=true;\r
- var tempText = new String(message.availableRoleFunction.name);\r
- $scope.editRoleFunction = angular.copy(message.availableRoleFunction);\r
- }\r
- \r
- $scope.tempText = tempText;\r
- $scope.isEditing = isEditing;\r
- \r
- $scope.saveRoleFunction = function(availableRoleFunction) {\r
- var uuu = conf.api.saveRoleFunction;\r
- var postData={availableRoleFunction: availableRoleFunction};\r
-\r
- if(availableRoleFunction==null){\r
- confirmBoxService.showInformation("Please enter valid role function details.");\r
- }\r
- var exists = false,x;\r
- for(x in message.availableRoleFunctions){\r
- console.log(message.availableRoleFunctions[x].name);\r
- if(message.availableRoleFunctions[x].name==availableRoleFunction.name){\r
- confirmBoxService.showInformation("Role Function already exists.");\r
- exists = true;\r
- availableRoleFunction.name = $scope.tempText;\r
- break;\r
- } \r
- if(!isEditing){\r
- if (message.availableRoleFunctions[x].code == availableRoleFunction.code) {\r
- confirmBoxService.showInformation("Code already exists. Please create a role function with a different code to proceed.");\r
- exists = true;\r
- availableRoleFunction.name = $scope.tempText;\r
- break;\r
- }\r
- }\r
- }\r
- \r
- if(!exists && availableRoleFunction.name.trim() != '' && availableRoleFunction.code.trim() != ''){\r
- $http.post(uuu, JSON.stringify(postData)).then(function(res){\r
- console.log("data");\r
-// console.log(res.data);\r
-// $scope.availableRoleFunctionsTemp = res.data.availableRoleFunctions;\r
- RoleService.getRoleFunctionList().then(function(data){\r
- \r
- var j = data;\r
- $scope.data = JSON.parse(j.data);\r
- $scope.availableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);\r
- \r
- //$scope.resetMenu();\r
- $scope.closeThisDialog({result: true, availableRoleFunctions: $scope.availableRoleFunctions });\r
- },function(error){\r
- console.log("failed");\r
- //reloadPageOnce();\r
- $scope.closeThisDialog(true); \r
- });\r
- \r
- \r
- }); \r
- \r
- \r
- \r
- \r
- }\r
- };\r
- \r
- \r
- \r
- $scope.close = function() { \r
- this.closeThisDialog(true);\r
- };\r
-}\r
-);\r
+/*-
+ * ============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
+ *
+ * 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============================================
+ *
+ *
+ */
+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.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].type == availableRoleFunction.type
+ && message.availableRoleFunctions[x].code == availableRoleFunction.code
+ && message.availableRoleFunctions[x].action == availableRoleFunction.action
+ && 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].type == availableRoleFunction.type
+ && message.availableRoleFunctions[x].code == availableRoleFunction.code
+ && message.availableRoleFunctions[x].action == availableRoleFunction.action
+ ) {
+ confirmBoxService.showInformation("Please make sure code, type and action is unique. Please create a role function with a different code or type or action 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);
+ };
+ }
+
+ );
+ }
+});
\ No newline at end of file