2018-06-11 15:16:25 +05:30
|
|
|
// vue imports
|
2018-06-26 16:43:05 +05:30
|
|
|
import Vue from 'vue';
|
|
|
|
import App from './App';
|
|
|
|
import router from './router';
|
2018-07-14 13:02:01 +05:30
|
|
|
import frappeVue from 'frappejs/ui/plugins/frappeVue';
|
2018-06-11 15:16:25 +05:30
|
|
|
|
|
|
|
// 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';
|
2018-06-11 15:16:25 +05:30
|
|
|
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';
|
2018-06-11 15:16:25 +05:30
|
|
|
|
|
|
|
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}`;
|
2018-06-11 15:16:25 +05:30
|
|
|
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();
|
2018-06-11 15:16:25 +05:30
|
|
|
|
|
|
|
frappe.getSingle('AccountingSettings')
|
|
|
|
.then(accountingSettings => {
|
2018-07-09 18:33:38 +05:30
|
|
|
if (router.currentRoute.fullPath !== '/') return;
|
|
|
|
|
2018-06-11 15:16:25 +05:30
|
|
|
if (accountingSettings.companyName) {
|
2018-10-22 23:32:47 +05:30
|
|
|
frappe.events.trigger('show-desk');
|
2018-06-11 15:16:25 +05:30
|
|
|
} else {
|
2018-10-22 23:32:47 +05:30
|
|
|
frappe.events.trigger('show-setup-wizard');
|
2018-06-11 15:16:25 +05:30
|
|
|
}
|
|
|
|
});
|
|
|
|
|
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');
|
|
|
|
});
|
|
|
|
|
2018-06-11 15:16:25 +05:30
|
|
|
window.frappe = frappe;
|
2018-06-01 18:05:51 +05:30
|
|
|
|
2018-06-26 16:43:05 +05:30
|
|
|
Vue.config.productionTip = false;
|
2018-07-14 13:02:01 +05:30
|
|
|
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
|
|
|
});
|