diff --git a/client/src/containers/Expenses/ExpenseForm.js b/client/src/containers/Expenses/ExpenseForm.js index c86d8b26f..aef026c18 100644 --- a/client/src/containers/Expenses/ExpenseForm.js +++ b/client/src/containers/Expenses/ExpenseForm.js @@ -143,7 +143,7 @@ function ExpenseForm({ const form = { ...values, - is_published: submitPayload.publish, + publish: submitPayload.publish, categories, }; // Handle request success. diff --git a/client/src/store/accounts/accounts.selectors.js b/client/src/store/accounts/accounts.selectors.js index 7a35e9bd6..0b5e61475 100644 --- a/client/src/store/accounts/accounts.selectors.js +++ b/client/src/store/accounts/accounts.selectors.js @@ -35,6 +35,7 @@ export const getAccountsListFactory = () => return treeToList(accountsTree, { idFieldKey: 'id', childrenFieldKey: 'children', + nodeFilter: (node, depth) => accountsItems[node.id], nodeMapper: (node, depth) => { const account = accountsItems[node.id]; const spaceChar = String.fromCharCode(160); diff --git a/client/src/style/pages/expense-form.scss b/client/src/style/pages/expense-form.scss index da15f4a93..4def95174 100644 --- a/client/src/style/pages/expense-form.scss +++ b/client/src/style/pages/expense-form.scss @@ -1,6 +1,21 @@ .dashboard__insider--expense-form{ background-color: #fff; } +.dashboard__insider--expenses{ + + + .bigcapital-datatable{ + + .tbody{ + .tr .td.total_amount{ + span{ + font-weight: 600; + } + } + } + } +} + .page-form--expense{ $self: '.page-form'; diff --git a/client/src/utils.js b/client/src/utils.js index 6da8b9c3b..aa1bfe0d2 100644 --- a/client/src/utils.js +++ b/client/src/utils.js @@ -329,15 +329,16 @@ export function treeToList( idFieldKey = 'id', childrenFieldKey = 'children', nodeMapper = (node, depth) => node, + nodeFilter = (node, depth) => true, }, ) { let depth = 0; const walker = (tree) => { - return tree.reduce(function (acc, o) { + return tree.reduce((acc, o) => { depth += 1; - if (o[idFieldKey]) { + if (o[idFieldKey] && nodeFilter(o, depth)) { acc.push(nodeMapper(o, depth)); } if (o[childrenFieldKey]) { diff --git a/server/src/api/controllers/Expenses.ts b/server/src/api/controllers/Expenses.ts index 253cd06c7..46c343cb2 100644 --- a/server/src/api/controllers/Expenses.ts +++ b/server/src/api/controllers/Expenses.ts @@ -251,7 +251,7 @@ export default class ExpensesController extends BaseController { */ async bulkDeleteExpenses(req: Request, res: Response, next: NextFunction) { const { tenantId, user } = req; - const { ids: expensesIds } = req.params; + const { ids: expensesIds } = req.query; try { await this.expensesService.deleteBulkExpenses( diff --git a/server/src/repositories/ExpenseRepository.ts b/server/src/repositories/ExpenseRepository.ts index a25c308e0..f10ebbcdd 100644 --- a/server/src/repositories/ExpenseRepository.ts +++ b/server/src/repositories/ExpenseRepository.ts @@ -85,9 +85,9 @@ export default class ExpenseRepository extends TenantRepository { * @param {number[]} expensesIds */ async bulkDelete(expensesIds: number[]): Promise { - const { Expense } = this.models; + const { Expense, ExpenseCategory } = this.models; - await Expense.query().whereIn('expense_id', expensesIds).delete(); + await ExpenseCategory.query().whereIn('expense_id', expensesIds).delete(); await Expense.query().whereIn('id', expensesIds).delete(); this.flushCache();