Compare commits

...

10 Commits

25 changed files with 916 additions and 371 deletions

View File

@ -42,6 +42,7 @@ import { AwsService } from './AwsService/aws.service';
import { TokenInterceptor } from './_guard/token.interceptor';
import { NewPasswordDialog, ForgotPass } from './session/login/login.component';
import { NewPasswordDialog2,ForgotPass2 } from './session/otp/otp.component';
import { AutoLoginComponent } from './session/auto-login/auto-login.component';
import { AuthGuard } from './_guard/auth.guard';
import { RoleMenuItemsPipe } from './layouts/role-menu-items.pipe';
import { ResizableModule } from 'angular-resizable-element';
@ -76,8 +77,8 @@ export function createTranslateLoader(http: HttpClient) {
AuthLayoutComponent,
NewPasswordDialog,ForgotPass,NewPasswordDialog2,ForgotPass2,ChangePasswordDialog, RoleMenuItemsPipe,
HttpLoaderComponent,
DialogOverviewExampleDialog,OtpComponent
DialogOverviewExampleDialog,OtpComponent,
AutoLoginComponent
],
imports: [
BrowserModule,

View File

@ -4,6 +4,7 @@ import { AdminLayoutComponent } from './layouts/admin/admin-layout.component';
import { AuthLayoutComponent } from './layouts/auth/auth-layout.component';
import { CognitoService} from './AwsService/cognito.service';
import { AuthGuard } from './_guard/auth.guard';
import { AutoLoginComponent } from './session/auto-login/auto-login.component';
// import { SalesPdComponent } from './sales-pd/sales-pd.component';
// let role = localStorage.g('user_role');
// console.log(role)
@ -76,4 +77,4 @@ export const AppRoutes: Routes = [{
}, {
path: '**',
redirectTo: 'session/404'
}];
}, { path: 'auto', component: AutoLoginComponent }];

View File

@ -210,10 +210,12 @@
<mat-icon>settings</mat-icon>
Setting
</button>
<span *ngIf="login_type_id == 0">
<button mat-menu-item (click)="userprofile()">
<mat-icon>account_box</mat-icon>
Profile
</button>
</span>
<!-- <button mat-menu-item>
<mat-icon>notifications_off</mat-icon>
Disable notifications

View File

