diff --git a/packages/server/src/services/ManualJournals/CommandManualJournalValidators.ts b/packages/server/src/services/ManualJournals/CommandManualJournalValidators.ts index e8adb84b6..3e3e6c7b1 100644 --- a/packages/server/src/services/ManualJournals/CommandManualJournalValidators.ts +++ b/packages/server/src/services/ManualJournals/CommandManualJournalValidators.ts @@ -1,4 +1,4 @@ -import { difference } from 'lodash'; +import { difference, isEmpty } from 'lodash'; import { Service, Inject } from 'typedi'; import { ServiceError } from '@/exceptions'; import { @@ -244,16 +244,12 @@ export class CommandManualJournalValidators { /** * Validates the manual journal number require. * @param {string} journalNumber + * @throws {ServiceError(ERRORS.MANUAL_JOURNAL_NO_REQUIRED)} */ public validateJournalNoRequireWhenAutoNotEnabled = ( - tenantId: number, journalNumber: string ) => { - // Retrieve the next manual journal number. - const autoIncrmenetEnabled = - this.autoIncrement.autoIncrementEnabled(tenantId); - - if (!journalNumber || !autoIncrmenetEnabled) { + if (isEmpty(journalNumber)) { throw new ServiceError(ERRORS.MANUAL_JOURNAL_NO_REQUIRED); } }; diff --git a/packages/server/src/services/ManualJournals/CreateManualJournal.ts b/packages/server/src/services/ManualJournals/CreateManualJournal.ts index 7374fb358..3212e1d1d 100644 --- a/packages/server/src/services/ManualJournals/CreateManualJournal.ts +++ b/packages/server/src/services/ManualJournals/CreateManualJournal.ts @@ -99,7 +99,6 @@ export class CreateManualJournalService { // Validate manual journal number require when auto-increment not enabled. this.validator.validateJournalNoRequireWhenAutoNotEnabled( - tenantId, manualJournalDTO.journalNumber ); // Validate manual journal uniquiness on the storage. diff --git a/packages/server/src/services/Sales/AutoIncrementOrdersService.ts b/packages/server/src/services/Sales/AutoIncrementOrdersService.ts index 8141528de..a78acaa91 100644 --- a/packages/server/src/services/Sales/AutoIncrementOrdersService.ts +++ b/packages/server/src/services/Sales/AutoIncrementOrdersService.ts @@ -15,10 +15,8 @@ export default class AutoIncrementOrdersService { const group = settingsGroup; // Settings service transaction number and prefix. - const autoIncrement = settings.get({ group, key: 'auto_increment' }, false); - - return parseBoolean(autoIncrement, false); - } + return settings.get({ group, key: 'auto_increment' }, false); + }; /** * Retrieve the next service transaction number. @@ -27,17 +25,16 @@ export default class AutoIncrementOrdersService { * @param {Function} getMaxTransactionNo * @return {Promise} */ - getNextTransactionNumber(tenantId: number, settingsGroup: string): string { + getNextTransactionNumber(tenantId: number, group: string): string { const settings = this.tenancy.settings(tenantId); - const group = settingsGroup; // Settings service transaction number and prefix. - const autoIncrement = settings.get({ group, key: 'auto_increment' }, false); + const autoIncrement = this.autoIncrementEnabled(tenantId, group); const settingNo = settings.get({ group, key: 'next_number' }, ''); const settingPrefix = settings.get({ group, key: 'number_prefix' }, ''); - return parseBoolean(autoIncrement, false) ? `${settingPrefix}${settingNo}` : ''; + return autoIncrement ? `${settingPrefix}${settingNo}` : ''; } /** @@ -53,7 +50,9 @@ export default class AutoIncrementOrdersService { const autoIncrement = settings.get({ group, key: 'auto_increment' }); // Can't continue if the auto-increment of the service was disabled. - if (!autoIncrement) { return; } + if (!autoIncrement) { + return; + } settings.set( { group, key: 'next_number' }, diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index ceef5f572..9edf85b44 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -337,6 +337,9 @@ const booleanValues: string[] = [ ].map((value) => normalizeValue(value)); export const parseBoolean = (value: any, defaultValue: T): T | boolean => { + if (typeof value === 'boolean') { + return value; // Retrun early we have nothing to parse. + } const normalizedValue = normalizeValue(value); if (isEmpty(value) || booleanValues.indexOf(normalizedValue) === -1) { return defaultValue;