Compare commits

...

6 Commits

Author SHA1 Message Date
Ahmed Bouhuolia
06b8a836c5 Merge pull request #967 from bigcapitalhq/fix/ahmedbouhuolia/baseurl-config-key
fix: correct config key for base URL in email services
2026-02-18 01:31:08 +02:00
Ahmed Bouhuolia
37fa9f9bc6 fix: correct config key for base URL in email services 2026-02-18 01:28:48 +02:00
Ahmed Bouhuolia
17deeb18e3 Merge pull request #965 from bigcapitalhq/fix/ahmedbouhuolia/cashflow-transaction-type-consistency
fix: correct cash flow transaction type naming inconsistencies
2026-02-16 23:05:22 +02:00
Ahmed Bouhuolia
8416b45f4e fix: correct cash flow transaction type naming inconsistencies
- Fix typo ONWERS_DRAWING -> OWNERS_DRAWING in server constants
- Change OwnerDrawing -> owner_drawing for consistency in webapp
- Fix typo TRANSACRIONS_TYPE -> TRANSACTIONS_TYPE
- Fix typo OnwersDrawing -> OwnerDrawing
- Add missing Icon and FDateInput imports
- Add dark mode styling for BranchRowDivider

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-02-16 23:02:38 +02:00
Ahmed Bouhuolia
3cc5aab80e Merge pull request #963 from bigcapitalhq/fix/ahmedbouhuolia/mail-queue-cleanup
fix: correct queue name, add missing await, and clean up constants
2026-02-16 22:27:08 +02:00
Ahmed Bouhuolia
93711a7bf4 fix: correct queue name, add missing await, and clean up constants 2026-02-16 22:23:41 +02:00
13 changed files with 23 additions and 15 deletions

View File

