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

refactor: shift pesa init with currency to books

This commit is contained in:
18alantom 2021-12-02 14:10:40 +05:30
parent 2dd4906788
commit 4650b1eeda
3 changed files with 44 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import postStart from '../server/postStart';
import { DB_CONN_FAILURE } from './messages';
import migrate from './migrate';
import { getSavePath } from './utils';
import { callInitializeMoneyMaker } from './utils';
export async function createNewDatabase() {
const { canceled, filePath } = await getSavePath('books', 'db');
@ -49,6 +50,8 @@ export async function connectToLocalDatabase(filePath) {
return { connectionSuccess: false, reason: DB_CONN_FAILURE.CANT_CONNECT };
}
await callInitializeMoneyMaker();
try {
await runRegionalModelUpdates();
} catch (error) {

View File

@ -3,6 +3,7 @@ import frappe from 'frappejs';
import countryList from '~/fixtures/countryInfo.json';
import generateTaxes from '../../../models/doctype/Tax/RegionalEntries';
import regionalModelUpdates from '../../../models/regionalModelUpdates';
import { callInitializeMoneyMaker } from '../../utils';
export default async function setupCompany(setupWizardValues) {
const {
@ -17,6 +18,9 @@ export default async function setupCompany(setupWizardValues) {
} = setupWizardValues;
const accountingSettings = frappe.AccountingSettings;
const currency = countryList[country]['currency'];
await callInitializeMoneyMaker(currency);
await accountingSettings.update({
companyName,
country,
@ -25,7 +29,7 @@ export default async function setupCompany(setupWizardValues) {
bankName,
fiscalYearStart,
fiscalYearEnd,
currency: countryList[country]['currency'],
currency,
});
const printSettings = await frappe.getSingle('PrintSettings');

View File

@ -351,3 +351,39 @@ export function titleCase(phrase) {
})
.join(' ');
}
export async function getIsSetupComplete() {
try {
const { setupComplete } = await frappe.getSingle('AccountingSettings');
return !!setupComplete;
} catch {
return false;
}
}
export async function getCurrency() {
let currency = frappe?.AccoutingSettings?.currency ?? undefined;
if (!currency) {
try {
currency = (
await frappe.db.getSingleValues({
fieldname: 'currency',
parent: 'AccountingSettings',
})
)[0].value;
} catch (err) {
currency = undefined;
}
}
return currency;
}
export async function callInitializeMoneyMaker(currency) {
currency ??= await getCurrency();
if (!currency && frappe.pesa) {
return;
}
await frappe.initializeMoneyMaker(currency);
}