mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 13:50:31 +00:00
feat: resource tables printing
This commit is contained in:
@@ -26,7 +26,6 @@ export class ExportController extends BaseController {
|
|||||||
],
|
],
|
||||||
this.validationResult,
|
this.validationResult,
|
||||||
this.export.bind(this),
|
this.export.bind(this),
|
||||||
this.catchServiceErrors
|
|
||||||
);
|
);
|
||||||
return router;
|
return router;
|
||||||
}
|
}
|
||||||
@@ -85,26 +84,4 @@ export class ExportController extends BaseController {
|
|||||||
next(error);
|
next(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Transforms service errors to response.
|
|
||||||
* @param {Error}
|
|
||||||
* @param {Request} req
|
|
||||||
* @param {Response} res
|
|
||||||
* @param {ServiceError} error
|
|
||||||
*/
|
|
||||||
private catchServiceErrors(
|
|
||||||
error,
|
|
||||||
req: Request,
|
|
||||||
res: Response,
|
|
||||||
next: NextFunction
|
|
||||||
) {
|
|
||||||
if (error instanceof ServiceError) {
|
|
||||||
return res.status(400).send({
|
|
||||||
errors: [{ type: error.errorType }],
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
next(error);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ exports.up = function (knex) {
|
|||||||
table.increments('id').primary();
|
table.increments('id').primary();
|
||||||
table.string('key').notNullable();
|
table.string('key').notNullable();
|
||||||
table.string('mime_type').notNullable();
|
table.string('mime_type').notNullable();
|
||||||
table.integer('size').unsigned().notNullable();
|
table.integer('size').unsigned();
|
||||||
table.string('origin_name');
|
table.string('origin_name');
|
||||||
table.timestamps();
|
table.timestamps();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ export default {
|
|||||||
importAggregator: 'group',
|
importAggregator: 'group',
|
||||||
importAggregateOn: 'entries',
|
importAggregateOn: 'entries',
|
||||||
importAggregateBy: 'billNumber',
|
importAggregateBy: 'billNumber',
|
||||||
|
print: {
|
||||||
|
pageTitle: 'Bills',
|
||||||
|
},
|
||||||
fields: {
|
fields: {
|
||||||
vendor: {
|
vendor: {
|
||||||
name: 'bill.field.vendor',
|
name: 'bill.field.vendor',
|
||||||
@@ -83,6 +86,10 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
columns: {
|
columns: {
|
||||||
|
billDate: {
|
||||||
|
name: 'Date',
|
||||||
|
accessor: 'formattedBillDate',
|
||||||
|
},
|
||||||
billNumber: {
|
billNumber: {
|
||||||
name: 'Bill No.',
|
name: 'Bill No.',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
@@ -91,13 +98,10 @@ export default {
|
|||||||
name: 'Reference No.',
|
name: 'Reference No.',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
},
|
},
|
||||||
billDate: {
|
|
||||||
name: 'Date',
|
|
||||||
type: 'date',
|
|
||||||
},
|
|
||||||
dueDate: {
|
dueDate: {
|
||||||
name: 'Due Date',
|
name: 'Due Date',
|
||||||
type: 'date',
|
type: 'date',
|
||||||
|
accessor: 'formattedDueDate',
|
||||||
},
|
},
|
||||||
vendorId: {
|
vendorId: {
|
||||||
name: 'Vendor',
|
name: 'Vendor',
|
||||||
@@ -111,10 +115,12 @@ export default {
|
|||||||
exchangeRate: {
|
exchangeRate: {
|
||||||
name: 'Exchange Rate',
|
name: 'Exchange Rate',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
currencyCode: {
|
currencyCode: {
|
||||||
name: 'Currency Code',
|
name: 'Currency Code',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
dueAmount: {
|
dueAmount: {
|
||||||
name: 'Due Amount',
|
name: 'Due Amount',
|
||||||
@@ -127,10 +133,12 @@ export default {
|
|||||||
note: {
|
note: {
|
||||||
name: 'Note',
|
name: 'Note',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
open: {
|
open: {
|
||||||
name: 'Open',
|
name: 'Open',
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
entries: {
|
entries: {
|
||||||
name: 'Entries',
|
name: 'Entries',
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ export default {
|
|||||||
paymentDate: {
|
paymentDate: {
|
||||||
name: 'bill_payment.field.payment_date',
|
name: 'bill_payment.field.payment_date',
|
||||||
type: 'date',
|
type: 'date',
|
||||||
|
accessor: 'formattedPaymentDate'
|
||||||
},
|
},
|
||||||
paymentNumber: {
|
paymentNumber: {
|
||||||
name: 'bill_payment.field.payment_number',
|
name: 'bill_payment.field.payment_number',
|
||||||
@@ -94,14 +95,17 @@ export default {
|
|||||||
currencyCode: {
|
currencyCode: {
|
||||||
name: 'Currency Code',
|
name: 'Currency Code',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
exchangeRate: {
|
exchangeRate: {
|
||||||
name: 'bill_payment.field.exchange_rate',
|
name: 'bill_payment.field.exchange_rate',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
statement: {
|
statement: {
|
||||||
name: 'bill_payment.field.note',
|
name: 'bill_payment.field.note',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
reference: {
|
reference: {
|
||||||
name: 'bill_payment.field.reference',
|
name: 'bill_payment.field.reference',
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ export default {
|
|||||||
importAggregateOn: 'entries',
|
importAggregateOn: 'entries',
|
||||||
importAggregateBy: 'creditNoteNumber',
|
importAggregateBy: 'creditNoteNumber',
|
||||||
|
|
||||||
|
print: {
|
||||||
|
pageTitle: 'Credit Notes',
|
||||||
|
},
|
||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
customer: {
|
customer: {
|
||||||
name: 'credit_note.field.customer',
|
name: 'credit_note.field.customer',
|
||||||
@@ -88,36 +92,34 @@ export default {
|
|||||||
columns: {
|
columns: {
|
||||||
customer: {
|
customer: {
|
||||||
name: 'Customer',
|
name: 'Customer',
|
||||||
type: 'relation',
|
|
||||||
accessor: 'customer.displayName',
|
accessor: 'customer.displayName',
|
||||||
},
|
},
|
||||||
exchangeRate: {
|
exchangeRate: {
|
||||||
name: 'Exchange Rate',
|
name: 'Exchange Rate',
|
||||||
type: 'number',
|
printable: false,
|
||||||
},
|
},
|
||||||
creditNoteDate: {
|
creditNoteDate: {
|
||||||
name: 'Credit Note Date',
|
name: 'Credit Note Date',
|
||||||
type: 'date',
|
accessor: 'formattedCreditNoteDate'
|
||||||
},
|
},
|
||||||
referenceNo: {
|
referenceNo: {
|
||||||
name: 'Reference No.',
|
name: 'Reference No.',
|
||||||
type: 'text',
|
|
||||||
},
|
},
|
||||||
note: {
|
note: {
|
||||||
name: 'Note',
|
name: 'Note',
|
||||||
type: 'text',
|
|
||||||
},
|
},
|
||||||
termsConditions: {
|
termsConditions: {
|
||||||
name: 'Terms & Conditions',
|
name: 'Terms & Conditions',
|
||||||
type: 'text',
|
printable: false,
|
||||||
},
|
},
|
||||||
creditNoteNumber: {
|
creditNoteNumber: {
|
||||||
name: 'Credit Note Number',
|
name: 'Credit Note Number',
|
||||||
type: 'text',
|
printable: false,
|
||||||
},
|
},
|
||||||
open: {
|
open: {
|
||||||
name: 'Open',
|
name: 'Open',
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
entries: {
|
entries: {
|
||||||
name: 'Entries',
|
name: 'Entries',
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ export default {
|
|||||||
sortField: 'name',
|
sortField: 'name',
|
||||||
sortOrder: 'DESC',
|
sortOrder: 'DESC',
|
||||||
},
|
},
|
||||||
|
print: {
|
||||||
|
pageTitle: 'Items',
|
||||||
|
},
|
||||||
fields: {
|
fields: {
|
||||||
type: {
|
type: {
|
||||||
name: 'item.field.type',
|
name: 'item.field.type',
|
||||||
|
|||||||
@@ -67,10 +67,12 @@ export default {
|
|||||||
paymentDate: {
|
paymentDate: {
|
||||||
name: 'payment_receive.field.payment_date',
|
name: 'payment_receive.field.payment_date',
|
||||||
type: 'date',
|
type: 'date',
|
||||||
|
accessor: 'formattedPaymentDate',
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
name: 'payment_receive.field.amount',
|
name: 'payment_receive.field.amount',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
|
accessor: 'formattedAmount'
|
||||||
},
|
},
|
||||||
referenceNo: {
|
referenceNo: {
|
||||||
name: 'payment_receive.field.reference_no',
|
name: 'payment_receive.field.reference_no',
|
||||||
@@ -88,10 +90,12 @@ export default {
|
|||||||
statement: {
|
statement: {
|
||||||
name: 'payment_receive.field.statement',
|
name: 'payment_receive.field.statement',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
created_at: {
|
created_at: {
|
||||||
name: 'payment_receive.field.created_at',
|
name: 'payment_receive.field.created_at',
|
||||||
type: 'date',
|
type: 'date',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
fields2: {
|
fields2: {
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ export default {
|
|||||||
importAggregator: 'group',
|
importAggregator: 'group',
|
||||||
importAggregateOn: 'entries',
|
importAggregateOn: 'entries',
|
||||||
importAggregateBy: 'receiptNumber',
|
importAggregateBy: 'receiptNumber',
|
||||||
|
|
||||||
|
print: {
|
||||||
|
pageTitle: 'Sale Receipts',
|
||||||
|
},
|
||||||
fields: {
|
fields: {
|
||||||
amount: {
|
amount: {
|
||||||
name: 'receipt.field.amount',
|
name: 'receipt.field.amount',
|
||||||
@@ -81,11 +85,6 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
columns: {
|
columns: {
|
||||||
amount: {
|
|
||||||
name: 'receipt.field.amount',
|
|
||||||
column: 'amount',
|
|
||||||
type: 'number',
|
|
||||||
},
|
|
||||||
depositAccount: {
|
depositAccount: {
|
||||||
name: 'receipt.field.deposit_account',
|
name: 'receipt.field.deposit_account',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
@@ -117,6 +116,11 @@ export default {
|
|||||||
type: 'text',
|
type: 'text',
|
||||||
printable: false,
|
printable: false,
|
||||||
},
|
},
|
||||||
|
amount: {
|
||||||
|
name: 'receipt.field.amount',
|
||||||
|
accessor: 'formattedAmount',
|
||||||
|
type: 'number',
|
||||||
|
},
|
||||||
statement: {
|
statement: {
|
||||||
name: 'receipt.field.statement',
|
name: 'receipt.field.statement',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ export default {
|
|||||||
importAggregateOn: 'entries',
|
importAggregateOn: 'entries',
|
||||||
importAggregateBy: 'vendorCreditNumber',
|
importAggregateBy: 'vendorCreditNumber',
|
||||||
|
|
||||||
|
print: {
|
||||||
|
pageTitle: 'Vendor Credits',
|
||||||
|
},
|
||||||
fields: {
|
fields: {
|
||||||
vendor: {
|
vendor: {
|
||||||
name: 'vendor_credit.field.vendor',
|
name: 'vendor_credit.field.vendor',
|
||||||
@@ -89,6 +92,7 @@ export default {
|
|||||||
exchangeRate: {
|
exchangeRate: {
|
||||||
name: 'Echange Rate',
|
name: 'Echange Rate',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
vendorCreditNumber: {
|
vendorCreditNumber: {
|
||||||
name: 'Vendor Credit No.',
|
name: 'Vendor Credit No.',
|
||||||
@@ -100,7 +104,7 @@ export default {
|
|||||||
},
|
},
|
||||||
vendorCreditDate: {
|
vendorCreditDate: {
|
||||||
name: 'Vendor Credit Date',
|
name: 'Vendor Credit Date',
|
||||||
type: 'date',
|
accessor: 'formattedVendorCreditDate',
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
name: 'Amount',
|
name: 'Amount',
|
||||||
@@ -109,10 +113,12 @@ export default {
|
|||||||
creditRemaining: {
|
creditRemaining: {
|
||||||
name: 'Credits Remaining',
|
name: 'Credits Remaining',
|
||||||
accessor: 'formattedCreditsRemaining',
|
accessor: 'formattedCreditsRemaining',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
refundedAmount: {
|
refundedAmount: {
|
||||||
name: 'Refunded Amount',
|
name: 'Refunded Amount',
|
||||||
accessor: 'refundedAmount',
|
accessor: 'refundedAmount',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
invoicedAmount: {
|
invoicedAmount: {
|
||||||
name: 'Invoiced Amount',
|
name: 'Invoiced Amount',
|
||||||
@@ -121,10 +127,12 @@ export default {
|
|||||||
note: {
|
note: {
|
||||||
name: 'Note',
|
name: 'Note',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
open: {
|
open: {
|
||||||
name: 'Open',
|
name: 'Open',
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
|
printable: false,
|
||||||
},
|
},
|
||||||
entries: {
|
entries: {
|
||||||
name: 'Entries',
|
name: 'Entries',
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ function PaymentMadeActionsBar({
|
|||||||
};
|
};
|
||||||
// Handle the print button click.
|
// Handle the print button click.
|
||||||
const handlePrintBtnClick = () => {
|
const handlePrintBtnClick = () => {
|
||||||
downloadExportPdf({ resource: 'PaymentMade' });
|
downloadExportPdf({ resource: 'BillPayment' });
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -134,7 +134,6 @@ const invalidateResourcesOnImport = (
|
|||||||
queryClient: QueryClient,
|
queryClient: QueryClient,
|
||||||
resource: string,
|
resource: string,
|
||||||
) => {
|
) => {
|
||||||
debugger;
|
|
||||||
switch (resource) {
|
switch (resource) {
|
||||||
case 'Item':
|
case 'Item':
|
||||||
queryClient.invalidateQueries(T.ITEMS);
|
queryClient.invalidateQueries(T.ITEMS);
|
||||||
|
|||||||
Reference in New Issue
Block a user