mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-21 15:20:34 +00:00
fix(Item): delete item with associated items entries.
This commit is contained in:
@@ -52,7 +52,6 @@ export default class InventoryAdjustmentsController extends BaseController {
|
|||||||
return router;
|
return router;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validate list query schema
|
* Validate list query schema
|
||||||
*/
|
*/
|
||||||
@@ -236,11 +235,13 @@ export default class InventoryAdjustmentsController extends BaseController {
|
|||||||
if (error instanceof ServiceError) {
|
if (error instanceof ServiceError) {
|
||||||
if (error.errorType === 'INVENTORY_ADJUSTMENT_NOT_FOUND') {
|
if (error.errorType === 'INVENTORY_ADJUSTMENT_NOT_FOUND') {
|
||||||
return res.status(400).send({
|
return res.status(400).send({
|
||||||
errors: [{
|
errors: [
|
||||||
type: 'INVENTORY_ADJUSTMENT.NOT.FOUND',
|
{
|
||||||
code: 100,
|
type: 'INVENTORY_ADJUSTMENT.NOT.FOUND',
|
||||||
message: 'The inventory adjustment not found.'
|
code: 100,
|
||||||
}],
|
message: 'The inventory adjustment not found.',
|
||||||
|
},
|
||||||
|
],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (error.errorType === 'NOT_FOUND') {
|
if (error.errorType === 'NOT_FOUND') {
|
||||||
|
|||||||
@@ -581,8 +581,7 @@ export default class ItemsService implements IItemsService {
|
|||||||
|
|
||||||
const ids = Array.isArray(itemId) ? itemId : [itemId];
|
const ids = Array.isArray(itemId) ? itemId : [itemId];
|
||||||
const foundItemEntries = await ItemEntry.query()
|
const foundItemEntries = await ItemEntry.query()
|
||||||
.whereIn('item_id', ids)
|
.whereIn('item_id', ids);
|
||||||
.whereIn('reference_type', ['SaleInvoice', 'Bill']);
|
|
||||||
|
|
||||||
if (foundItemEntries.length > 0) {
|
if (foundItemEntries.length > 0) {
|
||||||
throw new ServiceError(
|
throw new ServiceError(
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Service, Inject } from "typedi";
|
import { Service, Inject } from 'typedi';
|
||||||
import TenancyService from 'services/Tenancy/TenancyService';
|
import TenancyService from 'services/Tenancy/TenancyService';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
@@ -11,13 +11,16 @@ export default class SettingsService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Increment next number based on the given find query.
|
* Increment next number based on the given find query.
|
||||||
* @param {number} tenantId
|
* @param {number} tenantId
|
||||||
* @param {any} findQuery
|
* @param {any} findQuery
|
||||||
*/
|
*/
|
||||||
async incrementNextNumber(tenantId: number, findQuery: any): Promise<void> {
|
async incrementNextNumber(tenantId: number, findQuery: any): Promise<void> {
|
||||||
const settings = this.tenancy.settings(tenantId);
|
const settings = this.tenancy.settings(tenantId);
|
||||||
|
|
||||||
this.logger.info('[settings] increment the next number.', { tenantId, findQuery });
|
this.logger.info('[settings] increment the next number.', {
|
||||||
|
tenantId,
|
||||||
|
findQuery,
|
||||||
|
});
|
||||||
const currentNumber = settings.find(findQuery);
|
const currentNumber = settings.find(findQuery);
|
||||||
|
|
||||||
if (currentNumber) {
|
if (currentNumber) {
|
||||||
@@ -27,4 +30,4 @@ export default class SettingsService {
|
|||||||
await settings.save();
|
await settings.save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user