From a70761c096192e38800bf38d6c7f61f52bf72007 Mon Sep 17 00:00:00 2001 From: hb123f Date: Wed, 20 Mar 2019 12:20:44 -0400 Subject: CADI AAF Integration and merging the code Issue-ID: PORTAL-319 CADI AAF Integration and code merge Change-Id: I6e44f3b2741858d8d403b77a49ec9a0153084801 Signed-off-by: hb123f --- ecomp-portal-FE-os/client/src/app.js | 7 +-- .../application-details.controller.js | 51 +++++++++++++++++----- .../application-details.modal.html | 28 +++++++++--- 3 files changed, 67 insertions(+), 19 deletions(-) (limited to 'ecomp-portal-FE-os/client/src') diff --git a/ecomp-portal-FE-os/client/src/app.js b/ecomp-portal-FE-os/client/src/app.js index a481d867..ec531846 100644 --- a/ecomp-portal-FE-os/client/src/app.js +++ b/ecomp-portal-FE-os/client/src/app.js @@ -55,7 +55,7 @@ var app = angular.module('ecompApp', [ 'oc.lazyLoad', 'b2b.att' ]) - .config(($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider, ngDialogProvider, $controllerProvider, hammerDefaultOptsProvider) => { + .config(($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider, ngDialogProvider, $controllerProvider, hammerDefaultOptsProvider, $sanitizeProvider) => { app.controllerProvider = $controllerProvider; $urlRouterProvider.otherwise('/error404'); $locationProvider.html5Mode(true); @@ -102,13 +102,14 @@ var app = angular.module('ecompApp', [ 'responseError': function (rejection) { $log.error('Interceptor rejection: ' + JSON.stringify(rejection)); var $state = $injector.get('$state'); + var $sanitize = $injector.get('$sanitize'); switch (rejection.status) { case 401: var globalLoginUrl = rejection.headers()['global-login-url']; if (globalLoginUrl) { - window.location = globalLoginUrl + + window.location = $sanitize(globalLoginUrl + (globalLoginUrl.indexOf('?') === -1 ? '?' : '') + - '&retUrl=' + encodeURI(window.location); + '&retUrl=' + encodeURI(window.location)); return; } break; diff --git a/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.controller.js b/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.controller.js index 1a6c5b1a..efd5165a 100644 --- a/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.controller.js +++ b/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.controller.js @@ -38,7 +38,7 @@ 'use strict'; (function () { class AppDetailsModalCtrl { - constructor($scope, $log, applicationsService, errorMessageByCode, + constructor($scope, $log, $timeout, applicationsService, errorMessageByCode, 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 @@ -173,14 +173,26 @@ this.saveChanges = () => { //if valid.. - 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; - } + if(this.app.isCentralAuth){ + //if valid.. + if(((angular.isUndefined(this.app.myLoginsAppName) || !this.app.myLoginsAppName)&&(angular.isUndefined(this.app.myLoginsAppOwner) || !this.app.myLoginsAppOwner)&&(angular.isUndefined(this.app.name) || !this.app.name)&&(angular.isUndefined(this.app.url) || !this.app.url) + &&(angular.isUndefined(this.app.username) || !this.app.username))) { + 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; + } + }else{ + if(((angular.isUndefined(this.app.myLoginsAppName) || !this.app.myLoginsAppName)||(angular.isUndefined(this.app.myLoginsAppOwner) || !this.app.myLoginsAppOwner)||(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 along with password as the app is not centralized').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) { @@ -263,6 +275,23 @@ } }; + + // Caches the file name supplied by the event handler. + $scope.appImageHandler = (event, files) => { + if(files[0]){ + var fileName = files[0].name; + var validFormats = ['jpg', 'jpeg', 'bmp', 'gif', 'png']; + //Get file extension + var ext = fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase(); + //Check for valid format + if(validFormats.indexOf(ext) == -1){ + $scope.appImageTypeError=true; + $timeout(function(){ + $scope.appImageTypeError=false; + }, 5000); + } + } + }; // file change handler init(); @@ -293,7 +322,7 @@ }); } } - AppDetailsModalCtrl.$inject = ['$scope', '$log', 'applicationsService', 'errorMessageByCode', + AppDetailsModalCtrl.$inject = ['$scope', '$log', '$timeout', 'applicationsService', 'errorMessageByCode', 'ECOMP_URL_REGEX','userProfileService','$cookies', 'confirmBoxService','items']; angular.module('ecompApp').controller('AppDetailsModalCtrl', AppDetailsModalCtrl); -})(); \ No newline at end of file +})(); diff --git a/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.modal.html b/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.modal.html index 959bb90d..b4251f15 100644 --- a/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.modal.html +++ b/ecomp-portal-FE-os/client/src/views/applications/application-details-dialog/application-details.modal.html @@ -138,7 +138,7 @@ -
Password
+ --> +
+
Password
+
Name @@ -173,15 +179,27 @@ image-upload-resize-max-height="300" image-upload-resize-max-width="360" image-upload-resize-quality="0.7" - image-upload-api="appDetails.imageApi" style="height: 24px;" /> + image-upload-api="appDetails.imageApi" style="height: 24px;" + file-change="appImageHandler($event,files)" /> +
+
+ File must be an image +
+
+ file-change="appImageHandler($event,files)" /> +
+
+ File must be an image +
+
- Uploaded file must be an image Image file must be smaller than 1MB
-- cgit 1.2.3-korg