Auto Login Changes : ps

This commit is contained in:
VE10-Sanjeev 2023-07-07 16:29:04 +05:30
parent 1635c48336
commit 9e7a8819ae
6 changed files with 166 additions and 33 deletions

View File

@ -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);
}
}

View File

@ -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<any>)=>{
this.getData_fromLocal('sales_pd_id_PRIMARYKEY').then(key_value=>{
params.sales_pd_id=key_value

View File

@ -254,6 +254,12 @@
<button [disabled]="details.status !== 'COMPLETED'" mat-button mat-icon-button class=" hover-icon" type="button" color="primary" (click)="uploadDatatoCET(details.sales_pd_id)"
matTooltip="Upload Data To CET" matTooltipPosition="above" ><mat-icon>file_upload</mat-icon></button>
</div>
<div *ngIf="loginTypeId=='1'" fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
<button [style.visibility]="(loginTypeId=='1') ? 'visible' : 'hidden'" [disabled]="details.status !== 'COMPLETED'"
mat-button mat-icon-button class="hover-icon" type="button" color="primary"
matTooltip="View" matTooltipPosition="above" (click)="redirected(details)"><mat-icon>launch</mat-icon></button>
</div>
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
<button *ngIf="roleID == 30" mat-button mat-icon-button class="hover-icon" type="button" matTooltip="ReGenerate"
matTooltipPosition="above" color="primary" [matMenuTriggerFor]="menu1"><mat-icon>more_vert</mat-icon></button>

View File

@ -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']){

View File

@ -159,7 +159,13 @@ saveQuestions(params): Observable<Response>{
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')

View File

@ -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) {