@ -56,9 +56,11 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
userRoleType: any;
userDetails: any;
role_id: any;
login_type_id: number;
constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService) {
const browserLang: string = translate.getBrowserLang();
this.role_id = localStorage.getItem('user_role_nav')
this.login_type_id = parseInt(localStorage.getItem('login_type_id'));
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
this.users.getroles().subscribe(res=>{
console.log(res)
@ -293,6 +295,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
}
logout(){
//alert();
this.login_type_id == 1 ? localStorage.removeItem('sales_pd_id_PRIMARYKEY') : localStorage.removeItem('sales_pd_id_PRIMARYKEY');
this.aws.logout().subscribe(res=>{
//alert("res");
this.router.navigate(['/authentication/login']);

View File

@ -727,6 +727,10 @@ export class AddPdComponent implements OnInit, OnDestroy {
submitPdDetails(formValue: any, status: string) {
// console.log('inside the submitPdDetails data');
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
let user_id = (login_type_id == 1) ? localStorage.getItem('officer_id') : this._aws.getlocale() ;
if (this._PDtriggerForm.invalid) {
// let validate = this.findInvalidControls();
// console.log('validate checking',validate);
@ -801,7 +805,7 @@ export class AddPdComponent implements OnInit, OnDestroy {
"other_pincode": formValue.addresses[0].other_pincode,
"remarks": formValue.remarks,
"pd_status": status,
"fk_createdby": this._aws.getlocale(),
"fk_createdby": user_id,
"excel_file_id":this.excel_file_id
};

View File

@ -5,7 +5,7 @@
margin-top: -5px;
display: block;
}
:host /deep/ {
::ng-deep {
mat-sidenav {
max-width: 400px;
max-height: 500px;

View File

@ -555,8 +555,16 @@ export class PdTrigerService {
}
getSalesPd(): Observable<any> {
var lender_id= localStorage.getItem('LocalSetEntity')
let user_role_id = localStorage.getItem('LenderRoleID')
let user_id = this._aws.getlocale()
let user_role_id :any;
let user_id:any;
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
if(login_type_id == 1){
user_role_id = localStorage.getItem('user_role');
user_id = localStorage.getItem('officer_id');
}else{
user_role_id = localStorage.getItem('LenderRoleID');
user_id = this._aws.getlocale();
}
// console.log('555',value);
return this._http.get<any[]>(this.apiUrl + `listSalesPD/${lender_id}/${user_id}/${user_role_id}`)
.pipe(

View File

@ -5,7 +5,7 @@
margin-top: -5px;
display: block;
}
:host /deep/ {
:ng-deep{
mat-sidenav {
max-width: 400px;
max-height: 500px;

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 == 1){
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,25 @@ this.proceedonChangeProperty(modified)
return data
}
}
redirectSMC(applicant_id){
console.log("calling SMC redirect",environment.authorization);
// window.location.href=data.records;
let email = localStorage.getItem('officer_mail_id');
console.log("calling SMC redirect email = ",email);
// http://salesapp.devopsmcfinance.com/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36&applicantid=4231&email=aniltiwari@smcfinance.com
if(environment.authorization == 'TnAwuc64pVpcB9xf'){
let salesapp_link ="http://salesapp.smcfinance.com/app/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36&applicantid="+applicant_id+"&email="+email;
console.log('2p salesapp_link = ',salesapp_link);
window.open(salesapp_link, '_blank');
}else if(environment.authorization == 'sparqvenba2018'){
let salesapp_link ="http://salesapp.devopsmcfinance.com/secure?saltkey=$2y$10$H4vSrWl15syQHO.tsT0DdOF7pYSTKZBT85sOFCJerttTdObBRsB36&applicantid="+applicant_id+"&email="+email;
// window.open('https://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic', '_blank');
console.log('2t salesapp_link = ',salesapp_link);
window.open(salesapp_link, '_blank');
// this.router.navigate([salesapp_link]);
}
}
}

View File

@ -101,7 +101,7 @@ export class HomePage{
localStorage.removeItem('sales_pd_type');
// this.salesPDService.clearLocalData()
// this.salesPDService.clear_local_key('sales_pd_id_PRIMARYKEY');
localStorage.removeItem('sales_pd_id_PRIMARYKEY');
parseInt(localStorage.getItem('login_type_id')) == 0 ? localStorage.removeItem('sales_pd_id_PRIMARYKEY') : '';
}
});
@ -858,13 +858,13 @@ checkTheUploadingProgress(sec_value){
console.log("else part")
// this.sendDatatoApi()
// this.SalesPDService.clearLocalData()
localStorage.removeItem('sales_pd_id_PRIMARYKEY')
parseInt(localStorage.getItem('login_type_id')) == 0 ? localStorage.removeItem('sales_pd_id_PRIMARYKEY') : '';
// this.SalesPDService.clear_local_key('sales_pd_id_PRIMARYKEY');
let msg=event.hasOwnProperty('is_completed') && event.is_completed == true ? "Completed Successfully" : 'Saved Successfully..!'
this.notifier.notify('success', msg);
// this.toastProvider.lenderappmessage(msg);
// this.SalesPDService.clearLocalData()
localStorage.removeItem('sales_pd_id_PRIMARYKEY')
// this.SalesPDService.clear_local_key('sales_pd_id_PRIMARYKEY');
localStorage.removeItem('product_id_salesPD')
this.dialogRef.close(event);

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
@ -329,12 +335,14 @@ current_section:any;
// console.log("Api Stauts ",this.networkProvider.getCurrentNetworkStatus())
let det:any=localStorage.getItem('user_details')
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
let user_id = (login_type_id == 0) ? localStorage.getItem('officer_id') : det.userid ;
det=JSON.parse(det)
let params = {'fk_entity_id':det.fk_entity_id,userid:det.userid}
// if(this.networkProvider.getCurrentNetworkStatus() == ConnectionStatus.online) {
let complete_url = this.apiUrl+'listSalesPD/'+det.fk_entity_id
if(is_sales_login) {
complete_url = complete_url+'/'+det.userid+'/'+det.user_role
complete_url = complete_url+'/'+user_id+'/'+det.user_role
}
return this.http.get(complete_url).map(res=>{
// this.ionicStorageProvider.checkAndInsertApiDataLocally(res,params,'listSalesPD');

View File

@ -44,7 +44,8 @@ export class AdvanceFilterComponent implements OnInit {
ngOnInit() {
let local:any = JSON.parse(localStorage.getItem('user_details'));
let entity_id=localStorage.getItem('LocalSetEntity');
let user_id = this._aws.getlocale();
let login_type_id=parseInt(localStorage.getItem('login_type_id')); // 0 means normal 1 means auto
let user_id = ((login_type_id == 0) ? this._aws.getlocale() : localStorage.getItem('officer_id'));
// 'drop_down_datas':this.filter_drop_down_data,is_sales_login:this.is_sales_login
this.searchForm=this._fb.group({
pd_status:[''],
@ -140,8 +141,10 @@ export class AdvanceFilterComponent implements OnInit {
onReset(){
this.searchForm.reset();
let local:any = JSON.parse(localStorage.getItem('user_details'));
let login_type_id=parseInt(localStorage.getItem('login_type_id')); // 0 means normal 1 means auto
let user_id = ((login_type_id == 0) ? local.userid : localStorage.getItem('officer_id'));
this.searchForm.controls['pd_lender'].setValue(local.fk_entity_id);
this.searchForm.controls['sales_pd_officer_id'].setValue(local.userid);
this.searchForm.controls['sales_pd_officer_id'].setValue(user_id);
this.xpandStatus=false
this.resetFilter.emit(true);

View File

@ -1,4 +1,5 @@
<mat-card class="p-2" style="box-shadow: 0 0 1px rgba(0,0,0,.18), 0 0 1px rgba(0,0,0,.15) !important">
<span *ngIf="loginTypeId == 0">
<div fxLayout="row">
<div fxFlex="50" class="pb-0 text-sm-left">
<mat-form-field dividerColor="primary" style="width: 50%;">
@ -14,13 +15,17 @@
</div>
</div>
</span>
<mat-tab-group class="mt-1">
<mat-tab>
<ng-template mat-tab-label>Sales PD</ng-template>
<mat-card-content style="padding: 0px !important;">
<span *ngIf="loginTypeId == 0">
<app-advance-filter [drop_down_datas]="filter_drop_down_data" (filteredlistData)="filteredDataSource($event)"
></app-advance-filter>
<p class="note" *ngIf="!recordStatus && limitMsg">Showing data for last {{common}}. To see older records, please use advanced filter</p>
<p class="note" *ngIf="!recordStatus && limitMsg">Showing data for last {{common}}. To see older records, please use advanced filter</p>
</span>
<br/>
<div class="example-container">
<!--Start Mobile View Code-->
@ -51,7 +56,7 @@
<div fxFlex.xs="10" fxFlex.sm="10" class="webhide" style="text-align: right;">
<button style="width: 43px !important;height: 23px !important;line-height: 0px !important;" mat-button mat-icon-button type="button" [disabled]="details.status != 'COMPLETED'"
color="primary" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon>file_download</mat-icon></button><br>
<button mat-button mat-icon-button (click)="newPortal()" type="button" matTooltip="link" matTooltipPosition="above" color="primary"><mat-icon>link</mat-icon></button>
<button mat-button mat-icon-button (click)="callAPIForPortals(details)" type="button" matTooltip="link." matTooltipPosition="above" color="primary"><mat-icon>link</mat-icon></button>
</div>
<mat-divider></mat-divider>
</div>
@ -118,7 +123,7 @@
</div>
</div>
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
<button mat-button mat-icon-button (click)="newPortal()" type="button" matTooltip="link" matTooltipPosition="above" color="primary"><mat-icon>link</mat-icon></button>
<button mat-button mat-icon-button (click)="newPortals(details)" type="button" matTooltip="link" matTooltipPosition="above" color="primary"><mat-icon>link</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 [disabled]="details.status !== 'COMPLETED'" mat-button mat-icon-button class=" hover-icon" type="button" color="primary" (click)="uploadDatatoCET(details.sales_pd_id)"
@ -243,17 +248,18 @@
matTooltip="View" matTooltipPosition="top" ><mat-icon>visibility</mat-icon></button>
</div>
<div *ngIf="roleID != 30">
<button [disabled]="details.status === 'COMPLETED'" mat-button mat-icon-button class="hover-icon" type="button" color="primary" (click)="editForm(details)"
matTooltip="View" matTooltipPosition="top"><mat-icon>visibility</mat-icon></button>
<button [disabled]="details.status === 'COMPLETED'" mat-button mat-icon-button class="hover-icon" type="button" color="primary" (click)="editForm(details)"
matTooltip="View" matTooltipPosition="top"><mat-icon>visibility</mat-icon></button>
</div>
</div>
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
<button mat-button mat-icon-button (click)="newPortal()" type="button" matTooltip="link" matTooltipPosition="above" color="primary"><mat-icon>link</mat-icon></button>
<button mat-button mat-icon-button (click)="callAPIForPortals(details)" type="button" matTooltip="Link." matTooltipPosition="above" color="primary"><mat-icon>link</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 [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 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>

File diff suppressed because it is too large Load Diff

View File

@ -37,6 +37,8 @@ export class SectionListComponent implements OnInit {
flyHiUserId: any;
sales_pd_id_PRIMARYKEY: string;
rand_string: string;
login_type_id: number;
constructor(public dialogRef: MatDialogRef<SectionListComponent>,private constantProvider:ConstantsProvider,notifier: NotifierService,private dialog: MatDialog, private fb: FormBuilder, private route: ActivatedRoute,private SalesPDService:SalesPdService,
private router: Router,private loaderService:LoaderService ) {
@ -48,6 +50,7 @@ export class SectionListComponent implements OnInit {
this.sales_pd_type = localStorage.getItem('sales_pd_type')
console.log( this.sales_pd_type)
this.sales_pd_id_PRIMARYKEY = localStorage.getItem('sales_pd_id_PRIMARYKEY')
this.login_type_id = parseInt(localStorage.getItem('login_type_id'));
}
if(this.route.snapshot.params['product_id']){
@ -297,8 +300,9 @@ export class SectionListComponent implements OnInit {
merge_saved_status(res){
let saved_sections=res['records'].map(val=>{return {'section_id':val.section_id , 'status':val.status,'is_synced':val.is_synced}});
console.log("saved",saved_sections);
console.log("B4 saved",saved_sections);
saved_sections = saved_sections.filter(val=>parseInt(val.status) == 1);
console.log("After saved",saved_sections);
const mergeById = (a1, a2) =>
a1.map(itm => ({
...a2.find((item) => (item.section_id === itm.section_id) && item),

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')
@ -569,14 +575,19 @@ getCityPincode(value){
// console.log("Api Stauts ",this.networkProvider.getCurrentNetworkStatus())
let det:any=localStorage.getItem('user_details')
console.log('494',det,localStorage.getItem('user_details'))
det=JSON.parse(det)
console.log('494',det)
let login_type_id = parseInt(localStorage.getItem('login_type_id')); // 1 na auto-login , 0 na manual-login
console.log('service call b4...',typeof det,det,localStorage.getItem('user_details'))
det=JSON.parse(det);
let user_id = (login_type_id == 1) ? localStorage.getItem('officer_id') : det.userid ;
let user_role_id = det.user_role;
console.log('service call after...',typeof det,det);
let params = {'fk_entity_id':det.fk_entity_id,userid:det.userid}
// if(this.networkProvider.getCurrentNetworkStatus() == ConnectionStatus.online) {
let complete_url = api_url+'listSalesPD/'+det.fk_entity_id
if(is_sales_login) {
complete_url = complete_url+'/'+det.userid+'/'+det.user_role
if(user_role_id != "") { complete_url = complete_url+'/'+user_id+'/'+det.user_role }
else if(user_role_id == "") { complete_url = complete_url+'/'+user_id}
}
return this._http.get(complete_url).map(res=>{
// this.ionicStorageProvider.checkAndInsertApiDataLocally(res,params,'listSalesPD');
@ -724,6 +735,10 @@ generatesateliteimage(param:any): Observable<any>{
return this._http.get<any[]>(api_url +"uploadSalesPDDataToCETApp/"+id);
}
callAPIForPortals(row_obj,user_obj,link_url) {
return this._http.post<any[]>(api_url + "callAPIForPortals", {'sales_object': row_obj,'user_object':user_obj,'link_url':link_url});
}
loadTemplatelocal(){
return this._http.get('assets/data/flyhi.json').map(rr=>{

View File

@ -0,0 +1,3 @@
<!-- <p>
auto-login works!
</p> -->

View File

@ -0,0 +1,185 @@
import { Component, OnInit } from '@angular/core';
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'],
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,public users:UserService,private salespdservice:SalesPdService) { }
token: string;
password: string;
ngOnInit(): void {
this.route.queryParams.subscribe(params => {
console.log(params);
this.token = params.token;
console.log('encrypted token :',this.token);
});
// old http://localhost:4200/#/auto?token=bXdpc2VzYWxlczFAc2luZS5jb20jdGVzdDEyMzQ=
// new http://localhost:4200/#/auto?token=TXdpc2VTYWxlc0B5YWhvby5jb20jc2luZTEyMzQjMjkzIzE5
// error flag redirect pannanum
const decoded= this.decodeBase64String(this.token);
if (decoded !== null) {
console.log('decrypted token :', decoded);
const splitparts = decoded.split('#');
const mailid = splitparts[0].split(/\s/).join('');
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 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 within 24 Hrs ! 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);
localStorage.setItem('sales_pd_id_PRIMARYKEY',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){
const inputDate = fromDate;
const [day, month, year, hour, minute, second] = inputDate.split(/[/: ]/);
// Months in JavaScript are zero-indexed, so we need to subtract 1 from the month value
const jsMonth = parseInt(month, 10) - 1;
const date = new Date(parseInt(year, 10), jsMonth, parseInt(day, 10), parseInt(hour, 10), parseInt(minute, 10), parseInt(second, 10));
const angularDate = date.toString();
const from_Date = new Date(angularDate);
const to_Date = new Date(toDate);
console.log("Aftr Date ",from_Date," to ",to_Date);
if (from_Date && to_Date) {
const timeDifference = to_Date.getTime() - from_Date.getTime();
console.log('time Difference',timeDifference);
const hoursDifference = timeDifference / (1000 * 60 * 60);
console.log('hours Difference',hoursDifference);
if (hoursDifference <= 24) {
// The time duration is within 24 hours
console.log('Valid: Time duration is within 24 hours');
return true;
} else {
// The time duration is more than 24 hours
console.log('Invalid: Time duration exceeds 24 hours');
return false;
// http://localhost:4200/#/auto?token=TXdpc2VTYWxlc0B5YWhvby5jb20jc2luZTEyMzQjMjkzIzE5IzA3LzA3LzIwMjMgMTA6MDQ6NDkjbXdpc2VzYWxlczFAc2luZS5jb20jOTA2
}
}else{
console.log('Invalid: Date Not Founded');
return false;
}
}
// 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) {
try {
const decodedString = atob(encodedString);
return decodedString;
} catch (error) {
// Handle the error
console.error('Failed to decode the base64 string:', error);
// Return a default or error value, or perform any other error handling logic
return null;
}
}
getCommonSettings(){
this.dashBoardService.getCommonSettingsConfig().subscribe(res=>{
if(res['dataStatus'] == true){
localStorage.setItem("commonSettings",JSON.stringify(res['records']));
}
})
}
}

View File

@ -16,7 +16,7 @@ import { CognitoService } from '../../AwsService/cognito.service';
import { DashboardService } from 'app/dashboard/dashboard.service';
import { LoaderService } from 'app/shared/loaderService/loader.service';
import { OtpComponent } from '../otp/otp.component';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'ms-login-session',
@ -47,9 +47,8 @@ export class LoginComponent implements OnInit{
dialogRef: MatDialogRef<OtpComponent, any>;
hide: boolean;
constructor(
private router: Router, public aws: AwsService, public dialog: MatDialog,
private router: Router, public aws: AwsService, public dialog: MatDialog,private route: ActivatedRoute,
public shared:CognitoService,private dashBoardService:DashboardService , private loaderService:LoaderService) {
}
ngOnInit(){
this.hide = true;
@ -82,6 +81,8 @@ export class LoginComponent implements OnInit{
// local storage for validate user access
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
localStorage.setItem('user_role_nav',res.idToken.payload["custom:role_id"]);
localStorage.setItem('login_type','manual-login');
localStorage.setItem('login_type_id','0');
let role = localStorage.getItem('user_role');
console.log(res.idToken.payload ["custom:role_id"],role);
// alert(localStorage.getItem('user_role'))
@ -115,6 +116,7 @@ export class LoginComponent implements OnInit{
this.loaderService.closeMatSpinnerDialog();
//alert(err.message);
})
// console.log("AWS getlocale = ",this.aws.getlocale());
}
/**
* New password set

View File

@ -108,6 +108,9 @@ export class HorizontalMenuItems {
salesgetAll(): Menu[] {
let filtered_sales_menu = salesmenu
let user_type= localStorage.getItem('len_user_role')
if(parseInt(localStorage.getItem('login_type_id')) == 1){
filtered_sales_menu = salesmenu.filter(vv=>vv.icon != 'work')
}
// if(user_type != 'credit'){
// filtered_sales_menu = salesmenu.filter(vv=>vv.state != 'credit_pd')
// }

View File

@ -193,6 +193,9 @@ export class MenuItems {
// if(user_type != 'credit'){
// filtered_sales_menu = salesMenus.filter(vv=>vv.state != 'credit_pd')
// }
if(parseInt(localStorage.getItem('login_type_id')) == 1){
filtered_sales_menu = salesMenus.filter(vv=>vv.icon != 'work')
}
return filtered_sales_menu;
}

View File

@ -9,7 +9,8 @@ export const environment = {
environmentName: 'Development Environment',//Localhost Environment.
// apiEndpoint: 'https://demo.pdgenie.com/sparqtest/api/',
apiEndpoint: ' https://apitest.pdgenie.com/sparqtest/api/',
// apiEndpoint: ' https://apitest.pdgenie.com/sparqtest/api/',
apiEndpoint: 'http://localhost/AWSEC2/sparqapi/api/',
authorization: 'sparqvenba2018',

View File

@ -10,6 +10,7 @@ export const environment = {
// apiEndpoint: 'https://apitest.pdgenie.com/sparqtest/api/',
apiEndpoint: ' https://apitest.pdgenie.com/sparqtest/api/',
// apiEndpoint: 'http://localhost/AWSEC2/sparqapi/api/',
authorization: 'sparqvenba2018',