From 9e7a8819aeec7123b0b151b4b3bb41dfb05d1c3a Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Fri, 7 Jul 2023 16:29:04 +0530 Subject: [PATCH] Auto Login Changes : ps --- .../components/ques-template/ques-template.ts | 37 +++++- .../sales-pd/providers/sales-pd/sales-pd.ts | 8 +- .../sales-pd-list/sales-pd.component.html | 6 + .../sales-pd-list/sales-pd.component.ts | 26 +++- .../app/sales-pd/services/sales-pd.service.ts | 8 +- .../auto-login/auto-login.component.ts | 114 +++++++++++++----- 6 files changed, 166 insertions(+), 33 deletions(-) diff --git a/ng6-seed/src/app/sales-pd/components/ques-template/ques-template.ts b/ng6-seed/src/app/sales-pd/components/ques-template/ques-template.ts index 73ea42e..4ab0cf5 100755 --- a/ng6-seed/src/app/sales-pd/components/ques-template/ques-template.ts +++ b/ng6-seed/src/app/sales-pd/components/ques-template/ques-template.ts @@ -27,6 +27,7 @@ import { SectionListComponent } from 'app/sales-pd/section-list/section-list.com import { CameraService } from 'app/sales-pd/providers/camera/camera.service'; import { ApiServiceService } from 'app/lender-credit-pd/services/apiService/api-service.service'; import { ImageEditComponent } from './image-edit/image-edit.component'; +import { environment } from 'environments/environment'; // const originFormControlNameNgOnChanges = FormControlName.prototype.ngOnChanges; // FormControlName.prototype.ngOnChanges = function () { // const result = originFormControlNameNgOnChanges.apply(this, arguments); @@ -1950,9 +1951,22 @@ this.proceedonChangeProperty(modified) console.log('1752') section_data.questions=this.questions_JSON.questions section_data.is_completed=true - setTimeout(()=>{ - this.emitter.emit(section_data) - }) + + let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login + if(params.status=="COMPLETED" && login_type_id == 0){ + let completedPD = localStorage.getItem('completedPD'); + completedPD = JSON.parse(completedPD) + let applicant_id = completedPD['applicant_id'] + console.log(completedPD['applicant_id']); + console.log('completedPD[sales_pd_sno]',completedPD['sales_pd_sno']); + this.redirectSMC(applicant_id); + // return true; + } + + + setTimeout(()=>{ + this.emitter.emit(section_data) + }) } // this.insertSectionDataLocally(section_data) @@ -2275,4 +2289,21 @@ this.proceedonChangeProperty(modified) return data } } + + redirectSMC(applicant_id){ + // window.location.href=data.records; + let email = localStorage.getItem('officer_mail_id'); + let link = ""; + if(environment.authorization == 'TnAwuc64pVpcB9xf'){ + link ="https://salesapp.smcfinance.com/app/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36" + }else if(environment.authorization == 'sparqvenba2018'){ + link ="http://salesapp.devopsmcfinance.com/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36" + } + // http://salesapp.devopsmcfinance.com/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36&applicantid=4231&email=aniltiwari@smcfinance.com + //let url =link+"&PDID="+sales_pd_sno+"&Email="+email; + let new_mail_id = "aniltiwari@smcfinance.com"; // given by link. + let url =link+"&applicantid="+applicant_id+"&Email="+new_mail_id; + console.log('redirectSMC',url); + window.open(url); + } } diff --git a/ng6-seed/src/app/sales-pd/providers/sales-pd/sales-pd.ts b/ng6-seed/src/app/sales-pd/providers/sales-pd/sales-pd.ts index 857c285..309a0cc 100755 --- a/ng6-seed/src/app/sales-pd/providers/sales-pd/sales-pd.ts +++ b/ng6-seed/src/app/sales-pd/providers/sales-pd/sales-pd.ts @@ -175,7 +175,13 @@ current_section:any; apiName = 'getFlyhiPDSectionData' } - params.fk_createdby=users.userid + if(localStorage.getItem('login_type_id') == '1'){ //autologin + params.fk_createdby = localStorage.getItem('officer_id'); + }else{ + params.fk_createdby=users.userid + } + + return Observable.create((observer:Observer)=>{ this.getData_fromLocal('sales_pd_id_PRIMARYKEY').then(key_value=>{ params.sales_pd_id=key_value diff --git a/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.html b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.html index ecd43f7..582e0d8 100644 --- a/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.html +++ b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.html @@ -254,6 +254,12 @@ +
+ +
+
diff --git a/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.ts b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.ts index ce224f7..b720f81 100644 --- a/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.ts +++ b/ng6-seed/src/app/sales-pd/sales-pd-list/sales-pd.component.ts @@ -44,12 +44,14 @@ export class SalesPdComponent implements OnInit { is_sales_login:boolean = false public finallink: any; roleID: any; + loginTypeId : any; constructor(private loaderService:LoaderService,private constantProvider:ConstantsProvider,private dialog:MatDialog,private route: ActivatedRoute, private router: Router,private _creditPdService:ApiServiceService,private SalesPDService:SalesPdService) { // this.common = JSON.parse(localStorage.getItem('commonSettings')).default_pd_list_count; // this.common = this.common.count+' '+this.common.factor // this.user_type = localStorage.getItem('len_user_role') + this.loginTypeId = localStorage.getItem('login_type_id'); setTimeout(()=>{ let userDetails = localStorage.getItem('user_details'); console.log('userdetails'); @@ -278,7 +280,29 @@ editForm(value_obj){ // }) //}) } - + +redirected(value_obj){ + let campletedCase = JSON.stringify(value_obj) + localStorage.getItem("completedPD") === null ? localStorage.setItem('completedPD',campletedCase) : ''; + localStorage.getItem("sales_pd_id_PRIMARYKEY") === null ? localStorage.setItem('sales_pd_id_PRIMARYKEY',value_obj.sales_pd_id) : ''; + localStorage.getItem("sales_rand_string") === null ? localStorage.setItem('sales_rand_string',value_obj.rand_string) : ''; + + // window.location.href=data.records; + let email = localStorage.getItem('officer_mail_id'); + let applicant_id = value_obj.applicant_id; + console.log(value_obj.applicant_id); + let link = ""; + if(environment.authorization == 'TnAwuc64pVpcB9xf'){ + link ="https://salesapp.smcfinance.com/app/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36" + }else if(environment.authorization == 'sparqvenba2018'){ + link ="http://salesapp.devopsmcfinance.com/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36" + } + // let url =link+"&applicantid="+applicant_id+"&PDID="+sales_pd_sno+"&Email="+email; + let url =link+"&applicantid="+applicant_id+"&Email=aniltiwari@smcfinance.com"; + console.log(url); + window.open(url); +} + filteredDataSource(res){ console.log("From Parent",res); if(res['dataStatus']){ diff --git a/ng6-seed/src/app/sales-pd/services/sales-pd.service.ts b/ng6-seed/src/app/sales-pd/services/sales-pd.service.ts index 4ac1218..42e5e97 100644 --- a/ng6-seed/src/app/sales-pd/services/sales-pd.service.ts +++ b/ng6-seed/src/app/sales-pd/services/sales-pd.service.ts @@ -159,7 +159,13 @@ saveQuestions(params): Observable{ let result_from_api:any; let userid:any=localStorage.getItem("user_details") userid=JSON.parse(userid).userid; - params.createdby=userid + + if(localStorage.getItem('login_type_id') == '1'){ //aout-login means + params.createdby = localStorage.getItem('officer_id'); + }else{ + params.createdby=userid + } + let product_id=localStorage.getItem('product_id_salesPD') let sales_pd_type = localStorage.getItem('sales_pd_type'); let users:any=localStorage.getItem('user_details') diff --git a/ng6-seed/src/app/session/auto-login/auto-login.component.ts b/ng6-seed/src/app/session/auto-login/auto-login.component.ts index ec3d436..a4d0b36 100644 --- a/ng6-seed/src/app/session/auto-login/auto-login.component.ts +++ b/ng6-seed/src/app/session/auto-login/auto-login.component.ts @@ -3,19 +3,34 @@ import { ActivatedRoute } from '@angular/router'; import { Router } from "@angular/router"; import { AwsService } from '../../AwsService/aws.service'; import { DashboardService } from 'app/dashboard/dashboard.service'; +import { DatePipe } from '@angular/common'; +import { SalesPdService } from '../../sales-pd/services/sales-pd.service'; +import { UserService } from '../../settings/service/user.service'; @Component({ selector: 'app-auto-login', templateUrl: './auto-login.component.html', - styleUrls: ['./auto-login.component.scss'] + styleUrls: ['./auto-login.component.scss'], + providers: [DatePipe] }) export class AutoLoginComponent implements OnInit { + + errorMessage: any; + salesPdData:any = []; + // currentUser: Object; + currentUser: any={short_name : ''}; + userDetails: any; + userDep: string; + fullName: string; + roleName: any; + profileurl: any; - constructor(private router: Router,private route: ActivatedRoute,public aws: AwsService,private dashBoardService:DashboardService) { } + constructor(private router: Router,private route: ActivatedRoute,public aws: AwsService,private dashBoardService:DashboardService,public users:UserService,private salespdservice:SalesPdService) { } token: string; password: string; + ngOnInit(): void { this.route.queryParams.subscribe(params => { @@ -35,32 +50,77 @@ export class AutoLoginComponent implements OnInit { const password = splitparts[1].split(/\s/).join(''); const officer_id = splitparts[2].split(/\s/).join(''); const role_id = splitparts[3].split(/\s/).join(''); + const date_timing = splitparts[4]; // for vaildation + const officer_mail_id = splitparts[5].split(/\s/).join(''); + const sales_pd_id = splitparts[6].split(/\s/).join(''); + - console.log("splited My UN :",mailid," PWD :",password, " OFF ID : ",officer_id," ROLE ID : ",role_id); - - let auth = { 'Username': mailid, 'Password': password }; - this.aws.dologin(auth).subscribe(res => { - console.log("Auto login",res); - if (res !== undefined) { - localStorage.setItem('user_role',role_id); - localStorage.setItem('user_role_nav',role_id); - localStorage.setItem('login_type','auto-login'); - localStorage.setItem('login_type_id','1'); - localStorage.setItem('officer_id',officer_id); - this.router.navigate(['/sales-pd-list']); - } - }, err => { - this.router.navigate(['/auto?token='+this.token]); - console.log(err.message); - }) - console.log("AWS getlocale = ",this.aws.getlocale()); - } else { - // Handle the decoding error - this.router.navigate(['/auto?token='+this.token]); - console.log('Error occurred while decoding the string.'); - } - return ; - + console.log("splited Values are \n 1) UN :",mailid," \n 2) PWD :",password, " \n 3) OFFS ID : ",officer_id,"\n 4) ROLE ID : ",role_id,"\n 5) BE DATED :",date_timing,"\n 6) OFFS MAIL :",officer_mail_id," \n 7) SALES PD : ",sales_pd_id); + let today : Date = new Date(); + console.log(today); + + if(this.dateRangeValidator(date_timing,today)){ + console.log('Token vaild because 24 Hrs Not Expried ! So, permitted to log in'); + // http://localhost:4200/#/auto?token=TXdpc2VTYWxlc0B5YWhvby5jb20jc2luZTEyMzQjMjkzIzE5IzA0LzA3LzIwMjMgMTk6MzE6MTYjbXdpc2VzYWxlczFAc2luZS5jb20%3D + let auth = { 'Username': mailid, 'Password': password }; + this.aws.dologin(auth).subscribe(res => { + console.log("Auto login",res); + if (res !== undefined) { + localStorage.setItem('user_role',role_id); + localStorage.setItem('user_role_nav',role_id); + localStorage.setItem('login_type','auto-login'); + localStorage.setItem('login_type_id','1'); + localStorage.setItem('officer_id',officer_id); + localStorage.setItem('officer_mail_id',officer_mail_id); + // this.salesPdData = this.callingSalesPDListApi(sales_pd_id); + + + this.router.navigate(['/sales-pd-list']); + // localStorage.setItem('sales_pd_id_PRIMARYKEY',sales_pd_id); + } + }, err => { + this.router.navigate(['/auto?token='+this.token]); + console.log(err.message); + }) + console.log("AWS getlocale = ",this.aws.getlocale()); + } else { + alert('Token Expried'); + console.log('Token Not-vaild because 24 Hrs Expried'); + // Handle the decoding error + // this.router.navigate(['/']); + console.log('Due To Time Out.'); + } + return ; + }else { + // Handle the decoding error + // this.router.navigate(['/auto?token='+this.token]); + console.log('Error occurred while decoding the string.'); + } + return ; + } + + dateRangeValidator(fromDate,toDate){ + // Perform validation logic + if (fromDate && toDate) { + const fromDateTime = new Date(fromDate).getTime(); + const toDateTime = new Date(toDate).getTime(); + const twentyFourHours = 24 * 60 * 60 * 1000; // 24 hours in milliseconds + // console.log('toDateTime - fromDateTime > twentyFourHours'); + // console.log(toDateTime,'-',fromDateTime,'>',twentyFourHours); + // console.log(toDateTime - fromDateTime > twentyFourHours); + if (toDateTime - fromDateTime >= twentyFourHours) { + return true; + } + else{ + return true; + } + // Calculate the time difference in milliseconds + // const diffInMilliseconds = Math.abs(toDateTime - fromDateTime); + // const diffInHours = diffInMilliseconds / (1000 * 60 * 60); + // Check if the difference is at least 24 hours if (diffInHours < 24) + }else{ + return false; + } } decodeBase64String(encodedString) {