From 06226c89e785506a48294b7c8c921d21e602c377 Mon Sep 17 00:00:00 2001 From: umasoodch Date: Thu, 9 Apr 2020 15:08:53 +0300 Subject: [PATCH] fixed issues --- Mohem/src/app/app.component.ts | 119 ++- .../authentication/authentication.module.ts | 2 +- .../confirm-login/confirm-login.component.ts | 817 +++--------------- .../authentication/login/login.component.ts | 8 - .../generic-header.component.ts | 18 +- Mohem/src/app/home/home.page.ts | 20 +- 6 files changed, 217 insertions(+), 767 deletions(-) diff --git a/Mohem/src/app/app.component.ts b/Mohem/src/app/app.component.ts index 1a5b980a..bfa57d03 100644 --- a/Mohem/src/app/app.component.ts +++ b/Mohem/src/app/app.component.ts @@ -12,7 +12,8 @@ import { LazyLoadingService } from './hmg-common/services/lazy-loading/lazy-load import { DomSanitizer } from '@angular/platform-browser'; // import { SplashScreen } from '@ionic-native/splash-screen'; import { SplashScreen } from '@ionic-native/splash-screen/ngx'; - +import { Router } from '@angular/router'; +import { rejects } from 'assert'; @Component({ selector: 'app-root', @@ -50,8 +51,8 @@ export class AppComponent implements OnInit, AfterViewInit { private authService: AuthenticationService, private sanitizer: DomSanitizer, public pushService: PushService, - private splashScreen: SplashScreen - + private splashScreen: SplashScreen, + public router: Router, ) { this.events.subscribe('img-change', displayImg => { console.log('app compont: ' + displayImg); @@ -63,8 +64,6 @@ export class AppComponent implements OnInit, AfterViewInit { } ngOnInit() { this.initializeApp(); - - } ngAfterViewInit() {} initializeApp() { @@ -94,6 +93,12 @@ export class AppComponent implements OnInit, AfterViewInit { } subscribeEvents() { + this.platform.backButton.subscribe(() => { + if (this.router.isActive('/authentication/login', true)) { + // tslint:disable-next-line: no-string-literal + navigator['app'].exitApp(); + } + }); this.events.subscribe('setMenu', () => { const user = this.authService .loadAuthenticatedUser() @@ -204,83 +209,57 @@ export class AppComponent implements OnInit, AfterViewInit { } getLastLoginInfo() { - - - console.log(' getLastLoginInfo'); - console.log('get method :' + this.cs.getDeviceToken()); this.deviceToken = this.cs.getDeviceToken(); // this.cs.sharedService.getSharedData("new-device-token",false);// localStorage.getItem('devicyeToken'); - console.log('let deviceToken app' + this.cs.sharedService.getSharedData('new-device-token', false)); - console.log('localStorage.getItem app' + localStorage.getItem('devicyeToken')); - console.log('sheard DEVICE_TOKEN' + this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false)); - - - if (this.deviceToken) { - console.log('login enabled first time: ' + this.deviceToken); - } else { - console.log('no deviceToken' ); - - this.pushService.startReceiving(); - setTimeout(() => { - this.deviceToken = localStorage.getItem('deviceToken'); - console.log('login enabled second time: ' + this.deviceToken); - - }, 1000); - } - + console.log('login enabled first time: ' + this.deviceToken); + } else { + this.pushService.startReceiving(); + setTimeout(() => { + this.deviceToken = localStorage.getItem('deviceToken'); + }, 1000); + } this.requestGetLoginInfo = { DeviceType: this.cs.getDeviceType(), // 'Android', DeviceToken: this.deviceToken// "5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36"//this.deviceToken }; - this.authService.getLoginInfo(this.requestGetLoginInfo, () => {}, this.ts.trPK('general', 'ok')).subscribe(res => { + this.authService.getLoginInfo(this.requestGetLoginInfo, () => {}, this.ts.trPK('general', 'ok')).subscribe(res => { if (this.cs.validResponse(res)) { - if (res.Mohemm_GetMobileLoginInfoList.length > 0) { - - this.cs.sharedService.setSharedData( - // res.Patient_SELECTDeviceIMEIbyIMEIList[0], - res.Mohemm_GetMobileLoginInfoList[0], - AuthenticationService.IMEI_USER_DATA - ); - this.user = true; - this.events.publish('user', this.user); - setTimeout(() => { - this.splashScreen.hide(); - }, 3000); - - if (this.logoutFlage) { - this.cs.openLogin(); - - } - - } else { - this.user = false; - this.events.publish('user', this.user); - - setTimeout(() => { - this.splashScreen.hide(); - }, 3000); - - if (this.logoutFlage) { - this.cs.openLogin(); - - } - - } - - - } else { - // this.user = false; - // this.splashScreen.hide(); - // if(this.logoutFlage){ - // this.cs.openLogin(); - - // } - } + this.cs.sharedService.setSharedData( + // res.Patient_SELECTDeviceIMEIbyIMEIList[0], + res.Mohemm_GetMobileLoginInfoList[0], + AuthenticationService.IMEI_USER_DATA + ); + this.user = true; + this.events.publish('user', this.user); + setTimeout(() => { + this.splashScreen.hide(); + }, 3000); + + if (this.logoutFlage) { + this.cs.openLogin(); + } + } else { + this.user = false; + this.events.publish('user', this.user); + setTimeout(() => { + this.splashScreen.hide(); + }, 3000); + if (this.logoutFlage) { + this.cs.openLogin(); + } + } + } else { + // this.user = false; + // this.splashScreen.hide(); + // if(this.logoutFlage){ + // this.cs.openLogin(); + // } + } }); } diff --git a/Mohem/src/app/authentication/authentication.module.ts b/Mohem/src/app/authentication/authentication.module.ts index 31c88e82..8dde550b 100644 --- a/Mohem/src/app/authentication/authentication.module.ts +++ b/Mohem/src/app/authentication/authentication.module.ts @@ -8,7 +8,7 @@ import { LoginComponent } from './login/login.component'; import { ForgotComponent } from './forgot/forgot.component'; import { HmgCommonModule } from '../hmg-common/hmg-common.module'; import { SelectButtonModule } from 'primeng/selectbutton'; -//import { AgreementComponent } from './agreement/agreement.component'; +// import { AgreementComponent } from './agreement/agreement.component'; import { FingerprintAIO } from '@ionic-native/fingerprint-aio/ngx'; import { Device } from '@ionic-native/device/ngx'; import { SplashScreen } from '@ionic-native/splash-screen/ngx'; diff --git a/Mohem/src/app/authentication/confirm-login/confirm-login.component.ts b/Mohem/src/app/authentication/confirm-login/confirm-login.component.ts index 6cc023cc..4e76841a 100644 --- a/Mohem/src/app/authentication/confirm-login/confirm-login.component.ts +++ b/Mohem/src/app/authentication/confirm-login/confirm-login.component.ts @@ -1,907 +1,378 @@ import { Component, OnInit, Input } from '@angular/core'; - -import {ButtonSettings} from "src/app/hmg-common/ui/button/models/button-settingsl"; - -import {TranslatorService} from "src/app/hmg-common/services/translator/translator.service"; - +import {ButtonSettings} from 'src/app/hmg-common/ui/button/models/button-settingsl'; +import {TranslatorService} from 'src/app/hmg-common/services/translator/translator.service'; import { CommonService } from 'src/app/hmg-common/services/common/common.service'; - import { LoginRequest } from 'src/app/hmg-common/services/authentication/models/login.request'; - import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; - import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service'; - import { SendActivationByType } from '../models/sendActivationByType'; - import { FingerprintAIO } from '@ionic-native/fingerprint-aio/ngx'; - -import { GetLoginInfoRequest } from "../../hmg-common/services/authentication/models/get-login-info.request"; - -import { GetLoginInfoResponse } from "../../hmg-common/services/authentication/models/get-login-info.response"; - -import { SMSCheckRequest } from "src/app/hmg-common/services/authentication/models/smscheck.request"; - -import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response"; - +import { GetLoginInfoRequest } from '../../hmg-common/services/authentication/models/get-login-info.request'; +import { GetLoginInfoResponse } from '../../hmg-common/services/authentication/models/get-login-info.response'; +import { SMSCheckRequest } from 'src/app/hmg-common/services/authentication/models/smscheck.request'; +import { SMSCheckResponse } from 'src/app/hmg-common/services/authentication/models/smscheck.response'; import { PushService } from 'src/app/hmg-common/services/push/push.service'; - import { Platform } from '@ionic/angular'; import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; import { LoginModel } from '../models/LoginModel'; -import * as moment from "moment"; - - - - +import * as moment from 'moment'; @Component({ - selector: 'app-confirm-login', - templateUrl: './confirm-login.component.html', - styleUrls: ['./confirm-login.component.scss'], - }) export class ConfirmLoginComponent implements OnInit { - - public logo = "assets/icon/login/password.png"; - - public buttons:any=[]; - - isFaceorFinger: any; - - onlySMSBox: any = true; - - public loginData = new LoginModel(); - - selectedOption: any; - - lastLogin: any; - - loginTokenID:any - - deviceToken:any; - - @Input() accessFromOutSide = false; - @Input() visible = true; + public logo = 'assets/icon/login/password.png'; + public buttons: any = []; + isFaceorFinger: any; + onlySMSBox: any = true; + public loginData = new LoginModel(); + selectedOption: any; + lastLogin: any; + loginTokenID: any; + deviceToken: any; + @Input() accessFromOutSide = false; + @Input() visible = true; username: any; - password:any; + password: any; loginType: any; empname: string; lastLoginDate: string; + // tslint:disable-next-line: variable-name user_name: string; FFloginType: any; + public isPostNoLoad = true; - constructor( - + constructor( public ts: TranslatorService, - public cs: CommonService, - public authService: AuthenticationService, - public sharedData: SharedDataService, - private faio: FingerprintAIO, - public pushService: PushService, - public platform: Platform, - - - - - - - ) { - - - this.loginData= this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); - - console.log("logindata: "+this.loginData); - - this.deviceToken= this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false); - - console.log("deviceToken :"+this.deviceToken); - - //if device token undefind - - if(this.deviceToken == undefined){ - - this.deviceToken = localStorage.getItem("deviceToken"); - - + this.loginData = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); + this.deviceToken = this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false); + // if device token undefind + // tslint:disable-next-line: triple-equals + if (this.deviceToken == undefined) { + this.deviceToken = localStorage.getItem('deviceToken'); } - - this.lastLogin = this.cs.sharedService.getSharedData(AuthenticationService.LAST_LOGIN, false); - - this.username = localStorage.getItem("user"); - this.password = localStorage.getItem("password"); - this.empname = localStorage.getItem("emp-name"); - - - } - - + this.lastLogin = this.cs.sharedService.getSharedData(AuthenticationService.LAST_LOGIN, false); + this.username = localStorage.getItem('user'); + this.password = localStorage.getItem('password'); + this.empname = localStorage.getItem('emp-name'); + } ngOnInit() { - - //**checkIfAvailable FAIO **// - + // **checkIfAvailable FAIO **// this.checkIfAvailable(); - - //**getSharedData of IMEI_USER_DATA and REGISTER_DATA_FOR_LOGIIN to set defult value **// - this.username = localStorage.getItem("user"); - this.password = localStorage.getItem("password"); - this.empname = localStorage.getItem("emp-name"); - - // this.setDefault(); - - - - - - this.button(); - + // **getSharedData of IMEI_USER_DATA and REGISTER_DATA_FOR_LOGIIN to set defult value **// + this.username = localStorage.getItem('user'); + this.password = localStorage.getItem('password'); + this.empname = localStorage.getItem('emp-name'); + this.button(); } checkIfAvailable() { - this.faio.isAvailable().then( - options => { - this.isFaceorFinger = options; - - // && this.lastLogin === 1 - - // if (this.isFaceorFinger === 'finger' || this.isFaceorFinger === 'biometric') { - - // this.selectedOption = 2; - - // this.cs.presentConfirmDialog( - - // this.ts.trPK("login", "biometric-support"), - - // () => { - - // this.presentBiometricDialog(); - - // this.cs.sharedService.setSharedData( - - // this.selectedOption, - - // AuthenticationService.LAST_LOGIN - - // ); - - // }, - - // () => { } - - // ); - - // } - this.button(); - - }, - - () => { - + }, () => { this.isFaceorFinger = null; - this.button(); - } - ); - } - - button() { - - console.log("button"); - - - this.buttons = [ - [{ - - title: "login,verify-with-fingerprint", - + title: 'login,verify-with-fingerprint', url: null, - - icon: "assets/icon/login/102.png", - + icon: 'assets/icon/login/102.png', settings: new ButtonSettings(true, true, true, true), - value: 2, - - disabled: this.isFaceorFinger === "finger" || this.isFaceorFinger === "biometric" ? false : true, - + disabled: this.isFaceorFinger === 'finger' || this.isFaceorFinger === 'biometric' ? false : true, visible: this.onlySMSBox, buttonClass: 'buttonClassWhite', pClass: 'pClassMyFileIconBlack', class: 'nationalIdIcon', - }, - { - - title: "login,verify-with-faceid", - + title: 'login,verify-with-faceid', url: null, - - icon: "assets/icon/login/101.png", - + icon: 'assets/icon/login/101.png', settings: new ButtonSettings(true, true, true, true), - value: 3, - - disabled: this.isFaceorFinger === "face" ? false : true, - + disabled: this.isFaceorFinger === 'face' ? false : true, visible: this.onlySMSBox, buttonClass: 'buttonClassWhite', pClass: 'pClassMyFileIconBlack', class: 'nationalIdIcon', - }, - { - - title: "login,verify-with-whatsapp", - + title: 'login,verify-with-whatsapp', url: null, - - icon: "assets/icon/login/104.png", - + icon: 'assets/icon/login/104.png', settings: new ButtonSettings(true, true, true, true), - value: 4, - visible: true, buttonClass: 'buttonClassWhite', pClass: 'pClassMyFileIconBlack', class: 'nationalIdIcon', - }, - { - - title: "login,verify-with-sms", - + title: 'login,verify-with-sms', url: null, - - icon: "assets/icon/login/103.png", - + icon: 'assets/icon/login/103.png', settings: new ButtonSettings(true, true, true, true), - value: 1, - visible: true, buttonClass: 'buttonClassWhite', pClass: 'pClassMyFileIconBlack', - class: 'nationalIdIcon', - - } - - ] - + class: 'nationalIdIcon' + }] ]; - } - - confirm(el: any) { - - - console.log("confirm:"+ el ); - - this.selectedOption = this.selectedOption && !this.onlySMSBox ? this.selectedOption : el.value; - + this.selectedOption = this.selectedOption && !this.onlySMSBox ? this.selectedOption : el.value; switch (el.value) { - case 1: - - console.log(el.value); - localStorage.setItem("login-type",el.value); - console.log("login-type: "+ localStorage.getItem("login-type")) - this.loginWithSMS(el); - + localStorage.setItem('login-type', el.value); + this.loginWithSMS(el); break; - case 2: - localStorage.setItem("login-type",el.value); - - console.log(el.value); - - - + localStorage.setItem('login-type', el.value); this.loginWithFingurePrint(el); - break; - case 3: - localStorage.setItem("login-type",el.value); - - console.log(el.value); - - - + localStorage.setItem('login-type', el.value); this.faceReconization(el); - break; - case 4: - - console.log(el.value); - - localStorage.setItem("login-type",el.value); - - + localStorage.setItem('login-type', el.value); this.loginWithWhatsapp(el); - break; - default: - break; - } - this.cs.sharedService.setSharedData( - - this.selectedOption, - - AuthenticationService.LAST_LOGIN - - ); - + this.cs.sharedService.setSharedData(this.selectedOption, AuthenticationService.LAST_LOGIN); } - - loginWithSMS(el) { - - console.log("loginWithSMS: "+ el); - - - if (!el.disabled) { - - - - // if (this.user && !this.registerd_data) { - - //calling because i dont have token id which required to the send activation code - - /// this.checkUserAuthentication(1); - - // this.checkUserAuthentication(); *** - - - - // } else { - if (this.loginData.LogInTokenID) { - this.sendActivationCode(1); - } else { - - // this.checkUserAuthentication(1); - + // this.checkUserAuthentication(1); // this.checkUserAuthentication();** - - - } - - // } - } - } - - loginWithWhatsapp(el) { - if (!el.disabled) { - - // if (this.user && !this.registerd_data) { - - //calling because i dont have token id which required to the send activation code - - // this.checkUserAuthentication(2); - - // } else { - if (this.loginData.LogInTokenID) { - this.sendActivationCode(2); - } else { - // this.checkUserAuthentication(2); - } - - // } - } - } public sendActivationCode(type: number) { - - let request = new SendActivationByType(); - + const request = new SendActivationByType(); this.authService.setPublicFields(request); - request.OTP_SendType = type; - request.MobileNumber = this.loginData.MobileNumber; - - request.IsMobileFingerPrint =0; - - request.P_USER_NAME=this.loginData.P_USER_NAME; - - request.LogInTokenID =this.loginData.LogInTokenID; - - request.P_LEGISLATION_CODE ="SA"; - - // request.VersionID ="2.0"; - - - - - - - - // request.LanguageID = imeiData && imeiData.PreferredLanguage || request.LanguageID; - - this.authService - - .sendActivationCodeByType( - - request, - - () => { }, - - this.ts.trPK("general", "ok") - - ) - + request.IsMobileFingerPrint = 0; + request.P_USER_NAME = this.loginData.P_USER_NAME; + request.LogInTokenID = this.loginData.LogInTokenID; + request.P_LEGISLATION_CODE = 'SA'; + this.authService.sendActivationCodeByType(request, () => { }, this.ts.trPK('general', 'ok')) .subscribe((result: any) => { - if (result.isSMSSent) { - - this.cs.sharedService.setSharedData({ - - MobileNumber: this.loginData.MobileNumber, - - loginType: this.selectedOption - - }, - - SMSCheckRequest.SHARED_DATA - - ); - - - + // tslint:disable-next-line: max-line-length + this.cs.sharedService.setSharedData({MobileNumber: this.loginData.MobileNumber, loginType: this.selectedOption}, SMSCheckRequest.SHARED_DATA); this.cs.openSMSPage(); - - } - + } }); - } - loginWithFingurePrint(el: any) { if (!el.disabled) { - this.FFloginType=el.value; - + this.FFloginType = el.value; this.startBiometricLoginIfAvailable(); - } - } faceReconization(el: any) { - if (!el.disabled) { - this.FFloginType=el.value; + this.FFloginType = el.value; this.startBiometricLoginIfAvailable(); - } - } - - private startBiometricLoginIfAvailable() { - - // this.setting.isBiometricsEnabled().then(result => { - - // console.log(result); - this.faio.isAvailable().then( - options => { - - // if biometric supported - - //if (result) { - - // ask if login with face or finger - this.presentBiometricDialog(); - - // } else { - - // //ask to enable biometric - - // this.getPermissionToActivateBiometric(); - - // } - - }, - - () => { - - alert("not avaliable ") - - // if biometric not supported do nothing unless - - // user session time out from last login - - // if (AuthenticationService.isRequireRelogin()) { - - // this.initializeInputsFromSessionTimeOut(user); - - // } - - // this.hideSplashScreen(true); - + }, () => { + alert('not avaliable '); } - ); - - //}); - } - - private presentBiometricDialog() { - - this.faio - - .show({ - - - - - - title: 'Biometric Authetnciation', // (Android Only) | optional | Default: " Biometric Sign On" - - subtitle: 'Coolest Plugin ever' ,// (Android Only) | optional | Default: null - - description: this.ts.trPK("general", "auth-please"),// optional | Default: null - - fallbackButtonTitle: this.ts.trPK("general", "use-pin"), // optional | When disableBackup is false defaults to "Use Pin". - - // When disableBackup is true defaults to "Cancel" - - disableBackup:true, // optional | default: false - - - - - - // clientId: "Fingerprint Authetnciation", - - // clientSecret: "Ate343_9347lajF", // Only necessary for Android - - // disableBackup: true, // Only for Android(optional) - - // localizedFallbackTitle: this.ts.trPK("general", "use-pin"), // Only for iOS - - // localizedReason: this.ts.trPK("general", "auth-please") // Only for iOS - - }) - - .then((result: any) => { - - console.log("1"); - - // this.deviceToken= this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false); - - let request ={ + this.faio.show({ + title: 'Biometric Authetnciation', // (Android Only) | optional | Default: " Biometric Sign On" + subtitle: 'Coolest Plugin ever' , // (Android Only) | optional | Default: null + description: this.ts.trPK('general', 'auth-please'), // optional | Default: null + fallbackButtonTitle: this.ts.trPK('general', 'use-pin'), // optional | When disableBackup is false defaults to "Use Pin". + disableBackup: true, // optional | default: false + // clientId: "Fingerprint Authetnciation", + // clientSecret: "Ate343_9347lajF", // Only necessary for Android + // disableBackup: true, // Only for Android(optional) + // localizedFallbackTitle: this.ts.trPK("general", "use-pin"), // Only for iOS + // localizedReason: this.ts.trPK("general", "auth-please") // Only for iOS + }).then((result: any) => { + const request = { DeviceType: this.cs.getDeviceType(), - - DeviceToken:this.deviceToken - - } ; - + DeviceToken: this.deviceToken + }; // this.authService.setPublicFields(request); - // request.MobileNumber = this.loginData.MobileNumber; - // request.P_USER_NAME=this.loginData.P_USER_NAME; - // request.UserName=this.loginData.P_USER_NAME; - // request.LogInTokenID =this.loginData.LogInTokenID; - // request.CompanyID =1;//cs=1 , HMG=2 - - - - - this.getMobileInfo(request); - - }) - - .catch((error: any) => { - + }).catch((error: any) => { console.log(error); - }); - } - - private getMobileInfo(request: any) { - - console.log("2"); - - - - this.authService.getLoginInfo(request,() => { },this.ts.trPK("general", "ok")).subscribe((result: GetLoginInfoResponse) => { - - console.log("authService.getLoginInfo"); - - if(result.Mohemm_GetMobileLoginInfoList.length > 0){ - - if ( result.Mohemm_GetMobileLoginInfoList[0].LoginType == 2 || result.Mohemm_GetMobileLoginInfoList[0].LoginType == 3) { - - this.loginTokenID = result.LogInTokenID; - //send silent sms - this.checkSMS(); - + this.authService.getLoginInfo(request, () => { }, this.ts.trPK('general', 'ok')).subscribe((result: GetLoginInfoResponse) => { + if (result.Mohemm_GetMobileLoginInfoList.length > 0) { + // tslint:disable-next-line: triple-equals + if ( result.Mohemm_GetMobileLoginInfoList[0].LoginType == 2 || result.Mohemm_GetMobileLoginInfoList[0].LoginType == 3) { + this.loginTokenID = result.LogInTokenID; + this.checkSMS(); + } else { + this.onlySMSBox = false; + this.button(); + } } else { - - - this.onlySMSBox = false; - this.button(); - - } - - }else { - this.onlySMSBox = false; - - this.button(); - - - - } - + } }); } - - public checkSMS() { - const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); - const request = new SMSCheckRequest(); - - - request.LogInTokenID = data.LogInTokenID; - - request.activationCode = ""; - + request.activationCode = ''; request.P_USER_NAME = data.P_USER_NAME; - request.MobileNumber = data.MobileNumber; - - - - this.authService - - .checkSMS(request, () => {}, this.ts.trPK("general", "ok")) - + this.authService.checkSMS(request, () => {}, this.ts.trPK('general', 'ok')) .subscribe((result: SMSCheckResponse) => { - - console.log(result); - if (this.cs.validResponse(result)) { - - AuthenticationService.servicePrivilage=result.Privilege_List; - + AuthenticationService.servicePrivilage = result.Privilege_List; this.authService.setAuthenticatedUser(result).subscribe(() => { - console.log("insert"); - localStorage.setItem("emp-name",result.MemberInformationList[0].EMPLOYEE_NAME); - console.log("empnmae: "+ localStorage.getItem("emp-name")); - this.user_name=result.MemberInformationList[0].EMPLOYEE_NAME; - //get date and time of last login - let currDateTime = moment().format('MMM DD , YYYY HH:mm') - localStorage.setItem("login-at",currDateTime); - - if (this.platform.is("cordova")) { - + localStorage.setItem('emp-name', result.MemberInformationList[0].EMPLOYEE_NAME); + this.user_name = result.MemberInformationList[0].EMPLOYEE_NAME; + const currDateTime = moment().format('MMM DD , YYYY HH:mm'); + localStorage.setItem('login-at', currDateTime); + if (this.platform.is('cordova')) { this.insertMobileLogin(); - - - } - + } this.cs.openHome(); - }); - } - }); - } - - - - - public insertMobileLogin(){ - - let request = new GetLoginInfoRequest(); - - this.authService.setPublicFields(request); - - request.MobileNumber = this.loginData.MobileNumber; - - request.P_USER_NAME=this.loginData.P_USER_NAME; - - request.UserName=this.loginData.P_USER_NAME; - - request.LogInTokenID =this.loginData.LogInTokenID; - - request.CompanyID =1;//CompanyID - - request.DeviceType= this.cs.getDeviceType(); - - request.DeviceToken=this.deviceToken;//"5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36";//this.deviceToken; - - //request.TokenID= - - request.LoginType=this.selectedOption; - - request.EmployeeName=this.user_name; - - - this.authService - - .insertMobileLoginInfo( - - request, - - () => { }, - - this.ts.trPK("general", "ok") - - ) - - .subscribe((result: any) => { - - console.log(result); - - - -console.log("succssful insertMobileLoginInfo" ); - - }); - - - + public insertMobileLogin() { + const request = new GetLoginInfoRequest(); + this.authService.setPublicFields(request); + request.MobileNumber = this.loginData.MobileNumber; + request.P_USER_NAME = this.loginData.P_USER_NAME; + request.UserName = this.loginData.P_USER_NAME; + request.LogInTokenID = this.loginData.LogInTokenID; + request.CompanyID = 1; // CompanyID + request.DeviceType = this.cs.getDeviceType(); + request.DeviceToken = this.deviceToken; // "5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36";//this.deviceToken; + // request.TokenID= + request.LoginType = this.selectedOption; + request.EmployeeName = this.user_name; + this.authService.insertMobileLoginInfo(request, () => { }, this.ts.trPK('general', 'ok'), this.isPostNoLoad) + .subscribe((result: any) => { + console.log('successful insertMobileLoginInfo' ); + }); } -//do silent login +// do silent login private checkUserAuthentication() { - console.log("debug Here!!"); this.cs.startLoading(); const request = new LoginRequest(); request.P_USER_NAME = this.username; - request.P_LANGUAGE = "US";//this.language; + request.P_LANGUAGE = 'US'; // this.language; request.P_PASSWORD = this.password; - console.log(request); this.authService .login(request, () => { - console.log("error here"); - //console.log(result.MessageStatus); - //this.sharedData.setSharedData(true, Password.IS_EXPIRED_PSW); - //this.userCheck(); - }, this.ts.trPK("general", "ok")) + console.log('error here'); + }, this.ts.trPK('general', 'ok')) .subscribe((result: CheckUserAuthenticationResponse) => { - console.log("success"); + console.log('success'); this.cs.stopLoading(); if (this.cs.validResponse(result)) { - - console.log("result.LogInTokenID "+ result.LogInTokenID); - console.log("this.loginData before "+ this.loginData); this.loginData = new LoginModel(); - console.log("this.loginData after "+ this.loginData); - // console.log("result.MemberLoginList.EMPLOYEE_NAME "+ result.MemberInformationList[0].EMPLOYEE_NAME); - this.loginData.LogInTokenID = result.LogInTokenID; this.loginData.MobileNumber = result.MemberLoginList.P_MOBILE_NUMBER; this.loginData.P_USER_NAME = this.username; this.loginData.EmployeeName = this.user_name; - this.sharedData.setSharedData(this.loginData, AuthenticationService.LOGIN_DATA); this.cs.sharedService.setSharedData(this.loginData.P_USER_NAME, LoginRequest.SHARED_DATA); - //this.remeberMyInfo(); - //this.cs.openSMSPage(); phase#1 one type of OTP - // if(!this.welcomeBack){ - //this.cs.openConfirmLoginPage();//phase#2 add 4 types for OTP - // } this.confirm(this.loginType); - - } else { - console.log("result.IsPasswordExpired"); - console.log(result.IsPasswordExpired); if (result.IsPasswordExpired) { - // alert("dont forget to handelpresentPasswordExpiredDialog() "); + // alert("dont forget to handelpresentPasswordExpiredDialog() "); // this.presentPasswordExpiredDialog(); ***** } } }); } -checkAccess(el:any){ - let data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); - - this.loginType=el; - - if(this.accessFromOutSide){ - // alert("this.accessFromOutSide" + this.accessFromOutSide); +checkAccess(el: any) { + const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); + this.loginType = el; + if (this.accessFromOutSide) { this.checkUserAuthentication(); - } - else{ - // alert("this.accessFromOutSide" + this.accessFromOutSide); - if(!data == undefined ){ - // alert("data.LogInTokenID" + data.LogInTokenID); - - this.confirm(this.loginType); - } - else{ - this.checkUserAuthentication(); - + } else { + // tslint:disable-next-line: triple-equals + if (!data == undefined ) { + this.confirm(this.loginType); + } else { + this.checkUserAuthentication(); + } } } -}//end checkAccess -}​ \ No newline at end of file +}​ diff --git a/Mohem/src/app/authentication/login/login.component.ts b/Mohem/src/app/authentication/login/login.component.ts index 6d25cda2..0056da73 100644 --- a/Mohem/src/app/authentication/login/login.component.ts +++ b/Mohem/src/app/authentication/login/login.component.ts @@ -96,16 +96,8 @@ export class LoginComponent implements OnInit, OnDestroy { private checkUserResult: CheckUserAuthenticationResponse; - ionViewWillEnter(){ - - console.log("ionViewWillEnter"); - } - - ngOnInit() { - // if(!this.cs.getIsTimeSessionOut()){ - // this.getlastlogin = this.cs.sharedService.getSharedData( // AuthenticationService.IMEI_USER_DATA, // false diff --git a/Mohem/src/app/hmg-common/ui/generic-header/generic-header.component.ts b/Mohem/src/app/hmg-common/ui/generic-header/generic-header.component.ts index 7c9f3c65..29d515c9 100644 --- a/Mohem/src/app/hmg-common/ui/generic-header/generic-header.component.ts +++ b/Mohem/src/app/hmg-common/ui/generic-header/generic-header.component.ts @@ -16,31 +16,23 @@ export class GenericHeaderComponent implements OnInit { @Input() updateDirection = false; @Input() headerText = ''; @Input() backLink: string; - @Output() trigger= new EventEmitter(); + @Output() trigger = new EventEmitter(); public close = 'assets/imgs/cancel.png'; constructor(public common: CommonService) { } ngOnInit() { - - console.log(this.updateDirection); - console.log(this.showClose); - console.log(this.showBack); - if(this.updateDirection){ - this.showBack=false; - }else{ - + if (this.updateDirection) { + this.showBack = false; } - } openProfilePage() { this.common.openEditProfile(); } - closeModal(){ - console.log("closeModal"); - this.trigger.emit(); + closeModal() { + this.trigger.emit(); } } diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 32e8a558..ced5f7a1 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -1,7 +1,7 @@ import { EitService } from './../eit/services/eit.service'; import { Component, OnInit } from '@angular/core'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; -import { MenuController, Events, ActionSheetController } from '@ionic/angular'; +import { Platform, MenuController, Events, ActionSheetController } from '@ionic/angular'; import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; import { MenuService } from 'src/app/hmg-common/services/menu/menuservice.service'; @@ -35,6 +35,7 @@ import { AccrualService } from '../accrual-balances/services/accrual.service'; import { TimeCardService } from '../time-card/service/time-card.service'; import { WorklistMainService } from '../notification/service/work-list.main.service'; import { isThisISOWeek } from 'date-fns'; +import { Router } from '@angular/router'; @Component({ selector: 'app-home', @@ -148,7 +149,9 @@ export class HomePage implements OnInit { public DS: DashboredService, public accrualService: AccrualService, public timeCardService: TimeCardService, - public workListService: WorklistMainService + public workListService: WorklistMainService, + public router: Router, + private platform: Platform, ) { this.events.subscribe('img-change', displayImg => { this.userImage = this.sanitizer.bypassSecurityTrustUrl( @@ -158,6 +161,11 @@ export class HomePage implements OnInit { } ngOnInit() { + this.platform.backButton.subscribeWithPriority(9999, () => { + if (this.router.isActive('/home', true)) { + this.common.openHome(); + } + }); // this.getUserDetails(); // this.getCount(); // this.events.subscribe('getNotCount', badge => { @@ -181,6 +189,14 @@ export class HomePage implements OnInit { this.getUserDetails(); } + // ionViewDidEnter() { + // // tslint:disable-next-line: only-arrow-functions + // document.addEventListener('backbutton', function(e) { + // e.preventDefault(); + // e.stopPropagation(); + // }, false); + // } + initTimer() { this.runTimer = false; this.hasStarted = false;