Replace ecomp references
[portal.git] / ecomp-portal-FE-common / client / app / views / users / users.controller.js
index ac223ed..0a05d70 100644 (file)
@@ -1,31 +1,50 @@
 /*-
- * ================================================================================
- * 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============================================
+ *
+ * 
  */
 'use strict';
 (function () {
     class UsersCtrl {
-        constructor($log, applicationsService, usersService, confirmBoxService, $scope, ngDialog) {
+        constructor($log, applicationsService, usersService, confirmBoxService, $scope, ngDialog,$modal) {
             this.$log = $log;
             $scope.adminAppsIsNull = false;
             $scope.appsIsDown = false;
             $scope.noUsersInApp = false;
             $scope.multiAppAdmin = false;
+            $scope.syncRolesApplied = false;
 
             $log.info('UsersCtrl:: initializing...');
             /**
             };
 
             let init = () => {
+               $scope.app = {
+                       appId : ''      
+               };
                 this.isLoadingTable = false;
                 this.selectedApp = null;
                 this.isAppSelectDisabled = false;
-                this.selectApp = 'Select application';
+                this.selectApp = 'Select Application';
                 this.adminApps = [{index: 0, id: 0, value: this.selectApp, title: this.selectApp}];
                 getAdminApps();
 
                 }
             }
 
-            this.updateUsersList = () => {
+             let updateUsersList = () => {
                 $scope.appsIsDown = false;
                 $scope.noUsersInApp = false;
                 // $log.debug('UsersCtrl::updateUsersList: Starting updateUsersList');
                      }
                 }
                
-                if (this.selectedApp.title != this.selectApp) { // 'Select Application'
+                if (this.selectedApp.value != this.selectApp) { // 'Select Application'
                     usersService.getAccountUsers(this.selectedApp.id)
                         .then(accountUsers => {
                             $log.debug('UsersCtrl::updateUsersList accountUsers: '+ accountUsers);
                         }
                     }
                 }
-                ngDialog.open({
+                
+                var modalInstance = $modal.open({
                     templateUrl: 'app/views/users/new-user-dialogs/new-user.modal.html',
-                    controller: 'NewUserModalCtrl',
-                    controllerAs: 'newUser',
-                    data: data
-                }).closePromise.then(needUpdate => {
-                    if (needUpdate.value === true) {
-                        $log.debug('UsersCtrl::openAddNewUserModal updating table data...');
-                        this.updateUsersList();
-                    }
-                });
+                    controller: 'NewUserModalCtrl as newUser',
+                    sizeClass: 'modal-medium', 
+                    resolve: {
+                                       items: function () {
+                                               return data;
+                               }                
+                       }
+                })
+                
+                modalInstance.result.finally(function () {
+                    $log.debug('UsersCtrl::openAddNewUserModal updating table data...');
+                    updateUsersList();                 
+               });
             };
-            
+                            
             this.openBulkUserUploadModal = (adminApps) => {
                 let data = null;
                 if (adminApps) {
                         }
                     }
                 }
-                ngDialog.open({
-                    templateUrl: 'app/views/users/new-user-dialogs/bulk-user.modal.html',
-                    controller: 'BulkUserModalCtrl',
-                    controllerAs: 'bulkUser',
-                    data: data
-                }).closePromise.then(needUpdate => {
-                       this.updateUsersList();
+                var modalInstance = $modal.open({
+                       templateUrl: 'app/views/users/new-user-dialogs/bulk-user.modal.html',
+                    controller: 'BulkUserModalCtrl as bulkUser',
+                    sizeClass: 'modal-medium', 
+                    resolve: {
+                       items: function () {
+                               return data;
+                               }
+                       }
                 });
+                
+                modalInstance.result.finally(function () {
+                        $log.debug('UsersCtrl::openAddNewUserModal updating table data...');
+                        updateUsersList();
+               });
             };
 
+            this.syncRolesFromExternalAuthSystem = (appId) =>{
+               applicationsService.syncRolesEcompFromExtAuthSystem(appId).then(function(res){
+                       if(res.status == 200){
+                    confirmBoxService.showInformation('Sync operation completed successfully!').then(isConfirmed => {});                               
+                       } else{
+                                confirmBoxService.showInformation('Sync operation failed for '+app).then(isConfirmed => {});                           
+                       }
+               });
+            };
 
             $scope.$watch('users.selectedApp.value', (newVal, oldVal) => {
+               if(typeof(newVal) != 'undefined' && !newVal.includes("Select")){
+                 applicationsService.getSingleAppInfo(newVal).then(function(res) {
+                         $scope.app.appId = res.id;
+                         if(res.centralAuth == true){
+                                 $scope.syncRolesApplied = true;
+                         } else{
+                                 $scope.syncRolesApplied = false; 
+                         }
+                           });
+               }
                 if (!newVal || _.isEqual(newVal, oldVal)) {
                     return;
                 }
                 $log.debug('UsersCtrl::openAddNewUserModal:$watch selectedApp -> Fire with: ', newVal);
-                this.accountUsers = []; //reset table and show swirl here
-                this.updateUsersList();
+                this.accountUsers = []; // reset table and show swirl here
+                updateUsersList();
             });
 
             $scope.$on('$destroy', () => {
             init();
         }
     }
-    UsersCtrl.$inject = ['$log', 'applicationsService', 'usersService', 'confirmBoxService', '$scope', 'ngDialog'];
+    UsersCtrl.$inject = ['$log', 'applicationsService', 'usersService', 'confirmBoxService', '$scope', 'ngDialog','$modal'];
     angular.module('ecompApp').controller('UsersCtrl', UsersCtrl);
 })();