@@ -20,7 +20,7 @@ export class AuthenticationMailMesssages {
* @returns {Mail} * @returns {Mail}
*/ */
resetPasswordMessage(user: ModelObject<SystemUser>, token: string) { resetPasswordMessage(user: ModelObject<SystemUser>, token: string) {
const baseURL = this.configService.get('baseURL'); const baseURL = this.configService.get('app.baseUrl');
return new Mail() return new Mail()
.setSubject('Bigcapital - Password Reset') .setSubject('Bigcapital - Password Reset')
@@ -54,7 +54,7 @@ export class AuthenticationMailMesssages {
* @returns {Mail} * @returns {Mail}
*/ */
signupVerificationMail(email: string, fullName: string, token: string) { signupVerificationMail(email: string, fullName: string, token: string) {
const baseURL = this.configService.get('baseURL'); const baseURL = this.configService.get('app.baseUrl');
const verifyUrl = `${baseURL}/auth/email_confirmation?token=${token}&email=${email}`; const verifyUrl = `${baseURL}/auth/email_confirmation?token=${token}&email=${email}`;
return new Mail() return new Mail()

View File

@@ -27,7 +27,7 @@ export enum CASHFLOW_DIRECTION {
} }
export enum CASHFLOW_TRANSACTION_TYPE { export enum CASHFLOW_TRANSACTION_TYPE {
ONWERS_DRAWING = 'OwnerDrawing', OWNERS_DRAWING = 'OwnerDrawing',
OWNER_CONTRIBUTION = 'OwnerContribution', OWNER_CONTRIBUTION = 'OwnerContribution',
OTHER_INCOME = 'OtherIncome', OTHER_INCOME = 'OtherIncome',
TRANSFER_FROM_ACCOUNT = 'TransferFromAccount', TRANSFER_FROM_ACCOUNT = 'TransferFromAccount',
@@ -36,7 +36,7 @@ export enum CASHFLOW_TRANSACTION_TYPE {
} }
export const CASHFLOW_TRANSACTION_TYPE_META = { export const CASHFLOW_TRANSACTION_TYPE_META = {
[`${CASHFLOW_TRANSACTION_TYPE.ONWERS_DRAWING}`]: { [`${CASHFLOW_TRANSACTION_TYPE.OWNERS_DRAWING}`]: {
type: 'OwnerDrawing', type: 'OwnerDrawing',
direction: CASHFLOW_DIRECTION.OUT, direction: CASHFLOW_DIRECTION.OUT,
creditType: [ACCOUNT_TYPE.EQUITY], creditType: [ACCOUNT_TYPE.EQUITY],

View File

@@ -9,7 +9,7 @@ import { CommonMailOptionsDTO } from '@/modules/MailNotification/MailNotificatio
import { CommonMailOptions } from '@/modules/MailNotification/MailNotification.types'; import { CommonMailOptions } from '@/modules/MailNotification/MailNotification.types';
import { EditSaleEstimateDto } from '../dtos/SaleEstimate.dto'; import { EditSaleEstimateDto } from '../dtos/SaleEstimate.dto';
export const SendSaleEstimateMailQueue = 'SendSaleEstimateMailProcessor'; export const SendSaleEstimateMailQueue = 'SendSaleEstimateMailQueue';
export const SendSaleEstimateMailJob = 'SendSaleEstimateMailProcess'; export const SendSaleEstimateMailJob = 'SendSaleEstimateMailProcess';
export interface ISaleEstimateDTO { export interface ISaleEstimateDTO {

View File

@@ -1,9 +1,6 @@
// import config from '@/config';
export const SendSaleInvoiceQueue = 'SendSaleInvoiceQueue'; export const SendSaleInvoiceQueue = 'SendSaleInvoiceQueue';
export const SendSaleInvoiceMailJob = 'SendSaleInvoiceMailJob'; export const SendSaleInvoiceMailJob = 'SendSaleInvoiceMailJob';
export const DEFAULT_INVOICE_MAIL_SUBJECT = export const DEFAULT_INVOICE_MAIL_SUBJECT =
'Invoice {Invoice Number} from {Company Name} for {Customer Name}'; 'Invoice {Invoice Number} from {Company Name} for {Customer Name}';
export const DEFAULT_INVOICE_MAIL_CONTENT = `Hi {Customer Name}, export const DEFAULT_INVOICE_MAIL_CONTENT = `Hi {Customer Name},

View File

@@ -28,7 +28,7 @@ export class SendInviteUsersMailMessage {
) { ) {
const tenant = await this.tenancyContext.getTenant(true); const tenant = await this.tenancyContext.getTenant(true);
const root = path.join(global.__images_dirname, '/bigcapital.png'); const root = path.join(global.__images_dirname, '/bigcapital.png');
const baseURL = this.configService.get('baseURL'); const baseURL = this.configService.get('app.baseUrl');
const mail = new Mail() const mail = new Mail()
.setSubject(`${fromUser.firstName} has invited you to join a Bigcapital`) .setSubject(`${fromUser.firstName} has invited you to join a Bigcapital`)

View File

@@ -37,7 +37,7 @@ export default class InviteSendMainNotificationSubscribe {
const organizationId = tenant.organizationId; const organizationId = tenant.organizationId;
const userId = authedUser.id; const userId = authedUser.id;
this.sendInviteMailQueue.add(SendInviteUserMailJob, { await this.sendInviteMailQueue.add(SendInviteUserMailJob, {
fromUser: invitingUser, fromUser: invitingUser,
invite, invite,
userId, userId,

View File

@@ -19,7 +19,7 @@ export const getAddMoneyInOptions = () => [
export const getAddMoneyOutOptions = () => [ export const getAddMoneyOutOptions = () => [
{ {
name: intl.get('banking.owner_drawings'), name: intl.get('banking.owner_drawings'),
value: 'OwnerDrawing', value: 'owner_drawing',
}, },
{ {
name: intl.get('banking.expenses'), name: intl.get('banking.expenses'),
@@ -31,11 +31,11 @@ export const getAddMoneyOutOptions = () => [
}, },
]; ];
export const TRANSACRIONS_TYPE = [ export const TRANSACTIONS_TYPE = [
'OwnerContribution', 'OwnerContribution',
'OtherIncome', 'OtherIncome',
'TransferFromAccount', 'TransferFromAccount',
'OnwersDrawing', 'OwnerDrawing',
'OtherExpense', 'OtherExpense',
'TransferToAccount', 'TransferToAccount',
]; ];

View File

@@ -92,7 +92,7 @@ function CategorizeTransactionFormSubContent() {
} else if (values.transactionType === 'transfer_to_account') { } else if (values.transactionType === 'transfer_to_account') {
return <CategorizeTransactionToAccount />; return <CategorizeTransactionToAccount />;
// Owner drawings. // Owner drawings.
} else if (values.transactionType === 'OwnerDrawing') { } else if (values.transactionType === 'owner_drawing') {
return <CategorizeTransactionOwnerDrawings />; return <CategorizeTransactionOwnerDrawings />;
} }
return null; return null;

View File

@@ -23,6 +23,8 @@ import {
FFormGroup, FFormGroup,
FTextArea, FTextArea,
FMoneyInputGroup, FMoneyInputGroup,
Icon,
FDateInput,
} from '@/components'; } from '@/components';
import { CLASSES, ACCOUNT_TYPE, Features } from '@/constants'; import { CLASSES, ACCOUNT_TYPE, Features } from '@/constants';

View File

@@ -17,6 +17,7 @@ import {
FTextArea, FTextArea,
FInputGroup, FInputGroup,
FDateInput, FDateInput,
Icon,
} from '@/components'; } from '@/components';
import { ACCOUNT_TYPE, CLASSES, Features } from '@/constants'; import { ACCOUNT_TYPE, CLASSES, Features } from '@/constants';
import { import {

View File

@@ -46,4 +46,8 @@ export const BranchRowDivider = styled.div`
height: 1px; height: 1px;
background: #ebf1f6; background: #ebf1f6;
margin-bottom: 15px; margin-bottom: 15px;
.bp4-dark & {
background: var(--color-dark-gray5);
}
`; `;

View File

@@ -17,7 +17,7 @@ function MoneyOutContentFields() {
const transactionType = useMemo(() => { const transactionType = useMemo(() => {
switch (values.transaction_type) { switch (values.transaction_type) {
case 'OwnerDrawing': case 'owner_drawing':
return <OwnerDrawingsFormFields />; return <OwnerDrawingsFormFields />;
case 'other_expense': case 'other_expense':

View File

@@ -45,4 +45,8 @@ export const BranchRowDivider = styled.div`
height: 1px; height: 1px;
background: #ebf1f6; background: #ebf1f6;
margin-bottom: 15px; margin-bottom: 15px;
.bp4-dark & {
background: var(--color-dark-gray5);
}
`; `;