Deliver centralized role management feature
[portal.git] / ecomp-portal-FE-os / client / src / views / applications / application-details-dialog / application-details.controller.js
index da7cd4a..550b9fa 100644 (file)
 (function () {
     class AppDetailsModalCtrl {
         constructor($scope, $log, applicationsService, errorMessageByCode,
-                    ECOMP_URL_REGEX,userProfileService, $cookies, confirmBoxService) {
+                    ECOMP_URL_REGEX,userProfileService, $cookies, confirmBoxService,items) {
 //            let emptyImg = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
             // empty image should really be empty, or it causes problems for the back end
             let emptyImg = null;
             this.emptyImgForPreview = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
-
+            $scope.ngDialogData=items;
             let newAppModel = {
                 'id': null,
                 'name': null,
@@ -41,7 +41,9 @@
                 'appPassword': null,
                 'thumbnail': emptyImg,
                 'isEnabled': true,
-                'restrictedApp': false
+                'restrictedApp': false,
+                'nameSpace': null,
+                'isCentralAuth': false                
             };
 
             let init = () => {
@@ -71,6 +73,7 @@
                         this.app.thumbnail = emptyImg;
                         this.originalImage = null;
                         this.app.imageUrl = null;
+                        this.app.imageLink = null;
                     }
                 }).catch(err => {
                     $log.error('AppDetailsModalCtrl:removeImage error:: ',err);
 
             this.saveChanges = () => {
                 //if valid..
-                if($scope.appForm.$invalid){
-                    return;
-                }
+                if(((angular.isUndefined(this.app.name) || !this.app.name)&&(angular.isUndefined(this.app.url) || !this.app.url)
+                                &&(angular.isUndefined(this.app.username) || !this.app.username)&&(angular.isUndefined(this.app.appPassword) || !this.app.appPassword))) {
+                        confirmBoxService.showInformation('Please fill in all required fields').then(isConfirmed => {});
+                     return;
+                 }else if(!((angular.isUndefined(this.app.name) || !!this.app.name)&&(angular.isUndefined(this.app.url) || !!this.app.url))){
+                     confirmBoxService.showInformation('Please fill in all required fields').then(isConfirmed => {});
+                     return;
+                 }
                 this.isSaving = true;
                 // For a restricted app, null out all irrelevant fields
                 if (this.app.restrictedApp) {
                     this.app.uebSecret = null;
                 }
                 if(this.isEditMode){
+                    if (this.app.nameSpace=="") {this.app.nameSpace = null;}
                     applicationsService.updateOnboardingApp(this.app)
                         .then(() => {
                             $log.debug('AppDetailsModalCtrl:updateOnboardingApp:: App update succeeded!');
-                            $scope.closeThisDialog(true);
+                          //  $scope.closeThisDialog(true);
+                            $scope.$dismiss('cancel');
                             emptyCookies();
                         }).catch(err => {
                             switch (err.status) {
                     applicationsService.addOnboardingApp(this.app)
                         .then(() => {
                             $log.debug('App creation succeeded!');
-                            $scope.closeThisDialog(true);
+                            //$scope.closeThisDialog(true);
+                            $scope.$dismiss('cancel');
                             emptyCookies();
                         }).catch(err => {
                             switch (err.status) {
                             // for bug in IE 11
                         });
                 }
+               
             };
 
 
                 if(!(_.isEqual(newVal, oldVal))){
                     $log.debug('applicationsService:$scope.$watch:: thumbnail updated!');
                     this.app.imageUrl = null;
+                    this.app.imageLink = null;
                     this.app.thumbnail = newVal.resized.dataURL;
                 }
             });
         }
     }
     AppDetailsModalCtrl.$inject = ['$scope', '$log', 'applicationsService', 'errorMessageByCode',
-        'ECOMP_URL_REGEX','userProfileService','$cookies', 'confirmBoxService'];
+        'ECOMP_URL_REGEX','userProfileService','$cookies', 'confirmBoxService','items'];
     angular.module('ecompApp').controller('AppDetailsModalCtrl', AppDetailsModalCtrl);
 })();
\ No newline at end of file