feat: Add offline supervisor info retrieval and update related components

This commit is contained in:
Don Wilfried 2025-08-15 15:18:24 +01:00
parent 6f146eb712
commit 405c2ce49d
4 changed files with 54 additions and 9 deletions

View File

@ -4,6 +4,7 @@ import Button from 'apsl-react-native-button';
import axios from 'axios';
import _ from 'lodash';
import isNil from 'lodash/isNil';
import React from 'react';
import {Component} from 'react';
import {
Alert,

View File

@ -17,7 +17,7 @@ import {responsiveHeight, responsiveWidth, responsiveFontSize} from 'react-nativ
import {Fumi, Kaede} from 'react-native-textinput-effects'
import * as Animatable from 'react-native-animatable'
import Button from 'apsl-react-native-button'
import {categoryChild, getCodeInformation, getSupervisorInfoCode} from './../../webservice/AuthApi'
import {categoryChild, getCodeInformation, getSupervisorInfoCode, getSupervisorInfoCodeOffline} from './../../webservice/AuthApi'
let theme = require('./../../utils/theme.json')
let route = require('./../../route.json')
@ -515,8 +515,19 @@ export default class CreateAccount extends Component {
}
retreiveSupervisorInfosCode() {
getSupervisorInfoCode().then((result) => {
// retreiveSupervisorInfosCode() {
// getSupervisorInfoCode().then((result) => {
// console.warn("SUPERVISOR INFOS CODE", JSON.stringify(result));
// storeData(supervisorCode, JSON.stringify(result)).then(() => {
// this.setState({displayLoader: false});
// });
// }).catch(error => {
// //console.log(error);
// })
// }
retreiveSupervisorInfosCode() {
getSupervisorInfoCodeOffline().then((result) => {
console.warn("SUPERVISOR INFOS CODE", JSON.stringify(result));
storeData(supervisorCode, JSON.stringify(result)).then(() => {
this.setState({displayLoader: false});
@ -614,7 +625,8 @@ export default class CreateAccount extends Component {
} else {
let codeSupervisorsData = JSON.parse(codeSupervisor);
let codeSupervisors = Object.keys(codeSupervisorsData);
let codeSupervisorsDataCodes = codeSupervisorsData.codes;
let codeSupervisors = Object.keys(codeSupervisorsData.codes);
this.setState({codeSupervisorsData});
if (!codeSupervisors.includes(user.member)) {
@ -627,9 +639,18 @@ export default class CreateAccount extends Component {
}], {cancelable: false});
} else {
this.setState({isLoging: false});
let resultInfosCode = codeSupervisorsData[user.member];
this.setState({codeSupervisorData: resultInfosCode});
let resultInfosCode = codeSupervisorsDataCodes[user.member];
const completedResultInfosCode = {
...resultInfosCode,
companies_types:codeSupervisorsData.globals.companies_types ,
districts: codeSupervisorsData.globals.districts,
neighborhoods: codeSupervisorsData.globals.neighborhoods,
activities: codeSupervisorsData.globals.activities,
municipalities: codeSupervisorsData.globals.municipalities
};
this.setState({codeSupervisorData: completedResultInfosCode});
if (resultInfosCode.network.is_companies_network === "1" && resultInfosCode.child == "geolocated") {
this.props.navigation.push(route.createUserStep, {
type: this.type,

View File

@ -14,7 +14,8 @@ import {
getPasObject,
getPubActiveObject,
getSupervisorInfoCode,
getAppVersion
getAppVersion,
getSupervisorInfoCodeOffline
} from '../../webservice/AuthApi';
import {Bubbles, DoubleBounce, Bars, Pulse} from 'react-native-loader';
import Configuration from "../../webservice/persistences/Configuration";
@ -58,7 +59,7 @@ export default class SplashScreen extends Component {
//
constructor(props) {
super(props);
this.retreiveSupervisorInfosCode();
// this.retreiveSupervisorInfosCode();
this.state = {}
};
@ -130,10 +131,29 @@ export default class SplashScreen extends Component {
});*/
}
initializeOfflineMode = () => {
console.log("Initialisation du mode Hors Ligne...");
getSupervisorInfoCodeOffline()
.then((result) => {
console.warn("SUPERVISOR INFOS CODE_", JSON.stringify(result));
storeData(supervisorCode, JSON.stringify(result))
.then(() => {
this.setState({ offlineInitialized: true, isLoading: false });
})
.catch(error => {
console.error("Erreur lors du stockage :", error);
this.setState({ isLoading: false });
});
})
.catch(error => {
console.error("Erreur lors de la récupération des infos :", error);
});
}
componentDidMount() {
console.log("ComponentDidMount===>>")
this.retreiveSupervisorInfosCode();
this.initializeOfflineMode();
// this.retreiveSupervisorInfosCode();
try {
this.requestCameraPermission()
} catch (e) {

View File

@ -397,6 +397,9 @@ export const getTownInformationName = (town) => {
export const getSupervisorInfoCode = () => {
return queryData({"type": "all_supervisors_info_code", "tag": "member"}, memberActionUrl);
}
export const getSupervisorInfoCodeOffline = () => {
return queryData({"type": "supervisors_infos_off_line", "tag": "member"}, memberActionUrl);
}
export const generateAgentGeo = async (newPhone) => {
const user = await readUser();
const items = await queryData({