This commit is contained in:
elforjani3
2020-12-02 18:49:50 +02:00
10 changed files with 31 additions and 12 deletions

View File

@@ -106,7 +106,7 @@ const ItemCategoryList = ({
setDeleteCategory(false);
AppToaster.show({
message: formatMessage({
id: 'the_item_category_has_been_successfully_deleted',
id: 'the_item_category_has_been_deleted_successfully',
}),
intent: Intent.SUCCESS,
});
@@ -135,7 +135,7 @@ const ItemCategoryList = ({
setBulkDelete(false);
AppToaster.show({
message: formatMessage({
id: 'the_item_categories_has_been_successfully_deleted',
id: 'the_item_categories_has_been_deleted_successfully',
}),
intent: Intent.SUCCESS,
});

View File

@@ -221,8 +221,8 @@ export default {
'The item category has been successfully created.',
the_item_category_has_been_successfully_edited:
'The item category has been successfully edited.',
the_item_category_has_been_successfully_deleted:
'The item category has been successfully deleted',
the_item_category_has_been_deleted_successfully:
'The item category has been deleted successfully.',
once_delete_these_item_categories_you_will_not_able_restore_them:
"Once you delete these categories, you won't be able to retrieve them later. Are you sure you want to delete them?",
once_delete_these_views_you_will_not_able_restore_them:
@@ -855,4 +855,5 @@ export default {
posting_date: 'Posting date',
customer: 'Customer',
email_is_already_used: 'The email is already used.',
the_item_categories_has_been_deleted_successfully: 'The item categories has been deleted successfully .',
};

View File

@@ -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);

View File

@@ -97,7 +97,8 @@ export default persistReducer({
'pageSubtitle',
'pageHint',
'preferencesPageTitle',
'topbarEditViewId'
'topbarEditViewId',
'backLink'
],
storage,
}, reducerInstance);

View File

@@ -78,7 +78,7 @@ export const deleteItemCategory = (id) => {
export const deleteBulkItemCategories = ({ ids }) => {
return (dispatch) =>
new Promise((resolve, reject) => {
ApiService.delete(`item_categories/bulk`, { params: { ids } })
ApiService.delete(`item_categories`, { params: { ids } })
.then((response) => {
dispatch({
type: t.ITEM_CATEGORIES_BULK_DELETE,

View File

@@ -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';

View File

@@ -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]) {

View File

@@ -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(

View File

@@ -110,7 +110,7 @@ export default class ItemsCategoriesController extends BaseController {
*/
get categoriesBulkValidationSchema() {
return [
query('ids').isArray({ min: 2 }),
query('ids').isArray({ min: 1 }),
query('ids.*').isNumeric().toInt(),
];
}

View File

@@ -85,9 +85,9 @@ export default class ExpenseRepository extends TenantRepository {
* @param {number[]} expensesIds
*/
async bulkDelete(expensesIds: number[]): Promise<void> {
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();