2
0
mirror of https://github.com/frappe/books.git synced 2025-02-02 20:18:26 +00:00
books/src/main.js

81 lines
1.9 KiB
JavaScript
Raw Normal View History

// vue imports
2018-06-26 16:43:05 +05:30
import Vue from 'vue';
import App from './App';
import router from './router';
import frappeVue from 'frappejs/ui/plugins/frappeVue';
// frappejs imports
import frappe from 'frappejs';
2018-10-04 14:55:05 +05:30
import frappeConf from '../frappe.conf';
2018-07-14 18:45:21 +05:30
import io from 'socket.io-client';
import HTTPClient from 'frappejs/backends/http';
import common from 'frappejs/common';
import coreModels from 'frappejs/models';
import models from '../models';
2018-06-11 16:50:34 +05:30
import registerReportMethods from '../reports';
frappe.init();
frappe.registerLibs(common);
frappe.registerModels(coreModels);
frappe.registerModels(models);
2018-10-04 14:55:05 +05:30
const server = `localhost:${frappeConf.dev.devServerPort}`;
frappe.fetch = window.fetch.bind();
frappe.db = new HTTPClient({ server });
const socket = io.connect(`http://${server}`);
frappe.db.bindSocketClient(socket);
frappe.getSingle('SystemSettings');
2018-06-26 16:43:05 +05:30
registerReportMethods();
frappe.getSingle('AccountingSettings')
.then(accountingSettings => {
if (router.currentRoute.fullPath !== '/') return;
if (accountingSettings.companyName) {
2018-10-22 23:32:47 +05:30
frappe.events.trigger('show-desk');
} else {
2018-10-22 23:32:47 +05:30
frappe.events.trigger('show-setup-wizard');
}
});
2018-10-22 23:32:47 +05:30
frappe.events.on('SetupWizard:setup-complete', async ({ setupWizardValues }) => {
const {
companyName,
country,
name,
email,
abbreviation,
bankName,
fiscalYearStart,
fiscalYearEnd
} = setupWizardValues;
const doc = await frappe.getSingle('AccountingSettings');
await doc.set({
companyName,
country,
fullname: name,
email,
bankName,
fiscalYearStart,
fiscalYearEnd
});
await doc.update();
await frappe.call({ method: 'import-coa' });
frappe.events.trigger('show-desk');
});
window.frappe = frappe;
2018-06-01 18:05:51 +05:30
2018-06-26 16:43:05 +05:30
Vue.config.productionTip = false;
Vue.use(frappeVue);
2018-06-26 16:43:05 +05:30
2018-06-01 18:05:51 +05:30
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
2018-06-26 16:43:05 +05:30
});