mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-24 00:29:49 +00:00
feat: journal sheet export
This commit is contained in:
@@ -531,7 +531,6 @@ export default class PaymentReceivesController extends BaseController {
|
|||||||
* @param {Request} req
|
* @param {Request} req
|
||||||
* @param {Response} res
|
* @param {Response} res
|
||||||
* @param {NextFunction} next
|
* @param {NextFunction} next
|
||||||
* @returns
|
|
||||||
*/
|
*/
|
||||||
public sendPaymentReceiveByMail = async (
|
public sendPaymentReceiveByMail = async (
|
||||||
req: Request,
|
req: Request,
|
||||||
@@ -546,6 +545,8 @@ export default class PaymentReceivesController extends BaseController {
|
|||||||
includeOptionals: false,
|
includeOptionals: false,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
console.log(req.params);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await this.paymentReceiveApplication.notifyPaymentByMail(
|
await this.paymentReceiveApplication.notifyPaymentByMail(
|
||||||
tenantId,
|
tenantId,
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ import { Model } from 'objection';
|
|||||||
import TenantModel from 'models/TenantModel';
|
import TenantModel from 'models/TenantModel';
|
||||||
|
|
||||||
export default class Contact extends TenantModel {
|
export default class Contact extends TenantModel {
|
||||||
|
email: string;
|
||||||
|
displayName: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table name
|
* Table name
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
DEFAULT_INVOICE_REMINDER_MAIL_CONTENT,
|
DEFAULT_INVOICE_REMINDER_MAIL_CONTENT,
|
||||||
DEFAULT_INVOICE_REMINDER_MAIL_SUBJECT,
|
DEFAULT_INVOICE_REMINDER_MAIL_SUBJECT,
|
||||||
} from './constants';
|
} from './constants';
|
||||||
|
import { parseAndValidateMailOptions } from '@/services/MailNotification/utils';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
export class SendInvoiceMailReminder {
|
export class SendInvoiceMailReminder {
|
||||||
@@ -66,10 +67,10 @@ export class SendInvoiceMailReminder {
|
|||||||
) {
|
) {
|
||||||
const localMessageOpts = await this.getMailOption(tenantId, saleInvoiceId);
|
const localMessageOpts = await this.getMailOption(tenantId, saleInvoiceId);
|
||||||
|
|
||||||
const messageOpts = {
|
const messageOpts = parseAndValidateMailOptions(
|
||||||
...localMessageOpts,
|
localMessageOpts,
|
||||||
...messageOptions,
|
messageOptions
|
||||||
};
|
);
|
||||||
const mail = new Mail()
|
const mail = new Mail()
|
||||||
.setSubject(messageOpts.subject)
|
.setSubject(messageOpts.subject)
|
||||||
.setTo(messageOpts.to)
|
.setTo(messageOpts.to)
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import Container, { Service } from 'typedi';
|
import Container, { Service } from 'typedi';
|
||||||
import events from '@/subscribers/events';
|
|
||||||
import { SendPaymentReceiveMailNotification } from './PaymentReceiveMailNotification';
|
import { SendPaymentReceiveMailNotification } from './PaymentReceiveMailNotification';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
@@ -22,8 +21,6 @@ export class PaymentReceiveMailNotificationJob {
|
|||||||
const { tenantId, paymentReceiveId, messageDTO } = job.attrs.data;
|
const { tenantId, paymentReceiveId, messageDTO } = job.attrs.data;
|
||||||
const paymentMail = Container.get(SendPaymentReceiveMailNotification);
|
const paymentMail = Container.get(SendPaymentReceiveMailNotification);
|
||||||
|
|
||||||
console.log(tenantId, paymentReceiveId, messageDTO);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await paymentMail.sendMail(tenantId, paymentReceiveId, messageDTO);
|
await paymentMail.sendMail(tenantId, paymentReceiveId, messageDTO);
|
||||||
done();
|
done();
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ export class SaleReceiptApplication {
|
|||||||
* Sends the receipt mail of the given sale receipt.
|
* Sends the receipt mail of the given sale receipt.
|
||||||
* @param {number} tenantId
|
* @param {number} tenantId
|
||||||
* @param {number} saleReceiptId
|
* @param {number} saleReceiptId
|
||||||
|
* @param {SaleReceiptMailOptsDTO} messageOpts
|
||||||
* @returns {Promise<void>}
|
* @returns {Promise<void>}
|
||||||
*/
|
*/
|
||||||
public sendSaleReceiptMail(
|
public sendSaleReceiptMail(
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ export default function Dashboard() {
|
|||||||
</Switch>
|
</Switch>
|
||||||
|
|
||||||
<DashboardUniversalSearch />
|
<DashboardUniversalSearch />
|
||||||
<DialogsContainer />
|
|
||||||
<GlobalHotkeys />
|
<GlobalHotkeys />
|
||||||
|
<DialogsContainer />
|
||||||
<DrawersContainer />
|
<DrawersContainer />
|
||||||
<AlertsContainer />
|
<AlertsContainer />
|
||||||
</DashboardProvider>
|
</DashboardProvider>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ function AccountsDataTable({
|
|||||||
// #withAlertsDialog
|
// #withAlertsDialog
|
||||||
openAlert,
|
openAlert,
|
||||||
|
|
||||||
// #withDial
|
// #withDialog
|
||||||
openDialog,
|
openDialog,
|
||||||
|
|
||||||
// #withDrawerActions
|
// #withDrawerActions
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ import { TransitionGroup, CSSTransition } from 'react-transition-group';
|
|||||||
import authenticationRoutes from '@/routes/authentication';
|
import authenticationRoutes from '@/routes/authentication';
|
||||||
import { Icon, FormattedMessage as T } from '@/components';
|
import { Icon, FormattedMessage as T } from '@/components';
|
||||||
import { useIsAuthenticated } from '@/hooks/state';
|
import { useIsAuthenticated } from '@/hooks/state';
|
||||||
|
import { AuthMetaBootProvider } from './AuthMetaBoot';
|
||||||
|
|
||||||
import '@/style/pages/Authentication/Auth.scss';
|
import '@/style/pages/Authentication/Auth.scss';
|
||||||
import { AuthMetaBootProvider } from './AuthMetaBoot';
|
|
||||||
|
|
||||||
export function Authentication() {
|
export function Authentication() {
|
||||||
const to = { pathname: '/' };
|
const to = { pathname: '/' };
|
||||||
|
|||||||
Reference in New Issue
Block a user