[PORTAL-7] Rebase
[portal.git] / ecomp-portal-FE-common / client / app / views / support / get-access / get-access.controller.js
diff --git a/ecomp-portal-FE-common/client/app/views/support/get-access/get-access.controller.js b/ecomp-portal-FE-common/client/app/views/support/get-access/get-access.controller.js
new file mode 100644 (file)
index 0000000..74b5ba4
--- /dev/null
@@ -0,0 +1,123 @@
+/*-\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
+'use strict';\r
+(function () {\r
+    class GetAccessCtrl {\r
+        constructor($log, $scope,  $stateParams, getAccessService, userProfileService, ExternalRequestAccessService, applicationsService, ngDialog) {\r
+               // $log.debug('GetAccessCtrl: appService param is: ' + applicationsService.goGetAccessAppName);\r
+               var resultAccessValue = null;\r
+               \r
+               $scope.openAppRoleModal = (itemData) => {       \r
+                       if(resultAccessValue){\r
+                       let data = null;\r
+                    data = {\r
+                        dialogState: 2,\r
+                        selectedUser:{\r
+                            attuid: $scope.attuid,\r
+                            firstName: $scope.firstName,\r
+                            lastName: $scope.lastName,\r
+                            headerText: itemData.app_name\r
+                        }\r
+                    }\r
+                ngDialog.open({\r
+                    templateUrl: 'app/views/catalog/add-catalog-dialogs/new-catalog.modal.html',\r
+                    controller: 'NewCatalogModalCtrl',\r
+                    controllerAs: 'userInfo',\r
+                    data: data\r
+                });\r
+                       }\r
+            }\r
+               \r
+            userProfileService.getUserProfile().then(\r
+                               function(profile) {\r
+                                       $scope.attuid = profile.orgUserId;\r
+                                       $scope.firstName = profile.firstName;\r
+                                       $scope.lastName = profile.lastName;\r
+                 });\r
+            \r
+               this.updateAppsList = () => {\r
+                       ExternalRequestAccessService.getExternalRequestAccessServiceInfo().then(\r
+                                               function(property) {\r
+                                                       resultAccessValue = property.accessValue;\r
+                               }).catch(err => {\r
+                    $log.error('GetAccessCtrl: failed getExternalRequestAccessServiceInfo: ' + JSON.Stringify(err));\r
+                });\r
+                getAccessService.getListOfApp().then(res=> {\r
+                       var tableData=[];\r
+                       // $log.info('GetAccessCtrl::updateAppsList: getting res');\r
+                       var result = (typeof(res.data) != "undefined" && res.data!=null)?res.data:null;\r
+                       // $log.info('GetAccessCtrl::updateAppsList: result',result);\r
+                       // $log.info('GetAccessCtrl::updateAppsList: done');\r
+                       var source = result;\r
+                       // $log.info('GetAccessCtrl::updateAppsList source: ', source);\r
+                       for(var i=0;i<source.length; i++){\r
+                               var dataArr = source[i];\r
+                               var checkEcompFuncAvail = 'Ecomp Function Not Available' ; \r
+                               var reqStatus = 'Pending'; \r
+                               dataArr.ecompFunction = (dataArr.ecompFunction === null) ? checkEcompFuncAvail : dataArr.ecompFunction;\r
+                               dataArr.reqType = (dataArr.reqType === 'P') ? reqStatus : dataArr.reqType;\r
+                       var dataTemp={\r
+                               ecomp_function: dataArr.ecompFunction,\r
+                               app_name:dataArr.appName,\r
+                               role_name:dataArr.roleName,\r
+                               current_role:dataArr.roleActive,\r
+                               request_type:dataArr.reqType\r
+                       }\r
+                       tableData.push(dataTemp);\r
+                       } \r
+                       this.appTable=tableData;\r
+                       if(tableData!=null){\r
+                               var len = tableData.length;\r
+                               this.totalPage =  Math.ceil(len/this.viewPerPage);     \r
+                       }\r
+                       if( $stateParams.appName != null)\r
+                               this.searchString = $stateParams.appName;\r
+                       else\r
+                               this.searchString = applicationsService.goGetAccessAppName;\r
+                       // the parameter has been used; clear the value.\r
+                       applicationsService.goGetAccessAppName = '';\r
+                }).catch(err=> {\r
+                    $log.error('GetAccessCtrl:error:: ', err);\r
+                }).finally(() => {\r
+                    this.isLoadingTable = false;\r
+                });\r
+            };\r
+            \r
+            this.updateTable = (num) => {\r
+                this.startIndex=this.viewPerPage*(num-1);\r
+                this.currentPage = num;\r
+            };\r
+               let init = () => {\r
+                // $log.info('GetAccessCtrl:: initializing...');\r
+                this.searchString = '';\r
+                this.getAccessTableHeaders = ['ECOMP Function', 'Application Name', 'Role Name', 'Current Role', 'Request Status'];\r
+                this.appTable=[];\r
+                this.updateAppsList();             \r
+                this.viewPerPage=20;\r
+                this.startIndex=0;\r
+                this.currentPage = 1;\r
+                this.totalPage=0;\r
+            };\r
+            init();\r
+        }\r
+    }\r
+    GetAccessCtrl.$inject = ['$log', '$scope', '$stateParams', 'getAccessService', 'userProfileService', 'ExternalRequestAccessService','applicationsService', 'ngDialog'];\r
+    angular.module('ecompApp').controller('GetAccessCtrl', GetAccessCtrl);\r
+})();\r