fix: bugs bashing

- Added English translations for customer types in `customer.json`.
- Updated `Model.ts` to improve deletion logic by filtering dependent relations.
- Introduced `BillPaymentBillSyncSubscriber` to handle bill payment events.
- Enhanced `CreateBillPaymentService` and `EditBillPaymentService` to fetch entries after insertion/updating.
- Updated `SaleInvoiceCostGLEntries` to include item entry details in GL entries.
- Refactored various components in the webapp for consistency in naming conventions.
This commit is contained in:
Ahmed Bouhuolia
2026-01-04 01:24:10 +02:00
parent 987ad992a4
commit 0475ce136a
14 changed files with 167 additions and 32 deletions

View File

@@ -38,7 +38,7 @@ export class CreateBillPaymentService {
@Inject(BillPayment.name)
private readonly billPaymentModel: TenantModelProxy<typeof BillPayment>,
) {}
) { }
/**
* Creates a new bill payment transcations and store it to the storage
@@ -103,11 +103,19 @@ export class CreateBillPaymentService {
} as IBillPaymentCreatingPayload);
// Writes the bill payment graph to the storage.
const billPayment = await this.billPaymentModel()
const insertedBillPayment = await this.billPaymentModel()
.query(trx)
.insertGraphAndFetch({
...billPaymentObj,
});
// Fetch the bill payment with entries to ensure they're loaded for the subscriber.
const billPayment = await this.billPaymentModel()
.query(trx)
.withGraphFetched('entries')
.findById(insertedBillPayment.id)
.throwIfNotFound();
// Triggers `onBillPaymentCreated` event.
await this.eventPublisher.emitAsync(events.billPayment.onCreated, {
billPayment,

View File

@@ -29,7 +29,7 @@ export class EditBillPayment {
@Inject(Vendor.name)
private readonly vendorModel: TenantModelProxy<typeof Vendor>,
) {}
) { }
/**
* Edits the details of the given bill payment.
@@ -116,12 +116,20 @@ export class EditBillPayment {
} as IBillPaymentEditingPayload);
// Edits the bill payment transaction graph on the storage.
const billPayment = await this.billPaymentModel()
await this.billPaymentModel()
.query(trx)
.upsertGraphAndFetch({
.upsertGraph({
id: billPaymentId,
...billPaymentObj,
});
// Fetch the bill payment with entries to ensure they're loaded for the subscriber.
const billPayment = await this.billPaymentModel()
.query(trx)
.withGraphFetched('entries')
.findById(billPaymentId)
.throwIfNotFound();
// Triggers `onBillPaymentEdited` event.
await this.eventPublisher.emitAsync(events.billPayment.onEdited, {
billPaymentId,