// Flag that indicates background work is proceeding
$scope.isProcessing = true;
+
+ $scope.isProcessedRecords = false;
// Load user's admin applications
applicationsService.getAdminApps().promise().then(apps => {
$scope.selectedApplication = $scope.adminApps[0];
}
$scope.isProcessing = false;
+ $scope.isProcessedRecords = false;
}).catch(err => {
$log.error('BulkUserModalCtrl::init: getAdminApps threw', err);
$scope.isProcessing = false;
+ $scope.isProcessedRecords = false;
});
}; // init
// Caches the file name supplied by the event handler.
$scope.fileChangeHandler = (event, files) => {
- this.fileSelected = true;
- this.fileToRead = files[0];
+ var fileName = files[0].name;
+ var validFormats = ['csv', 'txt'];
+ //Get file extension
+ var ext = fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
+ //Check for valid format
+ if(validFormats.indexOf(ext) == -1){
+ this.fileSelected = false;
+ }else{
+ this.fileSelected = true;
+ this.fileToRead = files[0];
+ }
if (debug)
$log.debug("BulkUserModalCtrl::fileChangeHandler: file is ", this.fileToRead);
}; // file change handler
*/
$scope.readValidateFile = () => {
$scope.isProcessing = true;
+ $scope.conformMsg = '';
+ $scope.isProcessedRecords = true;
$scope.progressMsg = 'Reading upload file..';
var reader = new FileReader();
reader.onload = function(event) {
$log.debug('BulkUserModalCtrl::readValidateFile inner-then ends');
$scope.progressMsg = 'Done.';
$scope.isProcessing = false;
+ $scope.isProcessedRecords = false;
},
function(error) {
$log.error('BulkUserModalCtrl::readValidateFile: failed retrieving user-app roles');
$scope.isProcessing = false;
+ $scope.isProcessedRecords = false;
}
); // then of app promises
},
function(error) {
$log.error('BulkUserModalCtrl::readValidateFile: failed retrieving user info');
$scope.isProcessing = false;
+ $scope.isProcessedRecords = false;
}
); // then of user promises
},
function(error) {
$log.error('BulkUserModalCtrl::readValidateFile: failed retrieving app role info');
$scope.isProcessing = false;
+ $scope.isProcessedRecords = false;
}
); // then of role promise
if (prevRow == null || prevRow.orgUserId.toLowerCase() !== uploadRow.orgUserId.toLowerCase()) {
if (debug)
$log.debug('BulkUserModalCtrl::buildAppRoleChecks: create request for orgUserId ' + uploadRow.orgUserId);
- let appPromise = usersService.getUserAppRoles(appId, uploadRow.orgUserId,true).promise().then( (userAppRolesResult) => {
+ let appPromise = usersService.getUserAppRoles(appId, uploadRow.orgUserId,true, false).promise().then( (userAppRolesResult) => {
// Reply for unknown user has all defined roles with isApplied=false on each.
if (typeof userAppRolesResult[0] !== "undefined") {
if (debug)
*/
$scope.updateDB = () => {
$scope.isProcessing = true;
+ $scope.conformMsg = '';
+ $scope.isProcessedRecords = true;
$scope.progressMsg = 'Sending requests to application..';
if (debug)
$log.debug('BulkUserModalCtrl::updateDB: request length is ' + appUserRolesRequest.length);
// Run all the promises
$q.all(promises).then(function(){
+ $scope.conformMsg = 'Processed ' + numberUsersSucceeded + ' users.';
$scope.isProcessing = false;
- confirmBoxService.showInformation('Processed ' + numberUsersSucceeded + ' users.').then(isConfirmed => {
- // Close the upload-confirm dialog
- ngDialog.close();
- });
+ $scope.isProcessedRecords = true;
+ $scope.uploadFile = [];
+
});
}; // updateDb