Merge branch 'master-newdesign' into ashwaq-fix-bug

mekawy-issues
Mohamed Mekawy 6 years ago
commit 74c2d4c6ca

@ -1,510 +1,236 @@
import { Component, OnInit } from "@angular/core"; import { Component, OnInit } from '@angular/core';
import { ElementRef } from '@angular/core';
import { ElementRef } from "@angular/core"; import { NavController, Platform } from '@ionic/angular';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { NavController, Platform } from "@ionic/angular"; import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service';
import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; import { SMSCheckRequest } from 'src/app/hmg-common/services/authentication/models/smscheck.request';
import { LoginModel } from '../models/LoginModel';
import { CommonService } from "src/app/hmg-common/services/common/common.service"; import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service';
import { SMSCheckResponse } from 'src/app/hmg-common/services/authentication/models/smscheck.response';
import { SharedDataService } from "src/app/hmg-common/services/shared-data-service/shared-data.service"; import { Password } from '../models/password';
import { SMSCheckRequest } from "src/app/hmg-common/services/authentication/models/smscheck.request";
import { LoginModel } from "../models/LoginModel";
import { AuthenticationService } from "src/app/hmg-common/services/authentication/authentication.service";
import { SMSCheckResponse } from "src/app/hmg-common/services/authentication/models/smscheck.response";
import { Password } from "../models/password";
import { GetLoginInfoRequest } from 'src/app/hmg-common/services/authentication/models/get-login-info.request'; import { GetLoginInfoRequest } from 'src/app/hmg-common/services/authentication/models/get-login-info.request';
import * as moment from "moment"; import * as moment from 'moment';
@Component({ @Component({
selector: 'app-sms-page',
selector: "app-sms-page", templateUrl: './sms-page.page.html',
styleUrls: ['./sms-page.page.scss']
templateUrl: "./sms-page.page.html",
styleUrls: ["./sms-page.page.scss"]
}) })
export class SmsPageComponent implements OnInit { export class SmsPageComponent implements OnInit {
public static LOGIN_DATA = 'LOGIN_DATA';
public static LOGIN_DATA = "LOGIN_DATA"; Channel = 0;
Channel: number = 0;
activationCode: string; activationCode: string;
P_SESSION_ID: number; P_SESSION_ID: number;
P_USER_NAME: string; P_USER_NAME: string;
timeInSeconds: any; timeInSeconds: any;
time: any; time: any;
runTimer: any; runTimer: any;
hasStarted: any; hasStarted: any;
hasFinished: any; hasFinished: any;
remainingTime: any; remainingTime: any;
displayTime: any; displayTime: any;
loginTokenID: string; loginTokenID: string;
public isForgetPwd = false;
public isForgetPwd: boolean = false; public isExpiredPwd = false;
public count = 0;
public isExpiredPwd: boolean = false;
public count: number = 0;
private loginData = new LoginModel(); private loginData = new LoginModel();
public deviceToken: any;
public deviceToken:any; public loginTypeData: any;
public logo = 'assets/icon/login/password.png';
public loginTypeData:any; // tslint:disable-next-line: variable-name
public logo = "assets/icon/login/password.png";
public smc_code: any = []; public smc_code: any = [];
code: any; code: any;
// tslint:disable-next-line: variable-name
user_name: string; user_name: string;
public isPostNoLoad = true;
loginType: any; loginType: any;
constructor( constructor(
public navCtrl: NavController, public navCtrl: NavController,
public translate: TranslatorService, public translate: TranslatorService,
public common: CommonService, public common: CommonService,
private elementRef: ElementRef, private elementRef: ElementRef,
public authService: AuthenticationService, public authService: AuthenticationService,
public sharedData: SharedDataService, public sharedData: SharedDataService,
public platform: Platform, public platform: Platform,
) {} ) {}
ngOnInit() { ngOnInit() {
this.count = 0; this.count = 0;
this.initTimer(); this.initTimer();
this.startTimer(); this.startTimer();
this.isForgetPwd = this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false;
this.isForgetPwd = this.isExpiredPwd = this.sharedData.getSharedData(Password.IS_EXPIRED_PSW) || false;
this.loginData = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
this.sharedData.getSharedData(Password.IS_FORGET_PSW) || false; this.deviceToken = this.common.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false);
// tslint:disable-next-line: triple-equals
this.isExpiredPwd = if (this.deviceToken == undefined) {
this.deviceToken = localStorage.getItem('deviceToken');
this.sharedData.getSharedData(Password.IS_EXPIRED_PSW) || false; }
console.log('deviceToken :' + this.deviceToken);
this.loginData= this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); this.loginTypeData = this.common.sharedService.getSharedData(SMSCheckRequest.SHARED_DATA, false);
this.loginType = this.loginTypeData.loginType;
console.log("loginData : "+ this.loginData);
// this.loginType=this.loginTypeData.loginType;
this.deviceToken= this.common.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false);
if(this.deviceToken == undefined){
this.deviceToken = localStorage.getItem("deviceToken");
}
console.log("deviceToken :"+this.deviceToken);
this.loginTypeData= this.common.sharedService.getSharedData(SMSCheckRequest.SHARED_DATA, false);
this.loginType=this.loginTypeData.loginType;
console.log("loginType :"+this.loginTypeData.loginType);
} }
initTimer() { initTimer() {
// Pomodoro is usually for 25 minutes
if (!this.timeInSeconds) { if (!this.timeInSeconds) {
this.timeInSeconds = 600; this.timeInSeconds = 600;
} }
this.time = this.timeInSeconds; this.time = this.timeInSeconds;
this.runTimer = false; this.runTimer = false;
this.hasStarted = false; this.hasStarted = false;
this.hasFinished = false; this.hasFinished = false;
this.remainingTime = this.timeInSeconds; this.remainingTime = this.timeInSeconds;
this.displayTime = this.common.getSecondsAsDigitalClock(this.remainingTime); this.displayTime = this.common.getSecondsAsDigitalClock(this.remainingTime);
} }
startTimer() { startTimer() {
this.runTimer = true; this.runTimer = true;
this.hasStarted = true; this.hasStarted = true;
this.timerTick(); this.timerTick();
} }
pauseTimer() { pauseTimer() {
this.runTimer = false; this.runTimer = false;
} }
resumeTimer() { resumeTimer() {
this.startTimer(); this.startTimer();
} }
timerTick() { timerTick() {
setTimeout(() => { setTimeout(() => {
if (!this.runTimer) { if (!this.runTimer) {
return; return;
} }
this.remainingTime--; this.remainingTime--;
this.displayTime = this.common.getSecondsAsDigitalClock(this.remainingTime);
this.displayTime = this.common.getSecondsAsDigitalClock(
this.remainingTime
);
if (this.remainingTime > 0) { if (this.remainingTime > 0) {
this.timerTick(); this.timerTick();
} else { } else {
this.hasFinished = true; this.hasFinished = true;
this.pauseTimer(); this.pauseTimer();
this.navCtrl.pop(); this.navCtrl.pop();
} }
}, 1000); }, 1000);
} }
ionViewWillLeave() { ionViewWillLeave() {
this.pauseTimer(); this.pauseTimer();
} }
checkOTPLength() {
// tslint:disable-next-line: triple-equals
checkOTPLength(){ if (this.activationCode.length == 4) {
console.log(this.activationCode.length);
if(this.activationCode.length==4){
this.checkVerificationCode(); this.checkVerificationCode();
} }
} }
checkVerificationCode() { checkVerificationCode() {
this.code=this.smc_code.join(''); this.code = this.smc_code.join('');
if (this.count < 3) { if (this.count < 3) {
// tslint:disable-next-line: triple-equals
if ( if (this.code == undefined || this.code == null || this.code == '') {
this.code == undefined ||
this.code == null ||
this.code == ""
) {
// this.common.showAlert(this.translate.translate('verificationcode.emptyCode')); // this.common.showAlert(this.translate.translate('verificationcode.emptyCode'));
} else { } else {
this.count = this.count + 1; this.count = this.count + 1;
if (this.isForgetPwd || this.isExpiredPwd) { if (this.isForgetPwd || this.isExpiredPwd) {
this.checkForgetPwdSMS(); this.checkForgetPwdSMS();
} else { } else {
console.log("checkSMS");
this.checkSMS(); this.checkSMS();
} }
} }
} else { } else {
const msg: string = this.translate.trPK('general', 'noOfTriesLogin');
let msg: string = this.translate.trPK("general", "noOfTriesLogin"); this.common.JustAlertDialog(this.translate.trPK('general', 'ok'), msg);
this.common.JustAlertDialog(this.translate.trPK("general", "ok"), msg);
} }
} }
public checkSMS() { public checkSMS() {
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
// alert("checkSMS in page") const request = new SMSCheckRequest();
console.log("code" + this.code); request.LogInTokenID = data.LogInTokenID;
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); request.activationCode = this.code; // code;this.activationCode;
request.P_USER_NAME = data.P_USER_NAME;
const request = new SMSCheckRequest(); request.MobileNumber = data.MobileNumber;
this.authService.checkSMS(request, () => {}, this.translate.trPK('general', 'ok')).subscribe((result: SMSCheckResponse) => {
request.LogInTokenID = data.LogInTokenID;
request.activationCode = this.code; //code;this.activationCode;
request.P_USER_NAME = data.P_USER_NAME;
request.MobileNumber = data.MobileNumber;
this.authService
.checkSMS(request, () => {}, this.translate.trPK("general", "ok"))
.subscribe((result: SMSCheckResponse) => {
console.log(result);
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
AuthenticationService.servicePrivilage = result.Privilege_List;
AuthenticationService.servicePrivilage=result.Privilege_List;
this.authService.setAuthenticatedUser(result).subscribe(() => { this.authService.setAuthenticatedUser(result).subscribe(() => {
localStorage.setItem('emp-name', result.MemberInformationList[0].EMPLOYEE_NAME);
//call insert Mobile Login this.user_name = result.MemberInformationList[0].EMPLOYEE_NAME;
console.log("insert"); const currDateTime = moment().format('MMM DD , YYYY HH:mm');
localStorage.setItem("emp-name",result.MemberInformationList[0].EMPLOYEE_NAME); localStorage.setItem('login-at', currDateTime);
console.log("empnmae: "+ localStorage.getItem("emp-name")); if (this.platform.is('cordova')) {
// localStorage.setItem("login-at", new Date().toISOString());
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("full-name", result.P_USER_NAME);
this.insertMobileLogin(); this.insertMobileLogin();
} }
this.common.openHome(); this.common.openHome();
}); });
} }
}); });
} }
public insertMobileLogin() {
const request = new GetLoginInfoRequest();
public insertMobileLogin(){
console.log("loginData" + this.loginData);
let request = new GetLoginInfoRequest();
this.authService.setPublicFields(request); this.authService.setPublicFields(request);
request.MobileNumber = this.loginData.MobileNumber; request.MobileNumber = this.loginData.MobileNumber;
request.P_USER_NAME = this.loginData.P_USER_NAME;
request.P_USER_NAME=this.loginData.P_USER_NAME; request.UserName = this.loginData.P_USER_NAME;
request.LogInTokenID = this.loginData.LogInTokenID;
request.UserName=this.loginData.P_USER_NAME; request.CompanyID = 1; // CompanyID
request.DeviceType = this.common.getDeviceType();
request.LogInTokenID =this.loginData.LogInTokenID; request.DeviceToken = this.deviceToken; // "5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36";//this.deviceToken;
request.LoginType = this.loginTypeData.loginType;
request.CompanyID =1;//CompanyID request.EmployeeName = this.user_name;
this.authService.insertMobileLoginInfo(request, () => { }, this.translate.trPK('general', 'ok'), this.isPostNoLoad)
request.DeviceType= this.common.getDeviceType(); .subscribe((result: any) => {
console.log('successful insertMobileLogin' );
request.DeviceToken=this.deviceToken;//"5ca8a69cf1804db55264c349edffb99b9d63acd9fa9b6b18956bcb2ad3f2ba36";//this.deviceToken; });
request.LoginType=this.loginTypeData.loginType;
request.EmployeeName=this.user_name;
this.authService
.insertMobileLoginInfo(
request,
() => { },
this.translate.trPK("general", "ok")
)
.subscribe((result: any) => {
});
} }
public checkForgetPwdSMS() { public checkForgetPwdSMS() {
const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); const data = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
const request = new SMSCheckRequest(); const request = new SMSCheckRequest();
request.LogInTokenID = data.LogInTokenID; request.LogInTokenID = data.LogInTokenID;
request.activationCode = this.code; // this.activationCode;
request.activationCode =this.code;// this.activationCode;
request.P_USER_NAME = data.P_USER_NAME; request.P_USER_NAME = data.P_USER_NAME;
this.authService.checkForgetSMS(request, () => {}, this.translate.trPK('general', 'ok')).subscribe((result: SMSCheckResponse) => {
console.log(data.LogInTokenID);
console.log(data.P_USER_NAME);
this.authService
.checkForgetSMS(request, () => {}, this.translate.trPK("general", "ok"))
.subscribe((result: SMSCheckResponse) => {
console.log(result);
if (this.common.validResponse(result)) { if (this.common.validResponse(result)) {
console.log(result);
if (this.isForgetPwd) { if (this.isForgetPwd) {
this.common.openForgotPassword(); this.common.openForgotPassword();
}
} if (this.isExpiredPwd) {
this.sharedData.setSharedData(true, Password.IS_EXPIRED_PSW);
if(this.isExpiredPwd) {
this.sharedData.setSharedData(true,Password.IS_EXPIRED_PSW);
this.common.openChangePassword(); this.common.openChangePassword();
} }
} }
}); });
} }
onChange() { onChange() {
const filtered = this.smc_code.filter(function (el) { // tslint:disable-next-line: only-arrow-functions
const filtered = this.smc_code.filter(function(el) {
if (el) { if (el) {
return el; return el;
} }
}); });
if (filtered.length === 4) { if (filtered.length === 4) {
//this.validate();
console.log("validate");
this.checkVerificationCode(); this.checkVerificationCode();
} }
} }
goToNextInput(e) { goToNextInput(e) {
// let value = e.target.value;
// if (value.length === 1) {
const key = e.which; const key = e.which;
const t = e.target; const t = e.target;
let sib = t.nextElementSibling; const sib = t.nextElementSibling;
let sibPre =t.previousElementSibling; const sibPre = t.previousElementSibling;
if (key !== 9 && (key < 48 || key > 57)) { if (key !== 9 && (key < 48 || key > 57)) {
if (key === 8 || key === 46) { if (key === 8 || key === 46) {
return true; return true;
} else { } else {
e.preventDefault(); e.preventDefault();
@ -515,22 +241,13 @@ export class SmsPageComponent implements OnInit {
if (key === 9) { if (key === 9) {
return true; return true;
} }
if (sib) { if (sib) {
//sib = document.querySelector('input'); if (e.target.value === '') {
if (e.target.value ==="") { sibPre.setFocus();
sibPre.setFocus()} } else {
else{
sib.setFocus(); sib.setFocus();
}
} }
} }
// } else { }
// e.target.value = value.substring(0, value.length - 1); }
// }
}

@ -555,10 +555,14 @@ export class AuthenticationService {
public insertMobileLoginInfo(request: GetLoginInfoRequest,onError: any, errorLabel: string): Observable<GetLoginInfoResponse> { // tslint:disable-next-line: max-line-length
public insertMobileLoginInfo(request: GetLoginInfoRequest, onError: any, errorLabel: string, isPostNoLoad = false): Observable<GetLoginInfoResponse> {
this.authenticateRequest(request); this.authenticateRequest(request);
if (isPostNoLoad) {
return this.con.post(AuthenticationService.insertMobileLoginInfo,request,onError,errorLabel); return this.con.postNoLoad(AuthenticationService.insertMobileLoginInfo, request, onError, errorLabel);
} else {
return this.con.post(AuthenticationService.insertMobileLoginInfo, request, onError, errorLabel);
}
} }

Loading…
Cancel
Save