2
0
mirror of https://github.com/frappe/books.git synced 2024-09-20 11:29:00 +00:00
books/electron/client.js

82 lines
2.2 KiB
JavaScript
Raw Normal View History

const path = require('path');
2018-03-29 18:52:46 +00:00
const electron = require('frappejs/client/electron');
const { writeFile } = require('frappejs/server/utils');
2018-03-29 18:52:46 +00:00
const appClient = require('../client');
const SetupWizard = require('../setup');
2018-03-26 14:07:27 +00:00
2018-04-08 18:33:32 +00:00
const fs = require('fs');
require.extensions['.html'] = function (module, filename) {
module.exports = fs.readFileSync(filename, 'utf8');
};
(async () => {
const configFilePath = path.join(require('os').homedir(), '.config', 'frappe-accounting', 'settings.json');
let settings, dbPath;
try {
settings = require(configFilePath);
} catch(e) {
settings = {}
}
if (settings.dbPath) {
dbPath = settings.dbPath;
electron.start({
dbPath,
models: require('../models')
}).then(() => {
2018-04-08 18:33:32 +00:00
frappe.syncDoc(require('../fixtures/invoicePrint'));
appClient.start();
});
} else {
const setup = new SetupWizard();
window.setup = setup;
const values = await setup.start();
const {
companyName,
file,
country,
name,
email,
abbreviation,
bankName
} = values;
dbPath = path.join(file[0].path, companyName + '.db');
electron.start({
dbPath,
models: require('../models')
}).then(async () => {
await writeFile(configFilePath, JSON.stringify({
directory: path.dirname(dbPath),
dbPath: dbPath
}));
const doc = await frappe.getDoc('AccountingSettings');
await doc.set('companyName', companyName);
await doc.set('country', country);
await doc.set('fullname', name);
await doc.set('email', email);
await doc.set('bankName', bankName);
await doc.update();
2018-04-02 17:54:45 +00:00
// bootstrap Chart of Accounts
const importCOA = require('../models/doctype/account/importCOA');
const chart = require('../fixtures/standardCOA');
await importCOA(chart);
2018-04-08 18:33:32 +00:00
frappe.syncDoc(require('../fixtures/invoicePrint'));
appClient.start();
})
}
})();
2018-03-26 14:07:27 +00:00