fixed production abscence issue

MOHEMM-HUAWEI-RELEASE
umasoodch 4 years ago
parent 5411a068bf
commit f00643dbf6

@ -7,7 +7,7 @@
<div [ngClass]=" direction === 'en' ? 'custom-text-area-element Field-en' : 'custom-text-area-element Field-ar'" >
<label class="label" position='floating' class="colBold requiredClass">{{ts.trPK('submitAbsence','absenceType')}} </label>
<select class="label-Select" (ionChange)="calcDay()" [(ngModel)]="absenceType" (ionChange)="onTypeAbsenceChange()" required>
<select class="label-Select" [(ngModel)]="absenceType" (change)="onTypeAbsenceChange()" required>
<option value= "{{item.ABSENCE_ATTENDANCE_TYPE_ID}}" *ngFor="let item of absenceTypeList; let i=index;">{{item.ABSENCE_ATTENDANCE_TYPE_NAME}} </option>
</select>
</div>

@ -6,7 +6,7 @@ import { DevicePermissionsService } from 'src/app/hmg-common/services/device-per
import { Geolocation } from '@ionic-native/geolocation/ngx';
import { Platform } from "@ionic/angular";
declare var cordova: any;
declare const cordova: any;
@Injectable({
providedIn: 'root'
@ -41,16 +41,16 @@ export class HMGUtils {
async isHuaweiDevice(): Promise<boolean> {
var result: any = await new Promise((resolve, reject) => {
const result: any = await new Promise((resolve, reject) => {
cordova.plugins.CordovaHMSGMSCheckPlugin.isHmsAvailable(
"index.js",
(_res) => {
var hmsAvailable = _res === "true";
const hmsAvailable = _res === "true";
resolve(hmsAvailable);
},
(_err) => {
reject({ "status": false, "error": JSON.stringify(_err) });
alert("Error checking device HMS/GMS") // add your popup
this.common.presentAlert(this.ts.trPK('general', 'huawei-hms-gms-error'));
}
);
});
@ -60,42 +60,40 @@ export class HMGUtils {
private getHMSLocation(callBack: Function) {
try {
console.log("Huawei Location [Getting]");
cordova.plugins.CordovaHMSLocationPlugin.requestLocation(
"index.js",
(_res) => {
console.log("Huawei Location Success: [Stop Getting]");
cordova.plugins.CordovaHMSLocationPlugin.removeLocation("", (_res) => { }, (_err) => { });
var location = _res.split(',')
const location = _res.split(',')
console.log(location);
if (location.length == 2) {
var lat = Number(_res.split(',')[0]);
var long = Number(_res.split(',')[1]);
var mock = Boolean(_res.split(',')[2]);
if (location.length == 3) {
const lat = Number(_res.split(',')[0]);
const long = Number(_res.split(',')[1]);
const mock = Boolean(_res.split(',')[2]);
callBack({"latitude":lat, "longitude":long, "isfake":mock})
} else {
alert("Invalid Huawei location from plugin.");
this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location'));
}
},
(_err) => {
console.log("Huawei Location [Getting Error]: " + + JSON.stringify(_err));
alert("Error while getting Huawei location");
console.log("Huawei Location [Getting Error]: " + JSON.stringify(_err));
this.common.presentAlert(this.ts.trPK('general', 'invalid-huawei-location'));
}
);
} catch (_err) {
console.log("Huawei Location Plugin [Error]: " + + JSON.stringify(_err));
alert("Error while initializing Huawei Location Plugin");
this.common.presentAlert('Error while initializing Huawei Location Plugin');
}
}
private getGMSLocation(callBack: Function) {
this.backgroundGeolocation.getCurrentLocation({ timeout: 10000, enableHighAccuracy: true, maximumAge: 3000 }).then((resp) => {
if (resp && (resp.latitude && resp.longitude)) {
var isFakeLocation = resp.isFromMockProvider || resp.mockLocationsEnabled;
var lat = resp.latitude;
var long = resp.longitude;
const isFakeLocation = resp.isFromMockProvider || resp.mockLocationsEnabled;
const lat = resp.latitude;
const long = resp.longitude;
callBack({"latitude":lat, "longitude":long, "isfake":isFakeLocation})
} else {
this.common.presentAlert(this.ts.trPK('home', 'position-error'));
@ -108,8 +106,8 @@ export class HMGUtils {
private getIOSLocation(callBack: Function) {
this.geolocation.getCurrentPosition({ maximumAge: 3000, timeout: 10000, enableHighAccuracy: true }).then(resp => {
if (resp && resp.coords.latitude && resp.coords.longitude) {
var lat = resp.coords.latitude;
var long = resp.coords.longitude;
const lat = resp.coords.latitude;
const long = resp.coords.longitude;
callBack({"latitude":lat, "longitude":long, "isfake":false})
} else {
this.common.presentAlert(this.ts.trPK('home', 'position-error'));

@ -92,6 +92,10 @@ export class AttendanceOptionsComponent implements OnInit {
this.check = 'this device is not huawei device :' + test;
console.log('this device is non-huawei device :' + test);
}
this.hmgUtils.getCurrentLocation((data) => {
console.log(data);
});
}
public checkFirebaseDocument() {

@ -142,7 +142,7 @@
</ion-card>
<ion-card *ngIf="basicDetailsSegment" [ngClass]="direction === 'ltr'? 'card-size-info-en': 'card-size-info-ar' ">
<ion-card-content *ngIf="!editBasic && (fullName && maritalStatus && birthDate && civilIdentityNumber)">
<ion-card-content *ngIf="!editBasic && employeeBasicDetails">
<ion-grid>
<ion-row style="width: 113%;">
<ion-col size="10">

@ -1209,6 +1209,8 @@ $actionBtnSize: 36px;
height: 35px;
color: white;
border-radius: 50%;
position: absolute;
right: 30px;
}
.name{

@ -209,6 +209,14 @@
}
},
"general": {
"invalid-huawei-location": {
"en": "Error while getting location from Huawei HMS services",
"ar": "خطأ أثناء الحصول على الموقع من خدمات Huawei HMS"
},
"huawei-hms-gms-error": {
"en": "Error checking device HMS/GMS availability",
"ar": "خطأ في التحقق من توفر جهاز HMS / GMS"
},
"location-permission-dialog": {
"en": "Allow the Mohemm app to access your location for marking your attendance",
"ar": "اسمح لتطبيق مهم بالوصول إلى موقعك لتحديد حضورك"

Loading…
Cancel
Save