Merge pull request #599 from bigcapitalhq/rename-payment-receives-to-payment-received

fix: Typo payment receive messages
This commit is contained in:
Ahmed Bouhuolia
2024-08-14 14:54:54 +02:00
committed by GitHub
110 changed files with 485 additions and 492 deletions

View File

@@ -9,9 +9,9 @@ import {
} from '@/interfaces';
import BaseController from '@/api/controllers/BaseController';
import asyncMiddleware from '@/api/middleware/asyncMiddleware';
import PaymentReceivesPages from '@/services/Sales/PaymentReceives/PaymentReceivesPages';
import PaymentsReceivedPages from '@/services/Sales/PaymentReceived/PaymentsReceivedPages';
import { PaymentReceivesApplication } from '@/services/Sales/PaymentReceived/PaymentReceivedApplication';
import DynamicListingService from '@/services/DynamicListing/DynamicListService';
import { PaymentReceivesApplication } from '@/services/Sales/PaymentReceives/PaymentReceivesApplication';
import CheckPolicies from '@/api/middleware/CheckPolicies';
import { ServiceError } from '@/exceptions';
import { ACCEPT_TYPE } from '@/interfaces/Http';
@@ -22,7 +22,7 @@ export default class PaymentReceivesController extends BaseController {
private paymentReceiveApplication: PaymentReceivesApplication;
@Inject()
private PaymentReceivesPages: PaymentReceivesPages;
private PaymentsReceivedPages: PaymentsReceivedPages;
@Inject()
private dynamicListService: DynamicListingService;
@@ -229,7 +229,7 @@ export default class PaymentReceivesController extends BaseController {
try {
const storedPaymentReceive =
await this.paymentReceiveApplication.createPaymentReceive(
await this.paymentReceiveApplication.createPaymentReceived(
tenantId,
paymentReceive,
user
@@ -376,7 +376,7 @@ export default class PaymentReceivesController extends BaseController {
const { customerId } = this.matchedQueryData(req);
try {
const entries = await this.PaymentReceivesPages.getNewPageEntries(
const entries = await this.PaymentsReceivedPages.getNewPageEntries(
tenantId,
customerId
);
@@ -404,7 +404,7 @@ export default class PaymentReceivesController extends BaseController {
try {
const { paymentReceive, entries } =
await this.PaymentReceivesPages.getPaymentReceiveEditPage(
await this.PaymentsReceivedPages.getPaymentReceiveEditPage(
tenantId,
paymentReceiveId,
user

View File

@@ -8,7 +8,7 @@ import { ILedgerEntry } from './Ledger';
import { ISaleInvoice } from './SaleInvoice';
import { AttachmentLinkDTO } from './Attachments';
export interface IPaymentReceive {
export interface IPaymentReceived {
id?: number;
customerId: number;
paymentDate: Date;
@@ -19,14 +19,14 @@ export interface IPaymentReceive {
depositAccountId: number;
paymentReceiveNo: string;
statement: string;
entries: IPaymentReceiveEntry[];
entries: IPaymentReceivedEntry[];
userId: number;
createdAt: Date;
updatedAt: Date;
localAmount?: number;
branchId?: number;
}
export interface IPaymentReceiveCreateDTO {
export interface IPaymentReceivedCreateDTO {
customerId: number;
paymentDate: Date;
amount: number;
@@ -35,13 +35,13 @@ export interface IPaymentReceiveCreateDTO {
depositAccountId: number;
paymentReceiveNo?: string;
statement: string;
entries: IPaymentReceiveEntryDTO[];
entries: IPaymentReceivedEntryDTO[];
branchId?: number;
attachments?: AttachmentLinkDTO[];
}
export interface IPaymentReceiveEditDTO {
export interface IPaymentReceivedEditDTO {
customerId: number;
paymentDate: Date;
amount: number;
@@ -50,12 +50,12 @@ export interface IPaymentReceiveEditDTO {
depositAccountId: number;
paymentReceiveNo?: string;
statement: string;
entries: IPaymentReceiveEntryDTO[];
entries: IPaymentReceivedEntryDTO[];
branchId?: number;
attachments?: AttachmentLinkDTO[];
}
export interface IPaymentReceiveEntry {
export interface IPaymentReceivedEntry {
id?: number;
paymentReceiveId: number;
invoiceId: number;
@@ -64,7 +64,7 @@ export interface IPaymentReceiveEntry {
invoice?: ISaleInvoice;
}
export interface IPaymentReceiveEntryDTO {
export interface IPaymentReceivedEntryDTO {
id?: number;
index: number;
paymentReceiveId: number;
@@ -72,7 +72,7 @@ export interface IPaymentReceiveEntryDTO {
paymentAmount: number;
}
export interface IPaymentReceivesFilter extends IDynamicListFilterDTO {
export interface IPaymentsReceivedFilter extends IDynamicListFilterDTO {
stringifiedFilterRoles?: string;
}
@@ -88,65 +88,65 @@ export interface IPaymentReceivePageEntry {
date: Date | string;
}
export interface IPaymentReceiveEditPage {
paymentReceive: IPaymentReceive;
export interface IPaymentReceivedEditPage {
paymentReceive: IPaymentReceived;
entries: IPaymentReceivePageEntry[];
}
export interface IPaymentsReceiveService {
export interface IPaymentsReceivedService {
validateCustomerHasNoPayments(
tenantId: number,
customerId: number
): Promise<void>;
}
export interface IPaymentReceiveSmsDetails {
export interface IPaymentReceivedSmsDetails {
customerName: string;
customerPhoneNumber: string;
smsMessage: string;
}
export interface IPaymentReceiveCreatingPayload {
export interface IPaymentReceivedCreatingPayload {
tenantId: number;
paymentReceiveDTO: IPaymentReceiveCreateDTO;
paymentReceiveDTO: IPaymentReceivedCreateDTO;
trx: Knex.Transaction;
}
export interface IPaymentReceiveCreatedPayload {
export interface IPaymentReceivedCreatedPayload {
tenantId: number;
paymentReceive: IPaymentReceive;
paymentReceive: IPaymentReceived;
paymentReceiveId: number;
authorizedUser: ISystemUser;
paymentReceiveDTO: IPaymentReceiveCreateDTO;
paymentReceiveDTO: IPaymentReceivedCreateDTO;
trx: Knex.Transaction;
}
export interface IPaymentReceiveEditedPayload {
export interface IPaymentReceivedEditedPayload {
tenantId: number;
paymentReceiveId: number;
paymentReceive: IPaymentReceive;
oldPaymentReceive: IPaymentReceive;
paymentReceiveDTO: IPaymentReceiveEditDTO;
paymentReceive: IPaymentReceived;
oldPaymentReceive: IPaymentReceived;
paymentReceiveDTO: IPaymentReceivedEditDTO;
authorizedUser: ISystemUser;
trx: Knex.Transaction;
}
export interface IPaymentReceiveEditingPayload {
export interface IPaymentReceivedEditingPayload {
tenantId: number;
oldPaymentReceive: IPaymentReceive;
paymentReceiveDTO: IPaymentReceiveEditDTO;
oldPaymentReceive: IPaymentReceived;
paymentReceiveDTO: IPaymentReceivedEditDTO;
trx: Knex.Transaction;
}
export interface IPaymentReceiveDeletingPayload {
export interface IPaymentReceivedDeletingPayload {
tenantId: number;
oldPaymentReceive: IPaymentReceive;
oldPaymentReceive: IPaymentReceived;
trx: Knex.Transaction;
}
export interface IPaymentReceiveDeletedPayload {
export interface IPaymentReceivedDeletedPayload {
tenantId: number;
paymentReceiveId: number;
oldPaymentReceive: IPaymentReceive;
oldPaymentReceive: IPaymentReceived;
authorizedUser: ISystemUser;
trx: Knex.Transaction;
}

View File

@@ -34,4 +34,4 @@
// import 'services/Sales/SaleInvoiceWriteoffSubscriber';
// import 'subscribers/SaleInvoices/SendSmsNotificationToCustomer';
// import 'subscribers/SaleReceipt/SendNotificationToCustomer';
// import 'services/Sales/PaymentReceives/PaymentReceiveSmsSubscriber';
// import 'services/Sales/PaymentReceived/PaymentReceiveSmsSubscriber';

View File

@@ -9,7 +9,7 @@ import { SendSaleInvoiceMailJob } from '@/services/Sales/Invoices/SendSaleInvoic
import { SendSaleInvoiceReminderMailJob } from '@/services/Sales/Invoices/SendSaleInvoiceMailReminderJob';
import { SendSaleEstimateMailJob } from '@/services/Sales/Estimates/SendSaleEstimateMailJob';
import { SaleReceiptMailNotificationJob } from '@/services/Sales/Receipts/SaleReceiptMailNotificationJob';
import { PaymentReceiveMailNotificationJob } from '@/services/Sales/PaymentReceives/PaymentReceiveMailNotificationJob';
import { PaymentReceivedMailNotificationJob } from '@/services/Sales/PaymentReceived/PaymentReceivedMailNotificationJob';
import { PlaidFetchTransactionsJob } from '@/services/Banking/Plaid/PlaidFetchTransactionsJob';
import { ImportDeleteExpiredFilesJobs } from '@/services/Import/jobs/ImportDeleteExpiredFilesJob';
import { SendVerifyMailJob } from '@/services/Authentication/jobs/SendVerifyMailJob';
@@ -28,7 +28,7 @@ export default ({ agenda }: { agenda: Agenda }) => {
new SendSaleInvoiceReminderMailJob(agenda);
new SendSaleEstimateMailJob(agenda);
new SaleReceiptMailNotificationJob(agenda);
new PaymentReceiveMailNotificationJob(agenda);
new PaymentReceivedMailNotificationJob(agenda);
new PlaidFetchTransactionsJob(agenda);
new ImportDeleteExpiredFilesJobs(agenda);
new SendVerifyMailJob(agenda);

View File

@@ -3,7 +3,7 @@ import TenantModel from 'models/TenantModel';
import ModelSetting from './ModelSetting';
import BillPaymentSettings from './BillPayment.Settings';
import CustomViewBaseModel from './CustomViewBaseModel';
import { DEFAULT_VIEWS } from '@/services/Sales/PaymentReceives/constants';
import { DEFAULT_VIEWS } from '@/services/Sales/PaymentReceived/constants';
import ModelSearchable from './ModelSearchable';
export default class BillPayment extends mixin(TenantModel, [

View File

@@ -3,7 +3,7 @@ import TenantModel from 'models/TenantModel';
import ModelSetting from './ModelSetting';
import PaymentReceiveSettings from './PaymentReceive.Settings';
import CustomViewBaseModel from './CustomViewBaseModel';
import { DEFAULT_VIEWS } from '@/services/Sales/PaymentReceives/constants';
import { DEFAULT_VIEWS } from '@/services/Sales/PaymentReceived/constants';
import ModelSearchable from './ModelSearchable';
export default class PaymentReceive extends mixin(TenantModel, [

View File

@@ -1,10 +1,10 @@
import { Inject, Service } from 'typedi';
import { isEmpty } from 'lodash';
import {
IPaymentReceiveCreatedPayload,
IPaymentReceiveCreatingPayload,
IPaymentReceiveDeletingPayload,
IPaymentReceiveEditedPayload,
IPaymentReceivedCreatedPayload,
IPaymentReceivedCreatingPayload,
IPaymentReceivedDeletingPayload,
IPaymentReceivedEditedPayload,
} from '@/interfaces';
import events from '@/subscribers/events';
import { LinkAttachment } from '../LinkAttachment';
@@ -50,13 +50,13 @@ export class AttachmentsOnPaymentsReceived {
/**
* Validates the attachment keys on creating payment.
* @param {IPaymentReceiveCreatingPayload}
* @param {IPaymentReceivedCreatingPayload}
* @returns {Promise<void>}
*/
private async validateAttachmentsOnPaymentCreate({
paymentReceiveDTO,
tenantId,
}: IPaymentReceiveCreatingPayload): Promise<void> {
}: IPaymentReceivedCreatingPayload): Promise<void> {
if (isEmpty(paymentReceiveDTO.attachments)) {
return;
}
@@ -67,7 +67,7 @@ export class AttachmentsOnPaymentsReceived {
/**
* Handles linking the attachments of the created payment.
* @param {IPaymentReceiveCreatedPayload}
* @param {IPaymentReceivedCreatedPayload}
* @returns {Promise<void>}
*/
private async handleAttachmentsOnPaymentCreated({
@@ -75,7 +75,7 @@ export class AttachmentsOnPaymentsReceived {
paymentReceiveDTO,
paymentReceive,
trx,
}: IPaymentReceiveCreatedPayload): Promise<void> {
}: IPaymentReceivedCreatedPayload): Promise<void> {
if (isEmpty(paymentReceiveDTO.attachments)) return;
const keys = paymentReceiveDTO.attachments?.map(
@@ -92,14 +92,14 @@ export class AttachmentsOnPaymentsReceived {
/**
* Handles unlinking all the unpresented keys of the edited payment.
* @param {IPaymentReceiveEditedPayload}
* @param {IPaymentReceivedEditedPayload}
*/
private async handleUnlinkUnpresentedKeysOnPaymentEdited({
tenantId,
paymentReceiveDTO,
oldPaymentReceive,
trx,
}: IPaymentReceiveEditedPayload) {
}: IPaymentReceivedEditedPayload) {
const keys = paymentReceiveDTO.attachments?.map(
(attachment) => attachment.key
);
@@ -114,7 +114,7 @@ export class AttachmentsOnPaymentsReceived {
/**
* Handles linking all the presented keys of the edited payment.
* @param {IPaymentReceiveEditedPayload}
* @param {IPaymentReceivedEditedPayload}
* @returns {Promise<void>}
*/
private async handleLinkPresentedKeysOnPaymentEdited({
@@ -122,7 +122,7 @@ export class AttachmentsOnPaymentsReceived {
paymentReceiveDTO,
oldPaymentReceive,
trx,
}: IPaymentReceiveEditedPayload) {
}: IPaymentReceivedEditedPayload) {
if (isEmpty(paymentReceiveDTO.attachments)) return;
const keys = paymentReceiveDTO.attachments?.map(
@@ -146,7 +146,7 @@ export class AttachmentsOnPaymentsReceived {
tenantId,
oldPaymentReceive,
trx,
}: IPaymentReceiveDeletingPayload) {
}: IPaymentReceivedDeletingPayload) {
await this.unlinkAttachmentService.unlinkAllModelKeys(
tenantId,
'PaymentReceive',

View File

@@ -1,7 +1,7 @@
import { Inject, Service } from 'typedi';
import {
IBillPaymentEventDeletedPayload,
IPaymentReceiveDeletedPayload,
IPaymentReceivedDeletedPayload,
} from '@/interfaces';
import { ValidateTransactionMatched } from '../ValidateTransactionsMatched';
import events from '@/subscribers/events';
@@ -23,7 +23,7 @@ export class ValidateMatchingOnPaymentMadeDelete {
/**
* Validates the payment made transaction whether matched with bank transaction on deleting.
* @param {IPaymentReceiveDeletedPayload}
* @param {IPaymentReceivedDeletedPayload}
*/
public async validateMatchingOnPaymentMadeDeleting({
tenantId,

View File

@@ -1,5 +1,5 @@
import { Inject, Service } from 'typedi';
import { IPaymentReceiveDeletedPayload } from '@/interfaces';
import { IPaymentReceivedDeletedPayload } from '@/interfaces';
import { ValidateTransactionMatched } from '../ValidateTransactionsMatched';
import events from '@/subscribers/events';
@@ -20,13 +20,13 @@ export class ValidateMatchingOnPaymentReceivedDelete {
/**
* Validates the payment received transaction whether matched with bank transaction on deleting.
* @param {IPaymentReceiveDeletedPayload}
* @param {IPaymentReceivedDeletedPayload}
*/
public async validateMatchingOnPaymentReceivedDeleting({
tenantId,
oldPaymentReceive,
trx,
}: IPaymentReceiveDeletedPayload) {
}: IPaymentReceivedDeletedPayload) {
await this.validateNoMatchingLinkedService.validateTransactionNoMatchLinking(
tenantId,
'PaymentReceive',

View File

@@ -1,8 +1,8 @@
import { Inject, Service } from 'typedi';
import events from '@/subscribers/events';
import {
IPaymentReceiveCreatingPayload,
IPaymentReceiveEditingPayload,
IPaymentReceivedCreatingPayload,
IPaymentReceivedEditingPayload,
} from '@/interfaces';
import { ValidateBranchExistance } from '../../Integrations/ValidateBranchExistance';
@@ -28,12 +28,12 @@ export class PaymentReceiveBranchValidateSubscriber {
/**
* Validate branch existance on estimate creating.
* @param {IPaymentReceiveCreatingPayload} payload
* @param {IPaymentReceivedCreatingPayload} payload
*/
private validateBranchExistanceOnPaymentCreating = async ({
tenantId,
paymentReceiveDTO,
}: IPaymentReceiveCreatingPayload) => {
}: IPaymentReceivedCreatingPayload) => {
await this.validateBranchExistance.validateTransactionBranchWhenActive(
tenantId,
paymentReceiveDTO.branchId
@@ -42,12 +42,12 @@ export class PaymentReceiveBranchValidateSubscriber {
/**
* Validate branch existance once estimate editing.
* @param {IPaymentReceiveEditingPayload} payload
* @param {IPaymentReceivedEditingPayload} payload
*/
private validateBranchExistanceOnPaymentEditing = async ({
paymentReceiveDTO,
tenantId,
}: IPaymentReceiveEditingPayload) => {
}: IPaymentReceivedEditingPayload) => {
await this.validateBranchExistance.validateTransactionBranchWhenActive(
tenantId,
paymentReceiveDTO.branchId

View File

@@ -9,7 +9,7 @@ import {
} from '@/interfaces';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
import UnitOfWork from '@/services/UnitOfWork';
import { PaymentReceiveValidators } from '../Sales/PaymentReceives/PaymentReceiveValidators';
import { PaymentReceivedValidators } from '../Sales/PaymentReceived/PaymentReceivedValidators';
import BaseCreditNotes from './CreditNotes';
import {
IApplyCreditToInvoicesDTO,
@@ -26,7 +26,7 @@ export default class CreditNoteApplyToInvoices extends BaseCreditNotes {
private tenancy: HasTenancyService;
@Inject()
private paymentReceiveValidators: PaymentReceiveValidators;
private paymentReceiveValidators: PaymentReceivedValidators;
@Inject()
private uow: UnitOfWork;

View File

@@ -9,7 +9,7 @@ import { SaleInvoicesExportable } from '../Sales/Invoices/SaleInvoicesExportable
import { SaleEstimatesExportable } from '../Sales/Estimates/SaleEstimatesExportable';
import { SaleReceiptsExportable } from '../Sales/Receipts/SaleReceiptsExportable';
import { BillsExportable } from '../Purchases/Bills/BillsExportable';
import { PaymentsReceivedExportable } from '../Sales/PaymentReceives/PaymentsReceivedExportable';
import { PaymentsReceivedExportable } from '../Sales/PaymentReceived/PaymentsReceivedExportable';
import { BillPaymentExportable } from '../Purchases/BillPayments/BillPaymentExportable';
import { ManualJournalsExportable } from '../ManualJournals/ManualJournalExportable';
import { CreditNotesExportable } from '../CreditNotes/CreditNotesExportable';

View File

@@ -13,7 +13,7 @@ import { SaleInvoicesImportable } from '../Sales/Invoices/SaleInvoicesImportable
import { SaleEstimatesImportable } from '../Sales/Estimates/SaleEstimatesImportable';
import { BillPaymentsImportable } from '../Purchases/BillPayments/BillPaymentsImportable';
import { VendorCreditsImportable } from '../Purchases/VendorCredits/VendorCreditsImportable';
import { PaymentReceivesImportable } from '../Sales/PaymentReceives/PaymentReceivesImportable';
import { PaymentsReceivedImportable } from '../Sales/PaymentReceived/PaymentsReceivedImportable';
import { CreditNotesImportable } from '../CreditNotes/CreditNotesImportable';
import { SaleReceiptsImportable } from '../Sales/Receipts/SaleReceiptsImportable';
import { TaxRatesImportable } from '../TaxRates/TaxRatesImportable';
@@ -45,7 +45,7 @@ export class ImportableResources {
{ resource: 'SaleInvoice', importable: SaleInvoicesImportable },
{ resource: 'SaleEstimate', importable: SaleEstimatesImportable },
{ resource: 'BillPayment', importable: BillPaymentsImportable },
{ resource: 'PaymentReceive', importable: PaymentReceivesImportable },
{ resource: 'PaymentReceive', importable: PaymentsReceivedImportable },
{ resource: 'VendorCredit', importable: VendorCreditsImportable },
{ resource: 'CreditNote', importable: CreditNotesImportable },
{ resource: 'SaleReceipt', importable: SaleReceiptsImportable },

View File

@@ -6,7 +6,7 @@ import SaleNotifyBySms from '../SaleNotifyBySms';
import SmsNotificationsSettingsService from '@/services/Settings/SmsNotificationsSettings';
import {
ICustomer,
IPaymentReceiveSmsDetails,
IPaymentReceivedSmsDetails,
ISaleEstimate,
SMS_NOTIFICATION_KEY,
} from '@/interfaces';
@@ -173,12 +173,12 @@ export class SaleEstimateNotifyBySms {
* Retrieve the SMS details of the given payment receive transaction.
* @param {number} tenantId
* @param {number} saleEstimateId
* @returns {Promise<IPaymentReceiveSmsDetails>}
* @returns {Promise<IPaymentReceivedSmsDetails>}
*/
public smsDetails = async (
tenantId: number,
saleEstimateId: number
): Promise<IPaymentReceiveSmsDetails> => {
): Promise<IPaymentReceivedSmsDetails> => {
const { SaleEstimate } = this.tenancy.models(tenantId);
// Retrieve the sale invoice or throw not found service error.

View File

@@ -3,7 +3,7 @@ import { CreateSaleEstimate } from './CreateSaleEstimate';
import {
IFilterMeta,
IPaginationMeta,
IPaymentReceiveSmsDetails,
IPaymentReceivedSmsDetails,
ISaleEstimate,
ISaleEstimateDTO,
ISalesEstimatesFilter,
@@ -191,12 +191,12 @@ export class SaleEstimatesApplication {
* Retrieve the SMS details of the given payment receive transaction.
* @param {number} tenantId
* @param {number} saleEstimateId
* @returns {Promise<IPaymentReceiveSmsDetails>}
* @returns {Promise<IPaymentReceivedSmsDetails>}
*/
public getSaleEstimateSmsDetails = (
tenantId: number,
saleEstimateId: number
): Promise<IPaymentReceiveSmsDetails> => {
): Promise<IPaymentReceivedSmsDetails> => {
return this.saleEstimateNotifyBySmsService.smsDetails(
tenantId,
saleEstimateId

View File

@@ -2,7 +2,7 @@ import { Knex } from 'knex';
import async from 'async';
import { Inject, Service } from 'typedi';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import { PaymentReceiveGLEntries } from '../PaymentReceives/PaymentReceiveGLEntries';
import { PaymentReceivedGLEntries } from '../PaymentReceived/PaymentReceivedGLEntries';
@Service()
export class InvoicePaymentsGLEntriesRewrite {
@@ -10,7 +10,7 @@ export class InvoicePaymentsGLEntriesRewrite {
public tenancy: HasTenancyService;
@Inject()
public paymentGLEntries: PaymentReceiveGLEntries;
public paymentGLEntries: PaymentReceivedGLEntries;
/**
* Rewrites the payment GL entries task.

View File

@@ -2,23 +2,23 @@ import { Inject, Service } from 'typedi';
import { Knex } from 'knex';
import {
ICustomer,
IPaymentReceiveCreateDTO,
IPaymentReceiveCreatedPayload,
IPaymentReceiveCreatingPayload,
IPaymentReceivedCreateDTO,
IPaymentReceivedCreatedPayload,
IPaymentReceivedCreatingPayload,
ISystemUser,
} from '@/interfaces';
import { PaymentReceiveValidators } from './PaymentReceiveValidators';
import { PaymentReceivedValidators } from './PaymentReceivedValidators';
import events from '@/subscribers/events';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import UnitOfWork from '@/services/UnitOfWork';
import { PaymentReceiveDTOTransformer } from './PaymentReceiveDTOTransformer';
import { PaymentReceiveDTOTransformer } from './PaymentReceivedDTOTransformer';
import { TenantMetadata } from '@/system/models';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
@Service()
export class CreatePaymentReceive {
export class CreatePaymentReceived {
@Inject()
private validators: PaymentReceiveValidators;
private validators: PaymentReceivedValidators;
@Inject()
private eventPublisher: EventPublisher;
@@ -37,11 +37,11 @@ export class CreatePaymentReceive {
* with associated invoices payment and journal transactions.
* @async
* @param {number} tenantId - Tenant id.
* @param {IPaymentReceive} paymentReceive
* @param {IPaymentReceived} paymentReceive
*/
public async createPaymentReceive(
public async createPaymentReceived(
tenantId: number,
paymentReceiveDTO: IPaymentReceiveCreateDTO,
paymentReceiveDTO: IPaymentReceivedCreateDTO,
authorizedUser: ISystemUser,
trx?: Knex.Transaction
) {
@@ -97,7 +97,7 @@ export class CreatePaymentReceive {
trx,
paymentReceiveDTO,
tenantId,
} as IPaymentReceiveCreatingPayload);
} as IPaymentReceivedCreatingPayload);
// Inserts the payment receive transaction.
const paymentReceive = await PaymentReceive.query(
@@ -113,7 +113,7 @@ export class CreatePaymentReceive {
paymentReceiveDTO,
authorizedUser,
trx,
} as IPaymentReceiveCreatedPayload);
} as IPaymentReceivedCreatedPayload);
return paymentReceive;
},
@@ -125,13 +125,13 @@ export class CreatePaymentReceive {
* Transform the create payment receive DTO.
* @param {number} tenantId
* @param {ICustomer} customer
* @param {IPaymentReceiveCreateDTO} paymentReceiveDTO
* @param {IPaymentReceivedCreateDTO} paymentReceiveDTO
* @returns
*/
private transformCreateDTOToModel = async (
tenantId: number,
customer: ICustomer,
paymentReceiveDTO: IPaymentReceiveCreateDTO
paymentReceiveDTO: IPaymentReceivedCreateDTO
) => {
return this.transformer.transformPaymentReceiveDTOToModel(
tenantId,

View File

@@ -1,8 +1,8 @@
import { Inject, Service } from 'typedi';
import { Knex } from 'knex';
import {
IPaymentReceiveDeletedPayload,
IPaymentReceiveDeletingPayload,
IPaymentReceivedDeletedPayload,
IPaymentReceivedDeletingPayload,
ISystemUser,
} from '@/interfaces';
import UnitOfWork from '@/services/UnitOfWork';
@@ -11,7 +11,7 @@ import events from '@/subscribers/events';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
@Service()
export class DeletePaymentReceive {
export class DeletePaymentReceived {
@Inject()
private eventPublisher: EventPublisher;
@@ -33,7 +33,7 @@ export class DeletePaymentReceive {
* @async
* @param {number} tenantId - Tenant id.
* @param {Integer} paymentReceiveId - Payment receive id.
* @param {IPaymentReceive} paymentReceive - Payment receive object.
* @param {IPaymentReceived} paymentReceive - Payment receive object.
*/
public async deletePaymentReceive(
tenantId: number,
@@ -56,7 +56,7 @@ export class DeletePaymentReceive {
tenantId,
oldPaymentReceive,
trx,
} as IPaymentReceiveDeletingPayload);
} as IPaymentReceivedDeletingPayload);
// Deletes the payment receive associated entries.
await PaymentReceiveEntry.query(trx)
@@ -73,7 +73,7 @@ export class DeletePaymentReceive {
oldPaymentReceive,
authorizedUser,
trx,
} as IPaymentReceiveDeletedPayload);
} as IPaymentReceivedDeletedPayload);
});
}
}

View File

@@ -2,14 +2,14 @@ import { Inject, Service } from 'typedi';
import { Knex } from 'knex';
import {
ICustomer,
IPaymentReceive,
IPaymentReceiveEditDTO,
IPaymentReceiveEditedPayload,
IPaymentReceiveEditingPayload,
IPaymentReceived,
IPaymentReceivedEditDTO,
IPaymentReceivedEditedPayload,
IPaymentReceivedEditingPayload,
ISystemUser,
} from '@/interfaces';
import { PaymentReceiveDTOTransformer } from './PaymentReceiveDTOTransformer';
import { PaymentReceiveValidators } from './PaymentReceiveValidators';
import { PaymentReceiveDTOTransformer } from './PaymentReceivedDTOTransformer';
import { PaymentReceivedValidators } from './PaymentReceivedValidators';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
import events from '@/subscribers/events';
import UnitOfWork from '@/services/UnitOfWork';
@@ -17,12 +17,12 @@ import HasTenancyService from '@/services/Tenancy/TenancyService';
import { TenantMetadata } from '@/system/models';
@Service()
export class EditPaymentReceive {
export class EditPaymentReceived {
@Inject()
private transformer: PaymentReceiveDTOTransformer;
@Inject()
private validators: PaymentReceiveValidators;
private validators: PaymentReceivedValidators;
@Inject()
private eventPublisher: EventPublisher;
@@ -46,12 +46,12 @@ export class EditPaymentReceive {
* @async
* @param {number} tenantId -
* @param {Integer} paymentReceiveId -
* @param {IPaymentReceive} paymentReceive -
* @param {IPaymentReceived} paymentReceive -
*/
public async editPaymentReceive(
tenantId: number,
paymentReceiveId: number,
paymentReceiveDTO: IPaymentReceiveEditDTO,
paymentReceiveDTO: IPaymentReceivedEditDTO,
authorizedUser: ISystemUser
) {
const { PaymentReceive, Contact } = this.tenancy.models(tenantId);
@@ -131,7 +131,7 @@ export class EditPaymentReceive {
tenantId,
oldPaymentReceive,
paymentReceiveDTO,
} as IPaymentReceiveEditingPayload);
} as IPaymentReceivedEditingPayload);
// Update the payment receive transaction.
const paymentReceive = await PaymentReceive.query(
@@ -149,7 +149,7 @@ export class EditPaymentReceive {
paymentReceiveDTO,
authorizedUser,
trx,
} as IPaymentReceiveEditedPayload);
} as IPaymentReceivedEditedPayload);
return paymentReceive;
});
@@ -159,15 +159,15 @@ export class EditPaymentReceive {
* Transform the edit payment receive DTO.
* @param {number} tenantId
* @param {ICustomer} customer
* @param {IPaymentReceiveEditDTO} paymentReceiveDTO
* @param {IPaymentReceive} oldPaymentReceive
* @param {IPaymentReceivedEditDTO} paymentReceiveDTO
* @param {IPaymentReceived} oldPaymentReceive
* @returns
*/
private transformEditDTOToModel = async (
tenantId: number,
customer: ICustomer,
paymentReceiveDTO: IPaymentReceiveEditDTO,
oldPaymentReceive: IPaymentReceive
paymentReceiveDTO: IPaymentReceivedEditDTO,
oldPaymentReceive: IPaymentReceived
) => {
return this.transformer.transformPaymentReceiveDTOToModel(
tenantId,

View File

@@ -1,13 +1,13 @@
import { ServiceError } from '@/exceptions';
import { IPaymentReceive } from '@/interfaces';
import { IPaymentReceived } from '@/interfaces';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import { Inject, Service } from 'typedi';
import { ERRORS } from './constants';
import { PaymentReceiveTransfromer } from './PaymentReceiveTransformer';
import { PaymentReceiveTransfromer } from './PaymentReceivedTransformer';
import { TransformerInjectable } from '@/lib/Transformer/TransformerInjectable';
@Service()
export class GetPaymentReceive {
export class GetPaymentReceived {
@Inject()
private tenancy: HasTenancyService;
@@ -18,12 +18,12 @@ export class GetPaymentReceive {
* Retrieve payment receive details.
* @param {number} tenantId - Tenant id.
* @param {number} paymentReceiveId - Payment receive id.
* @return {Promise<IPaymentReceive>}
* @return {Promise<IPaymentReceived>}
*/
public async getPaymentReceive(
tenantId: number,
paymentReceiveId: number
): Promise<IPaymentReceive> {
): Promise<IPaymentReceived> {
const { PaymentReceive } = this.tenancy.models(tenantId);
const paymentReceive = await PaymentReceive.query()

View File

@@ -1,14 +1,14 @@
import { Inject, Service } from 'typedi';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import { PaymentReceiveValidators } from './PaymentReceiveValidators';
import { PaymentReceivedValidators } from './PaymentReceivedValidators';
@Service()
export class GetPaymentReceiveInvoices {
export class GetPaymentReceivedInvoices {
@Inject()
private tenancy: HasTenancyService;
@Inject()
private validators: PaymentReceiveValidators;
private validators: PaymentReceivedValidators;
/**
* Retrieve sale invoices that assocaited to the given payment receive.

View File

@@ -1,10 +1,10 @@
import { Inject, Service } from 'typedi';
import { ChromiumlyTenancy } from '@/services/ChromiumlyTenancy/ChromiumlyTenancy';
import { TemplateInjectable } from '@/services/TemplateInjectable/TemplateInjectable';
import { GetPaymentReceive } from './GetPaymentReceive';
import { GetPaymentReceived } from './GetPaymentReceived';
@Service()
export default class GetPaymentReceivePdf {
export default class GetPaymentReceivedPdf {
@Inject()
private chromiumlyTenancy: ChromiumlyTenancy;
@@ -12,12 +12,12 @@ export default class GetPaymentReceivePdf {
private templateInjectable: TemplateInjectable;
@Inject()
private getPaymentService: GetPaymentReceive;
private getPaymentService: GetPaymentReceived;
/**
* Retrieve sale invoice pdf content.
* @param {number} tenantId -
* @param {IPaymentReceive} paymentReceive -
* @param {IPaymentReceived} paymentReceive -
* @returns {Promise<Buffer>}
*/
async getPaymentReceivePdf(

View File

@@ -3,10 +3,10 @@ import * as R from 'ramda';
import {
IFilterMeta,
IPaginationMeta,
IPaymentReceive,
IPaymentReceivesFilter,
IPaymentReceived,
IPaymentsReceivedFilter,
} from '@/interfaces';
import { PaymentReceiveTransfromer } from './PaymentReceiveTransformer';
import { PaymentReceiveTransfromer } from './PaymentReceivedTransformer';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import { TransformerInjectable } from '@/lib/Transformer/TransformerInjectable';
import DynamicListingService from '@/services/DynamicListing/DynamicListService';
@@ -25,13 +25,13 @@ export class GetPaymentReceives {
/**
* Retrieve payment receives paginated and filterable list.
* @param {number} tenantId
* @param {IPaymentReceivesFilter} paymentReceivesFilter
* @param {IPaymentsReceivedFilter} paymentReceivesFilter
*/
public async getPaymentReceives(
tenantId: number,
filterDTO: IPaymentReceivesFilter
filterDTO: IPaymentsReceivedFilter
): Promise<{
paymentReceives: IPaymentReceive[];
paymentReceives: IPaymentReceived[];
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}> {

View File

@@ -1,44 +1,44 @@
import {
IFilterMeta,
IPaginationMeta,
IPaymentReceive,
IPaymentReceiveCreateDTO,
IPaymentReceiveEditDTO,
IPaymentReceiveSmsDetails,
IPaymentReceivesFilter,
IPaymentReceived,
IPaymentReceivedCreateDTO,
IPaymentReceivedEditDTO,
IPaymentReceivedSmsDetails,
IPaymentsReceivedFilter,
ISystemUser,
PaymentReceiveMailOptsDTO,
} from '@/interfaces';
import { Inject, Service } from 'typedi';
import { CreatePaymentReceive } from './CreatePaymentReceive';
import { EditPaymentReceive } from './EditPaymentReceive';
import { DeletePaymentReceive } from './DeletePaymentReceive';
import { GetPaymentReceives } from './GetPaymentReceives';
import { GetPaymentReceive } from './GetPaymentReceive';
import { GetPaymentReceiveInvoices } from './GetPaymentReceiveInvoices';
import { PaymentReceiveNotifyBySms } from './PaymentReceiveSmsNotify';
import GetPaymentReceivePdf from './GetPaymentReeceivePdf';
import { SendPaymentReceiveMailNotification } from './PaymentReceiveMailNotification';
import { CreatePaymentReceived } from './CreatePaymentReceived';
import { EditPaymentReceived } from './EditPaymentReceived';
import { DeletePaymentReceived } from './DeletePaymentReceived';
import { GetPaymentReceives } from './GetPaymentsReceived';
import { GetPaymentReceived } from './GetPaymentReceived';
import { GetPaymentReceivedInvoices } from './GetPaymentReceivedInvoices';
import { PaymentReceiveNotifyBySms } from './PaymentReceivedSmsNotify';
import GetPaymentReceivedPdf from './GetPaymentReceivedPdf';
import { SendPaymentReceiveMailNotification } from './PaymentReceivedMailNotification';
@Service()
export class PaymentReceivesApplication {
@Inject()
private createPaymentReceiveService: CreatePaymentReceive;
private createPaymentReceivedService: CreatePaymentReceived;
@Inject()
private editPaymentReceiveService: EditPaymentReceive;
private editPaymentReceivedService: EditPaymentReceived;
@Inject()
private deletePaymentReceiveService: DeletePaymentReceive;
private deletePaymentReceivedService: DeletePaymentReceived;
@Inject()
private getPaymentReceivesService: GetPaymentReceives;
private getPaymentsReceivedService: GetPaymentReceives;
@Inject()
private getPaymentReceiveService: GetPaymentReceive;
private getPaymentReceivedService: GetPaymentReceived;
@Inject()
private getPaymentReceiveInvoicesService: GetPaymentReceiveInvoices;
private getPaymentReceiveInvoicesService: GetPaymentReceivedInvoices;
@Inject()
private paymentSmsNotify: PaymentReceiveNotifyBySms;
@@ -47,21 +47,21 @@ export class PaymentReceivesApplication {
private paymentMailNotify: SendPaymentReceiveMailNotification;
@Inject()
private getPaymentReceivePdfService: GetPaymentReceivePdf;
private getPaymentReceivePdfService: GetPaymentReceivedPdf;
/**
* Creates a new payment receive.
* @param {number} tenantId
* @param {IPaymentReceiveCreateDTO} paymentReceiveDTO
* @param {IPaymentReceivedCreateDTO} paymentReceiveDTO
* @param {ISystemUser} authorizedUser
* @returns
*/
public createPaymentReceive(
public createPaymentReceived(
tenantId: number,
paymentReceiveDTO: IPaymentReceiveCreateDTO,
paymentReceiveDTO: IPaymentReceivedCreateDTO,
authorizedUser: ISystemUser
) {
return this.createPaymentReceiveService.createPaymentReceive(
return this.createPaymentReceivedService.createPaymentReceived(
tenantId,
paymentReceiveDTO,
authorizedUser
@@ -72,17 +72,17 @@ export class PaymentReceivesApplication {
* Edit details the given payment receive with associated entries.
* @param {number} tenantId
* @param {number} paymentReceiveId
* @param {IPaymentReceiveEditDTO} paymentReceiveDTO
* @param {IPaymentReceivedEditDTO} paymentReceiveDTO
* @param {ISystemUser} authorizedUser
* @returns
*/
public editPaymentReceive(
tenantId: number,
paymentReceiveId: number,
paymentReceiveDTO: IPaymentReceiveEditDTO,
paymentReceiveDTO: IPaymentReceivedEditDTO,
authorizedUser: ISystemUser
) {
return this.editPaymentReceiveService.editPaymentReceive(
return this.editPaymentReceivedService.editPaymentReceive(
tenantId,
paymentReceiveId,
paymentReceiveDTO,
@@ -102,7 +102,7 @@ export class PaymentReceivesApplication {
paymentReceiveId: number,
authorizedUser: ISystemUser
) {
return this.deletePaymentReceiveService.deletePaymentReceive(
return this.deletePaymentReceivedService.deletePaymentReceive(
tenantId,
paymentReceiveId,
authorizedUser
@@ -112,18 +112,18 @@ export class PaymentReceivesApplication {
/**
* Retrieve payment receives paginated and filterable.
* @param {number} tenantId
* @param {IPaymentReceivesFilter} filterDTO
* @param {IPaymentsReceivedFilter} filterDTO
* @returns
*/
public async getPaymentReceives(
tenantId: number,
filterDTO: IPaymentReceivesFilter
filterDTO: IPaymentsReceivedFilter
): Promise<{
paymentReceives: IPaymentReceive[];
paymentReceives: IPaymentReceived[];
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}> {
return this.getPaymentReceivesService.getPaymentReceives(
return this.getPaymentsReceivedService.getPaymentReceives(
tenantId,
filterDTO
);
@@ -133,13 +133,13 @@ export class PaymentReceivesApplication {
* Retrieves the given payment receive.
* @param {number} tenantId
* @param {number} paymentReceiveId
* @returns {Promise<IPaymentReceive>}
* @returns {Promise<IPaymentReceived>}
*/
public async getPaymentReceive(
tenantId: number,
paymentReceiveId: number
): Promise<IPaymentReceive> {
return this.getPaymentReceiveService.getPaymentReceive(
): Promise<IPaymentReceived> {
return this.getPaymentReceivedService.getPaymentReceive(
tenantId,
paymentReceiveId
);
@@ -175,7 +175,7 @@ export class PaymentReceivesApplication {
public getPaymentSmsDetails = async (
tenantId: number,
paymentReceiveId: number
): Promise<IPaymentReceiveSmsDetails> => {
): Promise<IPaymentReceivedSmsDetails> => {
return this.paymentSmsNotify.smsDetails(tenantId, paymentReceiveId);
};

View File

@@ -3,22 +3,22 @@ import { Inject, Service } from 'typedi';
import { omit, sumBy } from 'lodash';
import {
ICustomer,
IPaymentReceive,
IPaymentReceiveCreateDTO,
IPaymentReceiveEditDTO,
IPaymentReceived,
IPaymentReceivedCreateDTO,
IPaymentReceivedEditDTO,
} from '@/interfaces';
import { PaymentReceiveValidators } from './PaymentReceiveValidators';
import { PaymentReceiveIncrement } from './PaymentReceiveIncrement';
import { PaymentReceivedValidators } from './PaymentReceivedValidators';
import { PaymentReceivedIncrement } from './PaymentReceivedIncrement';
import { BranchTransactionDTOTransform } from '@/services/Branches/Integrations/BranchTransactionDTOTransform';
import { formatDateFields } from '@/utils';
@Service()
export class PaymentReceiveDTOTransformer {
@Inject()
private validators: PaymentReceiveValidators;
private validators: PaymentReceivedValidators;
@Inject()
private increments: PaymentReceiveIncrement;
private increments: PaymentReceivedIncrement;
@Inject()
private branchDTOTransform: BranchTransactionDTOTransform;
@@ -26,16 +26,16 @@ export class PaymentReceiveDTOTransformer {
/**
* Transformes the create payment receive DTO to model object.
* @param {number} tenantId
* @param {IPaymentReceiveCreateDTO|IPaymentReceiveEditDTO} paymentReceiveDTO - Payment receive DTO.
* @param {IPaymentReceive} oldPaymentReceive -
* @return {IPaymentReceive}
* @param {IPaymentReceivedCreateDTO|IPaymentReceivedEditDTO} paymentReceiveDTO - Payment receive DTO.
* @param {IPaymentReceived} oldPaymentReceive -
* @return {IPaymentReceived}
*/
public async transformPaymentReceiveDTOToModel(
tenantId: number,
customer: ICustomer,
paymentReceiveDTO: IPaymentReceiveCreateDTO | IPaymentReceiveEditDTO,
oldPaymentReceive?: IPaymentReceive
): Promise<IPaymentReceive> {
paymentReceiveDTO: IPaymentReceivedCreateDTO | IPaymentReceivedEditDTO,
oldPaymentReceive?: IPaymentReceived
): Promise<IPaymentReceived> {
const amount =
paymentReceiveDTO.amount ??
sumBy(paymentReceiveDTO.entries, 'paymentAmount');
@@ -65,7 +65,7 @@ export class PaymentReceiveDTOTransformer {
})),
};
return R.compose(
this.branchDTOTransform.transformDTO<IPaymentReceive>(tenantId)
this.branchDTOTransform.transformDTO<IPaymentReceived>(tenantId)
)(initialDTO);
}
}

View File

@@ -2,7 +2,7 @@ import { Transformer } from '@/lib/Transformer/Transformer';
import { SaleInvoiceTransformer } from '../Invoices/SaleInvoiceTransformer';
import { formatNumber } from '@/utils';
export class PaymentReceiveEntryTransfromer extends Transformer {
export class PaymentReceivedEntryTransfromer extends Transformer {
/**
* Include these attributes to payment receive entry object.
* @returns {Array}

View File

@@ -4,7 +4,7 @@ import { Knex } from 'knex';
import Ledger from '@/services/Accounting/Ledger';
import TenancyService from '@/services/Tenancy/TenancyService';
import {
IPaymentReceive,
IPaymentReceived,
ILedgerEntry,
AccountNormal,
IPaymentReceiveGLCommonEntry,
@@ -13,7 +13,7 @@ import LedgerStorageService from '@/services/Accounting/LedgerStorageService';
import { TenantMetadata } from '@/system/models';
@Service()
export class PaymentReceiveGLEntries {
export class PaymentReceivedGLEntries {
@Inject()
private tenancy: TenancyService;
@@ -93,14 +93,14 @@ export class PaymentReceiveGLEntries {
/**
* Retrieves the payment receive general ledger.
* @param {number} tenantId -
* @param {IPaymentReceive} paymentReceive -
* @param {IPaymentReceived} paymentReceive -
* @param {string} baseCurrencyCode -
* @param {Knex.Transaction} trx -
* @returns {Ledger}
*/
public getPaymentReceiveGLedger = async (
tenantId: number,
paymentReceive: IPaymentReceive,
paymentReceive: IPaymentReceived,
baseCurrencyCode: string,
trx?: Knex.Transaction
): Promise<Ledger> => {
@@ -132,7 +132,7 @@ export class PaymentReceiveGLEntries {
* @returns {number}
*/
private getPaymentExGainOrLoss = (
paymentReceive: IPaymentReceive
paymentReceive: IPaymentReceived
): number => {
return sumBy(paymentReceive.entries, (entry) => {
const paymentLocalAmount =
@@ -145,11 +145,11 @@ export class PaymentReceiveGLEntries {
/**
* Retrieves the common entry of payment receive.
* @param {IPaymentReceive} paymentReceive
* @param {IPaymentReceived} paymentReceive
* @returns {}
*/
private getPaymentReceiveCommonEntry = (
paymentReceive: IPaymentReceive
paymentReceive: IPaymentReceived
): IPaymentReceiveGLCommonEntry => {
return {
debit: 0,
@@ -174,14 +174,14 @@ export class PaymentReceiveGLEntries {
/**
* Retrieves the payment exchange gain/loss entry.
* @param {IPaymentReceive} paymentReceive -
* @param {IPaymentReceived} paymentReceive -
* @param {number} ARAccountId -
* @param {number} exchangeGainOrLossAccountId -
* @param {string} baseCurrencyCode -
* @returns {ILedgerEntry[]}
*/
private getPaymentExchangeGainLossEntry = (
paymentReceive: IPaymentReceive,
paymentReceive: IPaymentReceived,
ARAccountId: number,
exchangeGainOrLossAccountId: number,
baseCurrencyCode: string
@@ -219,11 +219,11 @@ export class PaymentReceiveGLEntries {
/**
* Retrieves the payment deposit GL entry.
* @param {IPaymentReceive} paymentReceive
* @param {IPaymentReceived} paymentReceive
* @returns {ILedgerEntry}
*/
private getPaymentDepositGLEntry = (
paymentReceive: IPaymentReceive
paymentReceive: IPaymentReceived
): ILedgerEntry => {
const commonJournal = this.getPaymentReceiveCommonEntry(paymentReceive);
@@ -238,12 +238,12 @@ export class PaymentReceiveGLEntries {
/**
* Retrieves the payment receivable entry.
* @param {IPaymentReceive} paymentReceive
* @param {IPaymentReceived} paymentReceive
* @param {number} ARAccountId
* @returns {ILedgerEntry}
*/
private getPaymentReceivableEntry = (
paymentReceive: IPaymentReceive,
paymentReceive: IPaymentReceived,
ARAccountId: number
): ILedgerEntry => {
const commonJournal = this.getPaymentReceiveCommonEntry(paymentReceive);
@@ -267,14 +267,14 @@ export class PaymentReceiveGLEntries {
* - Payment account [current asset] -> Credit
*
* @param {number} tenantId
* @param {IPaymentReceive} paymentRecieve - Payment receive model.
* @param {IPaymentReceived} paymentRecieve - Payment receive model.
* @param {number} ARAccountId - A/R account id.
* @param {number} exGainOrLossAccountId - Exchange gain/loss account id.
* @param {string} baseCurrency - Base currency code.
* @returns {Promise<ILedgerEntry>}
*/
public getPaymentReceiveGLEntries = (
paymentReceive: IPaymentReceive,
paymentReceive: IPaymentReceived,
ARAccountId: number,
exGainOrLossAccountId: number,
baseCurrency: string

View File

@@ -2,7 +2,7 @@ import { Inject, Service } from 'typedi';
import AutoIncrementOrdersService from '../AutoIncrementOrdersService';
@Service()
export class PaymentReceiveIncrement {
export class PaymentReceivedIncrement {
@Inject()
private autoIncrementOrdersService: AutoIncrementOrdersService;

View File

@@ -1,11 +1,11 @@
import { Inject, Service } from 'typedi';
import { Knex } from 'knex';
import { IPaymentReceiveEntryDTO } from '@/interfaces';
import { IPaymentReceivedEntryDTO } from '@/interfaces';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import { entriesAmountDiff } from '@/utils';
@Service()
export class PaymentReceiveInvoiceSync {
export class PaymentReceivedInvoiceSync {
@Inject()
private tenancy: HasTenancyService;
@@ -19,8 +19,8 @@ export class PaymentReceiveInvoiceSync {
*/
public async saveChangeInvoicePaymentAmount(
tenantId: number,
newPaymentReceiveEntries: IPaymentReceiveEntryDTO[],
oldPaymentReceiveEntries?: IPaymentReceiveEntryDTO[],
newPaymentReceiveEntries: IPaymentReceivedEntryDTO[],
oldPaymentReceiveEntries?: IPaymentReceivedEntryDTO[],
trx?: Knex.Transaction
): Promise<void> {
const { SaleInvoice } = this.tenancy.models(tenantId);

View File

@@ -11,7 +11,7 @@ import {
DEFAULT_PAYMENT_MAIL_CONTENT,
DEFAULT_PAYMENT_MAIL_SUBJECT,
} from './constants';
import { GetPaymentReceive } from './GetPaymentReceive';
import { GetPaymentReceived } from './GetPaymentReceived';
import { ContactMailNotification } from '@/services/MailNotification/ContactMailNotification';
import { parseAndValidateMailOptions } from '@/services/MailNotification/utils';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
@@ -23,7 +23,7 @@ export class SendPaymentReceiveMailNotification {
private tenancy: HasTenancyService;
@Inject()
private getPaymentService: GetPaymentReceive;
private getPaymentService: GetPaymentReceived;
@Inject()
private contactMailNotification: ContactMailNotification;

View File

@@ -1,8 +1,8 @@
import Container, { Service } from 'typedi';
import { SendPaymentReceiveMailNotification } from './PaymentReceiveMailNotification';
import { SendPaymentReceiveMailNotification } from './PaymentReceivedMailNotification';
@Service()
export class PaymentReceiveMailNotificationJob {
export class PaymentReceivedMailNotificationJob {
/**
* Constructor method.
*/

View File

@@ -2,17 +2,17 @@ import { Service, Inject } from 'typedi';
import HasTenancyService from '@/services/Tenancy/TenancyService';
import events from '@/subscribers/events';
import {
IPaymentReceiveSmsDetails,
IPaymentReceivedSmsDetails,
SMS_NOTIFICATION_KEY,
IPaymentReceive,
IPaymentReceiveEntry,
IPaymentReceived,
IPaymentReceivedEntry,
} from '@/interfaces';
import SmsNotificationsSettingsService from '@/services/Settings/SmsNotificationsSettings';
import { formatNumber, formatSmsMessage } from 'utils';
import { TenantMetadata } from '@/system/models';
import SaleNotifyBySms from '../SaleNotifyBySms';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
import { PaymentReceiveValidators } from './PaymentReceiveValidators';
import { PaymentReceivedValidators } from './PaymentReceivedValidators';
@Service()
export class PaymentReceiveNotifyBySms {
@@ -29,7 +29,7 @@ export class PaymentReceiveNotifyBySms {
private saleSmsNotification: SaleNotifyBySms;
@Inject()
private validators: PaymentReceiveValidators;
private validators: PaymentReceivedValidators;
/**
* Notify customer via sms about payment receive details.
@@ -71,12 +71,12 @@ export class PaymentReceiveNotifyBySms {
/**
* Sends the payment details sms notification of the given customer.
* @param {number} tenantId
* @param {IPaymentReceive} paymentReceive
* @param {IPaymentReceived} paymentReceive
* @param {ICustomer} customer
*/
private sendSmsNotification = async (
tenantId: number,
paymentReceive: IPaymentReceive
paymentReceive: IPaymentReceived
) => {
const smsClient = this.tenancy.smsClient(tenantId);
const tenantMetadata = await TenantMetadata.query().findOne({ tenantId });
@@ -116,12 +116,12 @@ export class PaymentReceiveNotifyBySms {
/**
* Formates the payment receive details sms message.
* @param {number} tenantId -
* @param {IPaymentReceive} payment -
* @param {IPaymentReceived} payment -
* @param {ICustomer} customer -
*/
private formattedPaymentDetailsMessage = (
tenantId: number,
payment: IPaymentReceive,
payment: IPaymentReceived,
tenantMetadata: TenantMetadata
) => {
const notification = this.smsNotificationsSettings.getSmsNotificationMeta(
@@ -138,14 +138,14 @@ export class PaymentReceiveNotifyBySms {
/**
* Formattes the payment details sms notification messafge.
* @param {string} smsMessage
* @param {IPaymentReceive} payment
* @param {IPaymentReceived} payment
* @param {ICustomer} customer
* @param {TenantMetadata} tenantMetadata
* @returns {string}
*/
private formatPaymentDetailsMessage = (
smsMessage: string,
payment: IPaymentReceive,
payment: IPaymentReceived,
tenantMetadata: any
): string => {
const invoiceNumbers = this.stringifyPaymentInvoicesNumber(payment);
@@ -167,12 +167,12 @@ export class PaymentReceiveNotifyBySms {
/**
* Stringify payment receive invoices to numbers as string.
* @param {IPaymentReceive} payment
* @param {IPaymentReceived} payment
* @returns {string}
*/
private stringifyPaymentInvoicesNumber(payment: IPaymentReceive) {
private stringifyPaymentInvoicesNumber(payment: IPaymentReceived) {
const invoicesNumberes = payment.entries.map(
(entry: IPaymentReceiveEntry) => entry.invoice.invoiceNo
(entry: IPaymentReceivedEntry) => entry.invoice.invoiceNo
);
return invoicesNumberes.join(', ');
}
@@ -185,7 +185,7 @@ export class PaymentReceiveNotifyBySms {
public smsDetails = async (
tenantId: number,
paymentReceiveid: number
): Promise<IPaymentReceiveSmsDetails> => {
): Promise<IPaymentReceivedSmsDetails> => {
const { PaymentReceive } = this.tenancy.models(tenantId);
// Retrieve the payment receive or throw not found service error.

View File

@@ -1,8 +1,7 @@
import { Container } from 'typedi';
import { On, EventSubscriber } from 'event-dispatch';
import events from '@/subscribers/events';
import SaleReceiptNotifyBySms from '@/services/Sales/SaleReceiptNotifyBySms';
import PaymentReceiveNotifyBySms from './PaymentReceiveSmsNotify';
import { PaymentReceiveNotifyBySms } from './PaymentReceivedSmsNotify';
@EventSubscriber()
export default class SendSmsNotificationPaymentReceive {

View File

@@ -1,7 +1,7 @@
import { IPaymentReceive, IPaymentReceiveEntry } from '@/interfaces';
import { IPaymentReceived, IPaymentReceivedEntry } from '@/interfaces';
import { Transformer } from '@/lib/Transformer/Transformer';
import { formatNumber } from 'utils';
import { PaymentReceiveEntryTransfromer } from './PaymentReceiveEntryTransformer';
import { PaymentReceivedEntryTransfromer } from './PaymentReceivedEntryTransformer';
export class PaymentReceiveTransfromer extends Transformer {
/**
@@ -24,25 +24,25 @@ export class PaymentReceiveTransfromer extends Transformer {
* @param {ISaleInvoice} invoice
* @returns {String}
*/
protected formattedPaymentDate = (payment: IPaymentReceive): string => {
protected formattedPaymentDate = (payment: IPaymentReceived): string => {
return this.formatDate(payment.paymentDate);
};
/**
* Retrieves the formatted created at date.
* @param {IPaymentReceive} payment
* @param {IPaymentReceived} payment
* @returns {string}
*/
protected formattedCreatedAt = (payment: IPaymentReceive): string => {
protected formattedCreatedAt = (payment: IPaymentReceived): string => {
return this.formatDate(payment.createdAt);
};
/**
* Retrieve the formatted payment subtotal.
* @param {IPaymentReceive} payment
* @param {IPaymentReceived} payment
* @returns {string}
*/
protected subtotalFormatted = (payment: IPaymentReceive): string => {
protected subtotalFormatted = (payment: IPaymentReceived): string => {
return formatNumber(payment.amount, {
currencyCode: payment.currencyCode,
money: false,
@@ -54,25 +54,25 @@ export class PaymentReceiveTransfromer extends Transformer {
* @param {ISaleInvoice} invoice
* @returns {string}
*/
protected formattedAmount = (payment: IPaymentReceive): string => {
protected formattedAmount = (payment: IPaymentReceived): string => {
return formatNumber(payment.amount, { currencyCode: payment.currencyCode });
};
/**
* Retrieve the formatted exchange rate.
* @param {IPaymentReceive} payment
* @param {IPaymentReceived} payment
* @returns {string}
*/
protected formattedExchangeRate = (payment: IPaymentReceive): string => {
protected formattedExchangeRate = (payment: IPaymentReceived): string => {
return formatNumber(payment.exchangeRate, { money: false });
};
/**
* Retrieves the payment entries.
* @param {IPaymentReceive} payment
* @returns {IPaymentReceiveEntry[]}
* @param {IPaymentReceived} payment
* @returns {IPaymentReceivedEntry[]}
*/
protected entries = (payment: IPaymentReceive): IPaymentReceiveEntry[] => {
return this.item(payment.entries, new PaymentReceiveEntryTransfromer());
protected entries = (payment: IPaymentReceived): IPaymentReceivedEntry[] => {
return this.item(payment.entries, new PaymentReceivedEntryTransfromer());
};
}

View File

@@ -2,10 +2,10 @@ import { Inject, Service } from 'typedi';
import { difference, sumBy } from 'lodash';
import {
IAccount,
IPaymentReceive,
IPaymentReceiveEditDTO,
IPaymentReceiveEntry,
IPaymentReceiveEntryDTO,
IPaymentReceived,
IPaymentReceivedEditDTO,
IPaymentReceivedEntry,
IPaymentReceivedEntryDTO,
ISaleInvoice,
} from '@/interfaces';
import { ServiceError } from '@/exceptions';
@@ -15,7 +15,7 @@ import { ACCOUNT_TYPE } from '@/data/AccountTypes';
import { PaymentReceive } from '@/models';
@Service()
export class PaymentReceiveValidators {
export class PaymentReceivedValidators {
@Inject()
private tenancy: HasTenancyService;
@@ -58,7 +58,7 @@ export class PaymentReceiveValidators {
* Validates the invoices IDs existance.
* @param {number} tenantId -
* @param {number} customerId -
* @param {IPaymentReceiveEntryDTO[]} paymentReceiveEntries -
* @param {IPaymentReceivedEntryDTO[]} paymentReceiveEntries -
*/
public async validateInvoicesIDsExistance(
tenantId: number,
@@ -100,12 +100,12 @@ export class PaymentReceiveValidators {
*/
public async validateInvoicesPaymentsAmount(
tenantId: number,
paymentReceiveEntries: IPaymentReceiveEntryDTO[],
oldPaymentEntries: IPaymentReceiveEntry[] = []
paymentReceiveEntries: IPaymentReceivedEntryDTO[],
oldPaymentEntries: IPaymentReceivedEntry[] = []
) {
const { SaleInvoice } = this.tenancy.models(tenantId);
const invoicesIds = paymentReceiveEntries.map(
(e: IPaymentReceiveEntryDTO) => e.invoiceId
(e: IPaymentReceivedEntryDTO) => e.invoiceId
);
const storedInvoices = await SaleInvoice.query().whereIn('id', invoicesIds);
@@ -124,7 +124,7 @@ export class PaymentReceiveValidators {
const hasWrongPaymentAmount: any[] = [];
paymentReceiveEntries.forEach(
(entry: IPaymentReceiveEntryDTO, index: number) => {
(entry: IPaymentReceivedEntryDTO, index: number) => {
const entryInvoice = storedInvoicesMap.get(entry.invoiceId);
const { dueAmount } = entryInvoice;
@@ -140,9 +140,9 @@ export class PaymentReceiveValidators {
/**
* Validate the payment receive number require.
* @param {IPaymentReceive} paymentReceiveObj
* @param {IPaymentReceived} paymentReceiveObj
*/
public validatePaymentReceiveNoRequire(paymentReceiveObj: IPaymentReceive) {
public validatePaymentReceiveNoRequire(paymentReceiveObj: IPaymentReceived) {
if (!paymentReceiveObj.paymentReceiveNo) {
throw new ServiceError(ERRORS.PAYMENT_RECEIVE_NO_IS_REQUIRED);
}
@@ -152,12 +152,12 @@ export class PaymentReceiveValidators {
* Validate the payment receive entries IDs existance.
* @param {number} tenantId
* @param {number} paymentReceiveId
* @param {IPaymentReceiveEntryDTO[]} paymentReceiveEntries
* @param {IPaymentReceivedEntryDTO[]} paymentReceiveEntries
*/
public async validateEntriesIdsExistance(
tenantId: number,
paymentReceiveId: number,
paymentReceiveEntries: IPaymentReceiveEntryDTO[]
paymentReceiveEntries: IPaymentReceivedEntryDTO[]
) {
const { PaymentReceiveEntry } = this.tenancy.models(tenantId);
@@ -189,12 +189,12 @@ export class PaymentReceiveValidators {
/**
* Validate the payment customer whether modified.
* @param {IPaymentReceiveEditDTO} paymentReceiveDTO
* @param {IPaymentReceive} oldPaymentReceive
* @param {IPaymentReceivedEditDTO} paymentReceiveDTO
* @param {IPaymentReceived} oldPaymentReceive
*/
public validateCustomerNotModified(
paymentReceiveDTO: IPaymentReceiveEditDTO,
oldPaymentReceive: IPaymentReceive
paymentReceiveDTO: IPaymentReceivedEditDTO,
oldPaymentReceive: IPaymentReceived
) {
if (paymentReceiveDTO.customerId !== oldPaymentReceive.customerId) {
throw new ServiceError(ERRORS.PAYMENT_CUSTOMER_SHOULD_NOT_UPDATE);
@@ -230,7 +230,7 @@ export class PaymentReceiveValidators {
async getPaymentReceiveOrThrowError(
tenantId: number,
paymentReceiveId: number
): Promise<IPaymentReceive> {
): Promise<IPaymentReceived> {
const { PaymentReceive } = this.tenancy.models(tenantId);
const paymentReceive = await PaymentReceive.query()
.withGraphFetched('entries')

View File

@@ -1,7 +1,7 @@
import { Inject, Service } from 'typedi';
import { IAccountsStructureType, IPaymentReceivesFilter } from '@/interfaces';
import { IAccountsStructureType, IPaymentsReceivedFilter } from '@/interfaces';
import { Exportable } from '@/services/Export/Exportable';
import { PaymentReceivesApplication } from './PaymentReceivesApplication';
import { PaymentReceivesApplication } from './PaymentReceivedApplication';
@Service()
export class PaymentsReceivedExportable extends Exportable {
@@ -11,17 +11,17 @@ export class PaymentsReceivedExportable extends Exportable {
/**
* Retrieves the accounts data to exportable sheet.
* @param {number} tenantId
* @param {IPaymentReceivesFilter} query -
* @param {IPaymentsReceivedFilter} query -
* @returns
*/
public exportable(tenantId: number, query: IPaymentReceivesFilter) {
public exportable(tenantId: number, query: IPaymentsReceivedFilter) {
const parsedQuery = {
sortOrder: 'desc',
columnSortBy: 'created_at',
inactiveMode: false,
...query,
structure: IAccountsStructureType.Flat,
} as IPaymentReceivesFilter;
} as IPaymentsReceivedFilter;
return this.paymentReceivedApp
.getPaymentReceives(tenantId, parsedQuery)

View File

@@ -1,14 +1,14 @@
import { Inject, Service } from 'typedi';
import { Knex } from 'knex';
import { IPaymentReceiveCreateDTO } from '@/interfaces';
import { IPaymentReceivedCreateDTO } from '@/interfaces';
import { Importable } from '@/services/Import/Importable';
import { CreatePaymentReceive } from './CreatePaymentReceive';
import { CreatePaymentReceived } from './CreatePaymentReceived';
import { PaymentsReceiveSampleData } from './constants';
@Service()
export class PaymentReceivesImportable extends Importable {
export class PaymentsReceivedImportable extends Importable {
@Inject()
private createPaymentReceiveService: CreatePaymentReceive;
private createPaymentReceiveService: CreatePaymentReceived;
/**
* Importing to account service.
@@ -18,10 +18,10 @@ export class PaymentReceivesImportable extends Importable {
*/
public importable(
tenantId: number,
createPaymentDTO: IPaymentReceiveCreateDTO,
createPaymentDTO: IPaymentReceivedCreateDTO,
trx?: Knex.Transaction
) {
return this.createPaymentReceiveService.createPaymentReceive(
return this.createPaymentReceiveService.createPaymentReceived(
tenantId,
createPaymentDTO,
{},

View File

@@ -3,7 +3,7 @@ import { omit } from 'lodash';
import {
ISaleInvoice,
IPaymentReceivePageEntry,
IPaymentReceive,
IPaymentReceived,
ISystemUser,
} from '@/interfaces';
import TenancyService from '@/services/Tenancy/TenancyService';
@@ -14,12 +14,9 @@ import { ERRORS } from './constants';
* Payment receives edit/new pages service.
*/
@Service()
export default class PaymentReceivesPages {
export default class PaymentsReceivedPages {
@Inject()
tenancy: TenancyService;
@Inject('logger')
logger: any;
private tenancy: TenancyService;
/**
* Retrive page invoices entries from the given sale invoices models.
@@ -68,7 +65,7 @@ export default class PaymentReceivesPages {
tenantId: number,
paymentReceiveId: number
): Promise<{
paymentReceive: Omit<IPaymentReceive, 'entries'>;
paymentReceive: Omit<IPaymentReceived, 'entries'>;
entries: IPaymentReceivePageEntry[];
}> {
const { PaymentReceive, SaleInvoice } = this.tenancy.models(tenantId);

View File

@@ -5,9 +5,9 @@ import {
ISaleInvoiceCreatingPaylaod,
ISaleReceiptDeletingPayload,
ICreditNoteDeletingPayload,
IPaymentReceiveCreatingPayload,
IPaymentReceivedCreatingPayload,
IRefundCreditNoteDeletingPayload,
IPaymentReceiveDeletingPayload,
IPaymentReceivedDeletingPayload,
ISaleEstimateDeletingPayload,
ISaleEstimateCreatingPayload,
ISaleEstimateEditingPayload,
@@ -17,7 +17,7 @@ import {
ISaleInvoiceWrittenOffCancelPayload,
ICreditNoteEditingPayload,
ISaleReceiptEditingPayload,
IPaymentReceiveEditingPayload,
IPaymentReceivedEditingPayload,
ISaleReceiptEventClosingPayload,
ICreditNoteCreatingPayload,
} from '@/interfaces';
@@ -454,13 +454,13 @@ export default class SalesTransactionLockingGuardSubscriber {
/**
* Transaction locking guard on payment receive editing.
* @param {IPaymentReceiveEditingPayload}
* @param {IPaymentReceivedEditingPayload}
*/
private transactionLockingGuardOnPaymentEditing = async ({
tenantId,
oldPaymentReceive,
paymentReceiveDTO,
}: IPaymentReceiveEditingPayload) => {
}: IPaymentReceivedEditingPayload) => {
// Validate the old payment date.
await this.salesLockingGuard.transactionLockingGuard(
tenantId,
@@ -475,12 +475,12 @@ export default class SalesTransactionLockingGuardSubscriber {
/**
* Transaction locking guard on payment creating.
* @param {IPaymentReceiveCreatingPayload}
* @param {IPaymentReceivedCreatingPayload}
*/
private transactionLockingGuardOnPaymentCreating = async ({
tenantId,
paymentReceiveDTO,
}: IPaymentReceiveCreatingPayload) => {
}: IPaymentReceivedCreatingPayload) => {
await this.salesLockingGuard.transactionLockingGuard(
tenantId,
paymentReceiveDTO.paymentDate
@@ -489,12 +489,12 @@ export default class SalesTransactionLockingGuardSubscriber {
/**
* Transaction locking guard on payment deleting.
* @param {IPaymentReceiveDeletingPayload} payload -
* @param {IPaymentReceivedDeletingPayload} payload -
*/
private transactionLockingGuardPaymentDeleting = async ({
oldPaymentReceive,
tenantId,
}: IPaymentReceiveDeletingPayload) => {
}: IPaymentReceivedDeletingPayload) => {
await this.salesLockingGuard.transactionLockingGuard(
tenantId,
oldPaymentReceive.paymentDate

View File

@@ -1,13 +1,13 @@
import { Service, Inject } from 'typedi';
import events from '@/subscribers/events';
import { EventSubscriber } from '@/lib/EventPublisher/EventPublisher';
import { PaymentReceiveIncrement } from '@/services/Sales/PaymentReceives/PaymentReceiveIncrement';
import { IPaymentReceiveCreatedPayload } from '@/interfaces';
import { PaymentReceivedIncrement } from '@/services/Sales/PaymentReceived/PaymentReceivedIncrement';
import { IPaymentReceivedCreatedPayload } from '@/interfaces';
@Service()
export default class PaymentReceiveAutoSerialSubscriber extends EventSubscriber {
@Inject()
private paymentIncrement: PaymentReceiveIncrement;
private paymentIncrement: PaymentReceivedIncrement;
/**
* Attaches the events with handles.
@@ -22,13 +22,13 @@ export default class PaymentReceiveAutoSerialSubscriber extends EventSubscriber
/**
* Handles increment next number of payment receive once be created.
* @param {IPaymentReceiveCreatedPayload} payload -
* @param {IPaymentReceivedCreatedPayload} payload -
*/
private handlePaymentNextNumberIncrement = async ({
tenantId,
paymentReceiveId,
trx,
}: IPaymentReceiveCreatedPayload) => {
}: IPaymentReceivedCreatedPayload) => {
await this.paymentIncrement.incrementNextPaymentReceiveNumber(tenantId);
};
}

View File

@@ -1,16 +1,16 @@
import { Inject, Service } from 'typedi';
import events from '@/subscribers/events';
import { PaymentReceiveInvoiceSync } from '@/services/Sales/PaymentReceives/PaymentReceiveInvoiceSync';
import { PaymentReceivedInvoiceSync } from '@/services/Sales/PaymentReceived/PaymentReceivedInvoiceSync';
import {
IPaymentReceiveCreatedPayload,
IPaymentReceiveDeletedPayload,
IPaymentReceiveEditedPayload,
IPaymentReceivedCreatedPayload,
IPaymentReceivedDeletedPayload,
IPaymentReceivedEditedPayload,
} from '@/interfaces';
@Service()
export default class PaymentReceiveSyncInvoicesSubscriber {
@Inject()
private paymentSyncInvoice: PaymentReceiveInvoiceSync;
private paymentSyncInvoice: PaymentReceivedInvoiceSync;
/**
* Attaches the events to handles.
@@ -39,7 +39,7 @@ export default class PaymentReceiveSyncInvoicesSubscriber {
tenantId,
paymentReceive,
trx,
}: IPaymentReceiveCreatedPayload) => {
}: IPaymentReceivedCreatedPayload) => {
await this.paymentSyncInvoice.saveChangeInvoicePaymentAmount(
tenantId,
paymentReceive.entries,
@@ -57,7 +57,7 @@ export default class PaymentReceiveSyncInvoicesSubscriber {
paymentReceive,
oldPaymentReceive,
trx,
}: IPaymentReceiveEditedPayload) => {
}: IPaymentReceivedEditedPayload) => {
await this.paymentSyncInvoice.saveChangeInvoicePaymentAmount(
tenantId,
paymentReceive.entries,
@@ -74,7 +74,7 @@ export default class PaymentReceiveSyncInvoicesSubscriber {
paymentReceiveId,
oldPaymentReceive,
trx,
}: IPaymentReceiveDeletedPayload) => {
}: IPaymentReceivedDeletedPayload) => {
await this.paymentSyncInvoice.saveChangeInvoicePaymentAmount(
tenantId,
oldPaymentReceive.entries.map((entry) => ({

View File

@@ -1,7 +1,7 @@
import { Service, Inject } from 'typedi';
import events from '@/subscribers/events';
import { PaymentReceiveNotifyBySms } from '@/services/Sales/PaymentReceives/PaymentReceiveSmsNotify';
import { IPaymentReceiveCreatedPayload } from '@/interfaces';
import { PaymentReceiveNotifyBySms } from '@/services/Sales/PaymentReceived/PaymentReceivedSmsNotify';
import { IPaymentReceivedCreatedPayload } from '@/interfaces';
import { runAfterTransaction } from '@/services/UnitOfWork/TransactionsHooks';
@Service()
@@ -26,7 +26,7 @@ export default class SendSmsNotificationPaymentReceive {
tenantId,
paymentReceiveId,
trx,
}: IPaymentReceiveCreatedPayload) => {
}: IPaymentReceivedCreatedPayload) => {
// Notify via Sms after transactions complete running.
runAfterTransaction(trx, async () => {
try {
@@ -34,7 +34,7 @@ export default class SendSmsNotificationPaymentReceive {
tenantId,
paymentReceiveId
);
} catch (error) {}
} catch (error) { }
});
};
}

View File

@@ -1,16 +1,16 @@
import { Inject, Service } from 'typedi';
import {
IPaymentReceiveCreatedPayload,
IPaymentReceiveDeletedPayload,
IPaymentReceiveEditedPayload,
IPaymentReceivedCreatedPayload,
IPaymentReceivedDeletedPayload,
IPaymentReceivedEditedPayload,
} from '@/interfaces';
import events from '@/subscribers/events';
import { PaymentReceiveGLEntries } from '@/services/Sales/PaymentReceives/PaymentReceiveGLEntries';
import { PaymentReceivedGLEntries } from '@/services/Sales/PaymentReceived/PaymentReceivedGLEntries';
@Service()
export default class PaymentReceivesWriteGLEntriesSubscriber {
@Inject()
private paymentReceiveGLEntries: PaymentReceiveGLEntries;
private paymentReceiveGLEntries: PaymentReceivedGLEntries;
/**
* Attaches events with handlers.
@@ -37,7 +37,7 @@ export default class PaymentReceivesWriteGLEntriesSubscriber {
tenantId,
paymentReceiveId,
trx,
}: IPaymentReceiveCreatedPayload) => {
}: IPaymentReceivedCreatedPayload) => {
await this.paymentReceiveGLEntries.writePaymentGLEntries(
tenantId,
paymentReceiveId,
@@ -52,7 +52,7 @@ export default class PaymentReceivesWriteGLEntriesSubscriber {
tenantId,
paymentReceive,
trx,
}: IPaymentReceiveEditedPayload) => {
}: IPaymentReceivedEditedPayload) => {
await this.paymentReceiveGLEntries.rewritePaymentGLEntries(
tenantId,
paymentReceive.id,
@@ -67,7 +67,7 @@ export default class PaymentReceivesWriteGLEntriesSubscriber {
tenantId,
paymentReceiveId,
trx,
}: IPaymentReceiveDeletedPayload) => {
}: IPaymentReceivedDeletedPayload) => {
await this.paymentReceiveGLEntries.revertPaymentGLEntries(
tenantId,
paymentReceiveId,

View File

@@ -49,7 +49,7 @@ import InvoiceExchangeRateChangeDialog from '@/containers/Sales/Invoices/Invoice
import InvoiceMailDialog from '@/containers/Sales/Invoices/InvoiceMailDialog/InvoiceMailDialog';
import EstimateMailDialog from '@/containers/Sales/Estimates/EstimateMailDialog/EstimateMailDialog';
import ReceiptMailDialog from '@/containers/Sales/Receipts/ReceiptMailDialog/ReceiptMailDialog';
import PaymentMailDialog from '@/containers/Sales/PaymentReceives/PaymentMailDialog/PaymentMailDialog';
import PaymentMailDialog from '@/containers/Sales/PaymentsReceived/PaymentMailDialog/PaymentMailDialog';
import { ExportDialog } from '@/containers/Dialogs/ExportDialog';
import { RuleFormDialog } from '@/containers/Banking/Rules/RuleFormDialog/RuleFormDialog';
import { DisconnectBankAccountDialog } from '@/containers/CashFlow/AccountTransactions/dialogs/DisconnectBankAccountDialog/DisconnectBankAccountDialog';

View File

@@ -39,7 +39,7 @@ export default function DrawersContainer() {
<InvoiceDetailDrawer name={DRAWERS.INVOICE_DETAILS} />
<EstimateDetailDrawer name={DRAWERS.ESTIMATE_DETAILS} />
<ReceiptDetailDrawer name={DRAWERS.RECEIPT_DETAILS} />
<PaymentReceiveDetailDrawer name={DRAWERS.PAYMENT_RECEIVE_DETAILS} />
<PaymentReceiveDetailDrawer name={DRAWERS.PAYMENT_RECEIVED_DETAILS} />
<PaymentMadeDetailDrawer name={DRAWERS.PAYMENT_MADE_DETAILS} />
<ItemDetailDrawer name={DRAWERS.ITEM_DETAILS} />
<CustomerDetailsDrawer name={DRAWERS.CUSTOMER_DETAILS} />

View File

@@ -6,7 +6,7 @@ export enum DRAWERS {
BILL_DETAILS = 'bill-drawer',
INVOICE_DETAILS = 'invoice-detail-drawer',
RECEIPT_DETAILS = 'receipt-detail-drawer',
PAYMENT_RECEIVE_DETAILS = 'payment-receive-detail-drawer',
PAYMENT_RECEIVED_DETAILS = 'payment-receive-detail-drawer',
PAYMENT_MADE_DETAILS = 'payment-made-drawer',
ESTIMATE_DETAILS = 'estimate-detail-drawer',
ITEM_DETAILS = 'item-detail-drawer',

View File

@@ -55,7 +55,7 @@ export const accountsReceivable = [
description: (
<T id={'manage_payment_transactions_from_your_customers'} />
),
link: '/payment-receives',
link: '/payments-received',
subject: AbilitySubject.PaymentReceive,
ability: PaymentReceiveAction.View,
},

View File

@@ -179,8 +179,8 @@ export const SidebarMenu = [
type: ISidebarMenuItemType.Link,
},
{
text: <T id={'sidebar.payment_receives'} />,
href: '/payment-receives',
text: <T id={'sidebar.payments_received'} />,
href: '/payments-received',
type: ISidebarMenuItemType.Link,
permission: {
subject: AbilitySubject.PaymentReceive,
@@ -226,8 +226,8 @@ export const SidebarMenu = [
type: ISidebarMenuItemType.Link,
},
{
text: <T id={'sidebar.new_payment_receive'} />,
href: '/payment-receives/new',
text: <T id={'sidebar.new_payment_received'} />,
href: '/payment-received/new',
type: ISidebarMenuItemType.Link,
permission: {
subject: AbilitySubject.PaymentReceive,

View File

@@ -21,7 +21,7 @@ import { DRAWERS } from '@/constants/drawers';
/**
* Payment receive delete alert.
*/
function PaymentReceiveDeleteAlert({
function PaymentReceivedDeleteAlert({
name,
// #withAlertStoreConnect
@@ -48,11 +48,11 @@ function PaymentReceiveDeleteAlert({
.then(() => {
AppToaster.show({
message: intl.get(
'the_payment_receive_has_been_deleted_successfully',
'the_payment_received_has_been_deleted_successfully',
),
intent: Intent.SUCCESS,
});
closeDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS);
closeDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS);
})
.catch(
({
@@ -81,7 +81,7 @@ function PaymentReceiveDeleteAlert({
>
<p>
<FormattedHTMLMessage
id={'once_delete_this_payment_receive_you_will_able_to_restore_it'}
id={'once_delete_this_payment_received_you_will_able_to_restore_it'}
/>
</p>
</Alert>
@@ -92,4 +92,4 @@ export default compose(
withAlertStoreConnect(),
withAlertActions,
withDrawerActions,
)(PaymentReceiveDeleteAlert);
)(PaymentReceivedDeleteAlert);

View File

@@ -6,7 +6,7 @@ import InventoryAdjustmentsAlerts from '@/containers/InventoryAdjustments/Invent
import EstimatesAlerts from '@/containers/Sales/Estimates/EstimatesAlerts';
import InvoicesAlerts from '@/containers/Sales/Invoices/InvoicesAlerts';
import ReceiptsAlerts from '@/containers/Sales/Receipts/ReceiptsAlerts';
import PaymentReceiveAlerts from '@/containers/Sales/PaymentReceives/PaymentReceiveAlerts';
import PaymentsReceivedAlerts from '@/containers/Sales/PaymentsReceived/PaymentsReceivedAlerts';
import BillsAlerts from '@/containers/Purchases/Bills/BillsLanding/BillsAlerts';
import PaymentsMadeAlerts from '@/containers/Purchases/PaymentsMade/PaymentsMadeAlerts';
import CustomersAlerts from '@/containers/Customers/CustomersAlerts';
@@ -38,7 +38,7 @@ export default [
...EstimatesAlerts,
...InvoicesAlerts,
...ReceiptsAlerts,
...PaymentReceiveAlerts,
...PaymentsReceivedAlerts,
...BillsAlerts,
...PaymentsMadeAlerts,
...CustomersAlerts,

View File

@@ -66,7 +66,7 @@ export const handleCashFlowTransactionType = (reference, openDrawer) => {
expenseId: reference.reference_id,
});
case 'PaymentReceive':
return openDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS, {
return openDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS, {
paymentReceiveId: reference.reference_id,
});
case 'BillPayment':

View File

@@ -25,7 +25,7 @@ function PaymentReceivePdfPreviewDialog({
return (
<Dialog
name={dialogName}
title={<T id={'payment_receive_preview.dialog.title'} />}
title={<T id={'payment_received_preview.dialog.title'} />}
className={classNames(CLASSES.DIALOG_PDF_PREVIEW)}
autoFocus={true}
canEscapeKeyClose={true}

View File

@@ -9,7 +9,7 @@ const Schema = Yup.object().shape({
.required()
.nullable()
.max(DATATYPES_LENGTH.STRING)
.label(intl.get('payment_receive_no_')),
.label(intl.get('payment_received_no_')),
payment_date: Yup.date().required().label(intl.get('payment_date_')),
deposit_account_id: Yup.number()
.required()

View File

@@ -70,7 +70,7 @@ function QuickPaymentReceiveForm({
// Handle request response success.
const onSaved = (response) => {
AppToaster.show({
message: intl.get('the_payment_receive_transaction_has_been_created'),
message: intl.get('the_payment_received_transaction_has_been_created'),
intent: Intent.SUCCESS,
});
closeDialog(dialogName);

View File

@@ -34,7 +34,7 @@ export const transformErrors = (errors, { setFieldError }) => {
if (getError('PAYMENT_RECEIVE_NO_REQUIRED')) {
setFieldError(
'payment_receive_no',
intl.get('payment_receive_number_required'),
intl.get('payment_received_number_required'),
);
}
if (getError('INVALID_PAYMENT_AMOUNT')) {

View File

@@ -68,7 +68,7 @@ function CustomerDetailsActionsBar({
};
// Handle new payment receive button click.
const handleNewPaymentClick = () => {
history.push('/payment-receives/new');
history.push('/payment-received/new');
closeDrawer(DRAWERS.CUSTOMER_DETAILS);
};
// Handle new estimate button click.

View File

@@ -47,14 +47,14 @@ function InvoicePaymentTransactionsTable({
// Handles delete payment transactions.
const handleDeletePaymentTransactons = ({ payment_receive_id }) => {
openAlert('payment-receive-delete', {
openAlert('payment-received-delete', {
paymentReceiveId: payment_receive_id,
});
};
// Handles edit payment transactions.
const handleEditPaymentTransactions = ({ payment_receive_id }) => {
history.push(`/payment-receives/${payment_receive_id}/edit`);
history.push(`/payments-received/${payment_receive_id}/edit`);
closeDrawer(DRAWERS.INVOICE_DETAILS);
};
return (

View File

@@ -33,7 +33,7 @@ import { DialogsName } from '@/constants/dialogs';
/**
* Payment receive actions bar.
*/
function PaymentReceiveActionsBar({
function PaymentsReceivedActionsBar({
// #withAlertsActions
openAlert,
@@ -50,13 +50,13 @@ function PaymentReceiveActionsBar({
// Handle edit payment receive.
const handleEditPaymentReceive = () => {
history.push(`/payment-receives/${paymentReceiveId}/edit`);
closeDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS);
history.push(`/payments-received/${paymentReceiveId}/edit`);
closeDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS);
};
// Handle delete payment receive.
const handleDeletePaymentReceive = () => {
openAlert('payment-receive-delete', { paymentReceiveId });
openAlert('payment-received-delete', { paymentReceiveId });
};
// Handle notify via SMS.
@@ -80,7 +80,7 @@ function PaymentReceiveActionsBar({
<Button
className={Classes.MINIMAL}
icon={<Icon icon="pen-18" />}
text={<T id={'edit_payment_receive'} />}
text={<T id={'edit_payment_received'} />}
onClick={handleEditPaymentReceive}
/>
<NavbarDivider />
@@ -129,4 +129,4 @@ export default compose(
withDialogActions,
withDrawerActions,
withAlertsActions,
)(PaymentReceiveActionsBar);
)(PaymentsReceivedActionsBar);

View File

@@ -35,13 +35,13 @@ function PaymentReceiveDetailProvider({ paymentReceiveId, ...props }) {
return (
<DrawerLoading loading={isPaymentLoading}>
<DrawerHeaderContent
name={DRAWERS.PAYMENT_RECEIVE_DETAILS}
title={intl.get('payment_receive.drawer.title', {
name={DRAWERS.PAYMENT_RECEIVED_DETAILS}
title={intl.get('payment_received.drawer.title', {
number: paymentReceive.payment_receive_no,
})}
subTitle={
featureCan(Features.Branches)
? intl.get('payment_receive.drawer.subtitle', {
? intl.get('payment_received.drawer.subtitle', {
value: paymentReceive.branch?.name,
})
: null

View File

@@ -1,13 +0,0 @@
// @ts-nocheck
import React from 'react';
const PaymentReceiveDeleteAlert = React.lazy(
() => import('@/containers/Alerts/PaymentReceives/PaymentReceiveDeleteAlert'),
);
/**
* PaymentReceives alert.
*/
export default [
{ name: 'payment-receive-delete', component: PaymentReceiveDeleteAlert },
];

View File

@@ -58,7 +58,7 @@ export function PaymentMailDialogFormRoot({
// Redirects to payments list if the option is enabled.
if (redirectToPaymentsList) {
history.push('/payment-receives');
history.push('/payments-received');
}
})
.catch(() => {

View File

@@ -13,7 +13,7 @@ const Schema = Yup.object().shape({
payment_receive_no: Yup.string()
.nullable()
.max(DATATYPES_LENGTH.STRING)
.label(intl.get('payment_receive_no_')),
.label(intl.get('payment_received_no_')),
reference_no: Yup.string().min(1).max(DATATYPES_LENGTH.STRING).nullable(),
// statement: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT),
branch_id: Yup.string(),

View File

@@ -1,6 +1,6 @@
// @ts-nocheck
import React, { useMemo, useRef } from 'react';
import { sumBy, isEmpty, defaultTo } from 'lodash';
import React, { useMemo } from 'react';
import { isEmpty, defaultTo } from 'lodash';
import intl from 'react-intl-universal';
import classNames from 'classnames';
import { Formik, Form } from 'formik';
@@ -133,14 +133,14 @@ function PaymentReceiveForm({
AppToaster.show({
message: intl.get(
paymentReceiveId
? 'the_payment_receive_transaction_has_been_edited'
: 'the_payment_receive_transaction_has_been_created',
? 'the_payment_received_transaction_has_been_edited'
: 'the_payment_received_transaction_has_been_created',
),
intent: Intent.SUCCESS,
});
if (submitPayload.redirect) {
history.push('/payment-receives');
history.push('/payments-received');
}
if (submitPayload.resetForm) {
resetFormState({ resetForm, initialValues, values });

View File

@@ -1,7 +1,7 @@
// @ts-nocheck
import React from 'react';
import { useFormikContext } from 'formik';
import ClearingAllLinesAlert from '@/containers/Alerts/PaymentReceives/ClearingAllLinesAlert';
import ClearingAllLinesAlert from '@/containers/Alerts/PaymentReceived/ClearingAllLinesAlert';
import { clearAllPaymentEntries } from './utils';
/**

View File

@@ -64,7 +64,7 @@ export const PaymentReceivePaymentNoField = R.compose(
return (
<FFormGroup
name={'payment_receive_no'}
label={<T id={'payment_receive_no'} />}
label={<T id={'payment_received_no'} />}
inline={true}
labelInfo={<FieldRequiredHint />}
>

View File

@@ -204,7 +204,7 @@ export const transformErrors = (errors, { setFieldError }) => {
if (getError('PAYMENT_RECEIVE_NO_REQUIRED')) {
setFieldError(
'payment_receive_no',
intl.get('payment_receive.field.error.payment_receive_no_required'),
intl.get('payment_received.field.error.payment_receive_no_required'),
);
}
if (getError('PAYMENT_ACCOUNT_CURRENCY_INVALID')) {

View File

@@ -8,9 +8,9 @@ import {
AbilitySubject,
PaymentReceiveAction,
} from '@/constants/abilityOption';
import withDrawerActions from '@/containers/Drawer/withDrawerActions';
import { highlightText } from '@/utils';
import { Icon } from '@/components';
import withDrawerActions from '@/containers/Drawer/withDrawerActions';
import { DRAWERS } from '@/constants/drawers';
/**
@@ -25,7 +25,7 @@ function PaymentReceiveUniversalSearchSelectComponent({
openDrawer,
}) {
if (resourceType === RESOURCES_TYPES.PAYMENT_RECEIVE) {
openDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS, {
openDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS, {
paymentReceiveId: resourceId,
});
}
@@ -80,7 +80,7 @@ const paymentReceivesToSearch = (payment) => ({
*/
export const universalSearchPaymentReceiveBind = () => ({
resourceType: RESOURCES_TYPES.PAYMENT_RECEIVE,
optionItemLabel: intl.get('payment_receives'),
optionItemLabel: intl.get('payment_received'),
selectItemAction: PaymentReceiveUniversalSearchSelect,
itemRenderer: PaymentReceiveUniversalSearchItem,
itemSelect: paymentReceivesToSearch,

View File

@@ -10,12 +10,12 @@ import {
} from '@/hooks/query';
import { getFieldsFromResourceMeta } from '@/utils';
const PaymentReceivesListContext = createContext();
const PaymentsReceivedListContext = createContext();
/**
* Payment receives data provider.
*/
function PaymentReceivesListProvider({ query, tableStateChanged, ...props }) {
function PaymentsReceivedListProvider({ query, tableStateChanged, ...props }) {
// Fetch accounts resource views and fields.
const { data: paymentReceivesViews, isFetching: isViewsLoading } =
useResourceViews('payment_receives');
@@ -60,12 +60,12 @@ function PaymentReceivesListProvider({ query, tableStateChanged, ...props }) {
loading={isViewsLoading || isResourceLoading}
name={'payment_receives'}
>
<PaymentReceivesListContext.Provider value={provider} {...props} />
<PaymentsReceivedListContext.Provider value={provider} {...props} />
</DashboardInsider>
);
}
const usePaymentReceivesListContext = () =>
React.useContext(PaymentReceivesListContext);
const usePaymentsReceivedListContext = () =>
React.useContext(PaymentsReceivedListContext);
export { PaymentReceivesListProvider, usePaymentReceivesListContext };
export { PaymentsReceivedListProvider, usePaymentsReceivedListContext };

View File

@@ -22,8 +22,8 @@ import {
DashboardActionsBar,
} from '@/components';
import withPaymentReceives from './withPaymentReceives';
import withPaymentReceivesActions from './withPaymentReceivesActions';
import withPaymentsReceived from './withPaymentsReceived';
import withPaymentsReceivedActions from './withPaymentsReceivedActions';
import withSettings from '@/containers/Settings/withSettings';
import withSettingsActions from '@/containers/Settings/withSettingsActions';
import withDialogActions from '@/containers/Dialog/withDialogActions';
@@ -32,7 +32,7 @@ import {
AbilitySubject,
} from '@/constants/abilityOption';
import { usePaymentReceivesListContext } from './PaymentReceiptsListProvider';
import { usePaymentsReceivedListContext } from './PaymentsReceivedListProvider';
import { useRefreshPaymentReceive } from '@/hooks/query/paymentReceives';
import { useDownloadExportPdf } from '@/hooks/query/FinancialReports/use-export-pdf';
@@ -42,11 +42,11 @@ import { DialogsName } from '@/constants/dialogs';
/**
* Payment receives actions bar.
*/
function PaymentReceiveActionsBar({
// #withPaymentReceivesActions
function PaymentsReceivedActionsBar({
// #withPaymentsReceivedActions
setPaymentReceivesTableState,
// #withPaymentReceives
// #withPaymentsReceived
paymentFilterConditions,
// #withSettings
@@ -62,14 +62,14 @@ function PaymentReceiveActionsBar({
const history = useHistory();
// Payment receives list context.
const { paymentReceivesViews, fields } = usePaymentReceivesListContext();
const { paymentReceivesViews, fields } = usePaymentsReceivedListContext();
// Exports pdf document.
const { downloadAsync: downloadExportPdf } = useDownloadExportPdf();
// Handle new payment button click.
const handleClickNewPaymentReceive = () => {
history.push('/payment-receives/new');
history.push('/payment-received/new');
};
// Payment receive refresh action.
@@ -91,7 +91,7 @@ function PaymentReceiveActionsBar({
};
// Handle the import button click.
const handleImportBtnClick = () => {
history.push('/payment-receives/import');
history.push('/payments-received/import');
};
// Handle the export button click.
const handleExportBtnClick = () => {
@@ -115,7 +115,7 @@ function PaymentReceiveActionsBar({
<Button
className={Classes.MINIMAL}
icon={<Icon icon={'plus'} />}
text={<T id={'new_payment_receive'} />}
text={<T id={'new_payment_received'} />}
onClick={handleClickNewPaymentReceive}
/>
</Can>
@@ -181,9 +181,9 @@ function PaymentReceiveActionsBar({
}
export default compose(
withPaymentReceivesActions,
withPaymentsReceivedActions,
withSettingsActions,
withPaymentReceives(({ paymentReceivesTableState }) => ({
withPaymentsReceived(({ paymentReceivesTableState }) => ({
paymentReceivesTableState,
paymentFilterConditions: paymentReceivesTableState.filterRoles,
})),
@@ -191,4 +191,4 @@ export default compose(
paymentReceivesTableSize: paymentReceiveSettings?.tableSize,
})),
withDialogActions,
)(PaymentReceiveActionsBar);
)(PaymentsReceivedActionsBar);

View File

@@ -6,7 +6,7 @@ import { EmptyStatus } from '@/components';
import { Can, FormattedMessage as T } from '@/components';
import { PaymentReceiveAction, AbilitySubject } from '@/constants/abilityOption';
export default function PaymentReceivesEmptyStatus() {
export default function PaymentsReceivedEmptyStatus() {
const history = useHistory();
return (
@@ -29,10 +29,10 @@ export default function PaymentReceivesEmptyStatus() {
intent={Intent.PRIMARY}
large={true}
onClick={() => {
history.push('/payment-receives/new');
history.push('/payment-received/new');
}}
>
<T id={'new_payment_receive'} />
<T id={'new_payment_received'} />
</Button>
<Button intent={Intent.NONE} large={true}>

View File

@@ -4,24 +4,21 @@ import React from 'react';
import '@/style/pages/PaymentReceive/List.scss';
import { DashboardPageContent } from '@/components';
import { PaymentReceivesListProvider } from './PaymentReceiptsListProvider';
import PaymentReceivesTable from './PaymentReceivesTable';
import PaymentReceiveActionsBar from './PaymentReceiveActionsBar';
import { PaymentsReceivedListProvider } from './PaymentsReceivedListProvider';
import PaymentReceivesTable from './PaymentsReceivedTable';
import PaymentsReceivedActionsBar from './PaymentsReceivedActionsBar';
import withPaymentReceives from './withPaymentReceives';
import withPaymentReceivesActions from './withPaymentReceivesActions';
import withPaymentsReceived from './withPaymentsReceived';
import withPaymentsReceivedActions from './withPaymentsReceivedActions';
import { compose, transformTableStateToQuery } from '@/utils';
/**
* Payment receives list.
*/
function PaymentReceiveList({
// #withPaymentReceives
function PaymentsReceivedList({
// #withPaymentsReceived
paymentReceivesTableState,
paymentsTableStateChanged,
// #withPaymentReceivesActions
// #withPaymentsReceivedActions
resetPaymentReceivesTableState,
}) {
// Resets the payment receives table state once the page unmount.
@@ -33,25 +30,25 @@ function PaymentReceiveList({
);
return (
<PaymentReceivesListProvider
<PaymentsReceivedListProvider
query={transformTableStateToQuery(paymentReceivesTableState)}
tableStateChanged={paymentsTableStateChanged}
>
<PaymentReceiveActionsBar />
<PaymentsReceivedActionsBar />
<DashboardPageContent>
<PaymentReceivesTable />
</DashboardPageContent>
</PaymentReceivesListProvider>
</PaymentsReceivedListProvider>
);
}
export default compose(
withPaymentReceives(
withPaymentsReceived(
({ paymentReceivesTableState, paymentsTableStateChanged }) => ({
paymentReceivesTableState,
paymentsTableStateChanged,
}),
),
withPaymentReceivesActions,
)(PaymentReceiveList);
withPaymentsReceivedActions,
)(PaymentsReceivedList);

View File

@@ -10,12 +10,12 @@ import {
} from '@/hooks/query';
import { getFieldsFromResourceMeta } from '@/utils';
const PaymentReceivesListContext = createContext();
const PaymentsReceivedListContext = createContext();
/**
* Payment receives list data provider.
*/
function PaymentReceivesListProvider({ query, tableStateChanged, ...props }) {
function PaymentsReceivedListProvider({ query, tableStateChanged, ...props }) {
// Fetch payment receives resource views and fields.
const { data: paymentReceivesViews, isLoading: isViewsLoading } =
useResourceViews('payment_receives');
@@ -61,12 +61,12 @@ function PaymentReceivesListProvider({ query, tableStateChanged, ...props }) {
loading={isViewsLoading || isResourceLoading}
name={'payment-receives-list'}
>
<PaymentReceivesListContext.Provider value={state} {...props} />
<PaymentsReceivedListContext.Provider value={state} {...props} />
</DashboardInsider>
);
}
const usePaymentReceivesListContext = () =>
useContext(PaymentReceivesListContext);
const usePaymentsReceivedListContext = () =>
useContext(PaymentsReceivedListContext);
export { PaymentReceivesListProvider, usePaymentReceivesListContext };
export { PaymentsReceivedListProvider, usePaymentsReceivedListContext };

View File

@@ -11,17 +11,17 @@ import {
TableSkeletonHeader,
} from '@/components';
import PaymentReceivesEmptyStatus from './PaymentReceivesEmptyStatus';
import PaymentReceivesEmptyStatus from './PaymentsReceivedEmptyStatus';
import withPaymentReceives from './withPaymentReceives';
import withPaymentReceivesActions from './withPaymentReceivesActions';
import withPaymentsReceived from './withPaymentsReceived';
import withPaymentsReceivedActions from './withPaymentsReceivedActions';
import withAlertsActions from '@/containers/Alert/withAlertActions';
import withDrawerActions from '@/containers/Drawer/withDrawerActions';
import withDialogActions from '@/containers/Dialog/withDialogActions';
import withSettings from '@/containers/Settings/withSettings';
import { usePaymentReceivesColumns, ActionsMenu } from './components';
import { usePaymentReceivesListContext } from './PaymentReceiptsListProvider';
import { usePaymentsReceivedListContext } from './PaymentsReceivedListProvider';
import { useMemorizedColumnsWidths } from '@/hooks';
import { DRAWERS } from '@/constants/drawers';
import { DialogsName } from '@/constants/dialogs';
@@ -29,8 +29,8 @@ import { DialogsName } from '@/constants/dialogs';
/**
* Payment receives datatable.
*/
function PaymentReceivesDataTable({
// #withPaymentReceivesActions
function PaymentsReceivedDataTable({
// #withPaymentsReceivedActions
setPaymentReceivesTableState,
// #withAlertsActions
@@ -55,24 +55,24 @@ function PaymentReceivesDataTable({
isPaymentReceivesLoading,
isPaymentReceivesFetching,
isEmptyStatus,
} = usePaymentReceivesListContext();
} = usePaymentsReceivedListContext();
// Payment receives columns.
const columns = usePaymentReceivesColumns();
// Handles edit payment receive.
const handleEditPaymentReceive = ({ id }) => {
history.push(`/payment-receives/${id}/edit`);
history.push(`/payments-received/${id}/edit`);
};
// Handles delete payment receive.
const handleDeletePaymentReceive = ({ id }) => {
openAlert('payment-receive-delete', { paymentReceiveId: id });
openAlert('payment-received-delete', { paymentReceiveId: id });
};
// Handle view detail payment receive..
const handleViewDetailPaymentReceive = ({ id }) => {
openDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS, { paymentReceiveId: id });
openDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS, { paymentReceiveId: id });
};
// Handle mail send payment receive.
@@ -82,7 +82,7 @@ function PaymentReceivesDataTable({
// Handle cell click.
const handleCellClick = (cell, event) => {
openDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS, {
openDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS, {
paymentReceiveId: cell.row.original.id,
});
};
@@ -144,14 +144,14 @@ function PaymentReceivesDataTable({
}
export default compose(
withPaymentReceivesActions,
withPaymentsReceivedActions,
withAlertsActions,
withDrawerActions,
withDialogActions,
withPaymentReceives(({ paymentReceivesTableState }) => ({
withPaymentsReceived(({ paymentReceivesTableState }) => ({
paymentReceivesTableState,
})),
withSettings(({ paymentReceiveSettings }) => ({
paymentReceivesTableSize: paymentReceiveSettings?.tableSize,
})),
)(PaymentReceivesDataTable);
)(PaymentsReceivedDataTable);

View File

@@ -5,24 +5,24 @@ import { Alignment, Navbar, NavbarGroup } from '@blueprintjs/core';
import { FormattedMessage as T, DashboardViewsTabs } from '@/components';
import { pick } from 'lodash';
import withPaymentReceives from './withPaymentReceives';
import withPaymentReceivesActions from './withPaymentReceivesActions';
import { usePaymentReceivesListContext } from './PaymentReceiptsListProvider';
import withPaymentsReceived from './withPaymentsReceived';
import withPaymentsReceivedActions from './withPaymentsReceivedActions';
import { usePaymentsReceivedListContext } from './PaymentsReceivedListProvider';
import { compose } from '@/utils';
/**
* Payment receive view tabs.
*/
function PaymentReceiveViewTabs({
// #withPaymentReceivesActions
function PaymentsReceivedViewTabs({
// #withPaymentsReceivedActions
addPaymentReceivesTableQueries,
// #withPaymentReceives
// #withPaymentsReceived
paymentReceivesTableState,
}) {
const history = useHistory();
const { paymentReceivesViews, ...res } = usePaymentReceivesListContext();
const { paymentReceivesViews, ...res } = usePaymentsReceivedListContext();
const tabs = paymentReceivesViews.map((view) => ({
...pick(view, ['name', 'id']),
@@ -30,7 +30,7 @@ function PaymentReceiveViewTabs({
// Handles click a new view tab.
const handleClickNewView = () => {
history.push('/custom_views/payment-receives/new');
history.push('/custom_views/payment-received/new');
};
// Handles the active tab chaing.
@@ -56,8 +56,8 @@ function PaymentReceiveViewTabs({
}
export default compose(
withPaymentReceivesActions,
withPaymentReceives(({ paymentReceivesTableState }) => ({
withPaymentsReceivedActions,
withPaymentsReceived(({ paymentReceivesTableState }) => ({
paymentReceivesTableState,
})),
)(PaymentReceiveViewTabs);
)(PaymentsReceivedViewTabs);

Some files were not shown because too many files have changed in this diff Show More