mirror of
https://github.com/frappe/books.git
synced 2026-08-24 10:04:45 -05:00
61 lines
1.7 KiB
TypeScript
61 lines
1.7 KiB
TypeScript
import { Doc } from 'fyo/model/doc';
|
|
import { ChangeArg, HiddenMap } from 'fyo/model/types';
|
|
import { initERPNSync, syncDocumentsToERPNext } from 'src/utils/erpnextSync';
|
|
|
|
export class ERPNextSyncSettings extends Doc {
|
|
deviceID?: string;
|
|
instanceName?: string;
|
|
baseURL?: string;
|
|
authToken?: string;
|
|
integrationAppVersion?: string;
|
|
isEnabled?: boolean;
|
|
initialSyncData?: boolean;
|
|
|
|
dataSyncInterval?: string;
|
|
syncDataFromServer?: boolean;
|
|
syncDataToServer?: boolean;
|
|
|
|
registerInstance?: string;
|
|
syncSettings?: string;
|
|
syncDataToERPNext?: string;
|
|
fetchFromERPNextQueue?: string;
|
|
clearSyncedDocsFromErpNextSyncQueue?: string;
|
|
|
|
hidden: HiddenMap = {
|
|
syncPriceList: () => {
|
|
return !this.fyo.singles.AccountingSettings?.enablePriceList;
|
|
},
|
|
priceListSyncType: () => {
|
|
return !this.fyo.singles.AccountingSettings?.enablePriceList;
|
|
},
|
|
syncSerialNumber: () => {
|
|
return !this.fyo.singles.InventorySettings?.enableSerialNumber;
|
|
},
|
|
serialNumberSyncType: () => {
|
|
return !this.fyo.singles.InventorySettings?.enableSerialNumber;
|
|
},
|
|
syncBatch: () => {
|
|
return !this.fyo.singles.InventorySettings?.enableBatches;
|
|
},
|
|
batchSyncType: () => {
|
|
return !this.fyo.singles.InventorySettings?.enableBatches;
|
|
},
|
|
};
|
|
|
|
async change(ch: ChangeArg) {
|
|
if (ch.changed === 'syncDataFromServer') {
|
|
const { showToast } = await import('src/utils/interactive');
|
|
showToast({
|
|
type: 'warning',
|
|
message: 'Fetching data from server.',
|
|
duration: 'very_long',
|
|
});
|
|
await initERPNSync(this.fyo);
|
|
ipc.reloadWindow();
|
|
} else if (ch.changed === 'syncDataToServer') {
|
|
await syncDocumentsToERPNext(this.fyo);
|
|
ipc.reloadWindow();
|
|
}
|
|
}
|
|
}
|