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

View File

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

View File

@@ -34,4 +34,4 @@
// import 'services/Sales/SaleInvoiceWriteoffSubscriber'; // import 'services/Sales/SaleInvoiceWriteoffSubscriber';
// import 'subscribers/SaleInvoices/SendSmsNotificationToCustomer'; // import 'subscribers/SaleInvoices/SendSmsNotificationToCustomer';
// import 'subscribers/SaleReceipt/SendNotificationToCustomer'; // 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 { SendSaleInvoiceReminderMailJob } from '@/services/Sales/Invoices/SendSaleInvoiceMailReminderJob';
import { SendSaleEstimateMailJob } from '@/services/Sales/Estimates/SendSaleEstimateMailJob'; import { SendSaleEstimateMailJob } from '@/services/Sales/Estimates/SendSaleEstimateMailJob';
import { SaleReceiptMailNotificationJob } from '@/services/Sales/Receipts/SaleReceiptMailNotificationJob'; 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 { PlaidFetchTransactionsJob } from '@/services/Banking/Plaid/PlaidFetchTransactionsJob';
import { ImportDeleteExpiredFilesJobs } from '@/services/Import/jobs/ImportDeleteExpiredFilesJob'; import { ImportDeleteExpiredFilesJobs } from '@/services/Import/jobs/ImportDeleteExpiredFilesJob';
import { SendVerifyMailJob } from '@/services/Authentication/jobs/SendVerifyMailJob'; import { SendVerifyMailJob } from '@/services/Authentication/jobs/SendVerifyMailJob';
@@ -28,7 +28,7 @@ export default ({ agenda }: { agenda: Agenda }) => {
new SendSaleInvoiceReminderMailJob(agenda); new SendSaleInvoiceReminderMailJob(agenda);
new SendSaleEstimateMailJob(agenda); new SendSaleEstimateMailJob(agenda);
new SaleReceiptMailNotificationJob(agenda); new SaleReceiptMailNotificationJob(agenda);
new PaymentReceiveMailNotificationJob(agenda); new PaymentReceivedMailNotificationJob(agenda);
new PlaidFetchTransactionsJob(agenda); new PlaidFetchTransactionsJob(agenda);
new ImportDeleteExpiredFilesJobs(agenda); new ImportDeleteExpiredFilesJobs(agenda);
new SendVerifyMailJob(agenda); new SendVerifyMailJob(agenda);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -9,7 +9,7 @@ import { SaleInvoicesExportable } from '../Sales/Invoices/SaleInvoicesExportable
import { SaleEstimatesExportable } from '../Sales/Estimates/SaleEstimatesExportable'; import { SaleEstimatesExportable } from '../Sales/Estimates/SaleEstimatesExportable';
import { SaleReceiptsExportable } from '../Sales/Receipts/SaleReceiptsExportable'; import { SaleReceiptsExportable } from '../Sales/Receipts/SaleReceiptsExportable';
import { BillsExportable } from '../Purchases/Bills/BillsExportable'; 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 { BillPaymentExportable } from '../Purchases/BillPayments/BillPaymentExportable';
import { ManualJournalsExportable } from '../ManualJournals/ManualJournalExportable'; import { ManualJournalsExportable } from '../ManualJournals/ManualJournalExportable';
import { CreditNotesExportable } from '../CreditNotes/CreditNotesExportable'; import { CreditNotesExportable } from '../CreditNotes/CreditNotesExportable';

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,8 +1,7 @@
import { Container } from 'typedi'; import { Container } from 'typedi';
import { On, EventSubscriber } from 'event-dispatch'; import { On, EventSubscriber } from 'event-dispatch';
import events from '@/subscribers/events'; import events from '@/subscribers/events';
import SaleReceiptNotifyBySms from '@/services/Sales/SaleReceiptNotifyBySms'; import { PaymentReceiveNotifyBySms } from './PaymentReceivedSmsNotify';
import PaymentReceiveNotifyBySms from './PaymentReceiveSmsNotify';
@EventSubscriber() @EventSubscriber()
export default class SendSmsNotificationPaymentReceive { 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 { Transformer } from '@/lib/Transformer/Transformer';
import { formatNumber } from 'utils'; import { formatNumber } from 'utils';
import { PaymentReceiveEntryTransfromer } from './PaymentReceiveEntryTransformer'; import { PaymentReceivedEntryTransfromer } from './PaymentReceivedEntryTransformer';
export class PaymentReceiveTransfromer extends Transformer { export class PaymentReceiveTransfromer extends Transformer {
/** /**
@@ -24,25 +24,25 @@ export class PaymentReceiveTransfromer extends Transformer {
* @param {ISaleInvoice} invoice * @param {ISaleInvoice} invoice
* @returns {String} * @returns {String}
*/ */
protected formattedPaymentDate = (payment: IPaymentReceive): string => { protected formattedPaymentDate = (payment: IPaymentReceived): string => {
return this.formatDate(payment.paymentDate); return this.formatDate(payment.paymentDate);
}; };
/** /**
* Retrieves the formatted created at date. * Retrieves the formatted created at date.
* @param {IPaymentReceive} payment * @param {IPaymentReceived} payment
* @returns {string} * @returns {string}
*/ */
protected formattedCreatedAt = (payment: IPaymentReceive): string => { protected formattedCreatedAt = (payment: IPaymentReceived): string => {
return this.formatDate(payment.createdAt); return this.formatDate(payment.createdAt);
}; };
/** /**
* Retrieve the formatted payment subtotal. * Retrieve the formatted payment subtotal.
* @param {IPaymentReceive} payment * @param {IPaymentReceived} payment
* @returns {string} * @returns {string}
*/ */
protected subtotalFormatted = (payment: IPaymentReceive): string => { protected subtotalFormatted = (payment: IPaymentReceived): string => {
return formatNumber(payment.amount, { return formatNumber(payment.amount, {
currencyCode: payment.currencyCode, currencyCode: payment.currencyCode,
money: false, money: false,
@@ -54,25 +54,25 @@ export class PaymentReceiveTransfromer extends Transformer {
* @param {ISaleInvoice} invoice * @param {ISaleInvoice} invoice
* @returns {string} * @returns {string}
*/ */
protected formattedAmount = (payment: IPaymentReceive): string => { protected formattedAmount = (payment: IPaymentReceived): string => {
return formatNumber(payment.amount, { currencyCode: payment.currencyCode }); return formatNumber(payment.amount, { currencyCode: payment.currencyCode });
}; };
/** /**
* Retrieve the formatted exchange rate. * Retrieve the formatted exchange rate.
* @param {IPaymentReceive} payment * @param {IPaymentReceived} payment
* @returns {string} * @returns {string}
*/ */
protected formattedExchangeRate = (payment: IPaymentReceive): string => { protected formattedExchangeRate = (payment: IPaymentReceived): string => {
return formatNumber(payment.exchangeRate, { money: false }); return formatNumber(payment.exchangeRate, { money: false });
}; };
/** /**
* Retrieves the payment entries. * Retrieves the payment entries.
* @param {IPaymentReceive} payment * @param {IPaymentReceived} payment
* @returns {IPaymentReceiveEntry[]} * @returns {IPaymentReceivedEntry[]}
*/ */
protected entries = (payment: IPaymentReceive): IPaymentReceiveEntry[] => { protected entries = (payment: IPaymentReceived): IPaymentReceivedEntry[] => {
return this.item(payment.entries, new PaymentReceiveEntryTransfromer()); return this.item(payment.entries, new PaymentReceivedEntryTransfromer());
}; };
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -49,7 +49,7 @@ import InvoiceExchangeRateChangeDialog from '@/containers/Sales/Invoices/Invoice
import InvoiceMailDialog from '@/containers/Sales/Invoices/InvoiceMailDialog/InvoiceMailDialog'; import InvoiceMailDialog from '@/containers/Sales/Invoices/InvoiceMailDialog/InvoiceMailDialog';
import EstimateMailDialog from '@/containers/Sales/Estimates/EstimateMailDialog/EstimateMailDialog'; import EstimateMailDialog from '@/containers/Sales/Estimates/EstimateMailDialog/EstimateMailDialog';
import ReceiptMailDialog from '@/containers/Sales/Receipts/ReceiptMailDialog/ReceiptMailDialog'; 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 { ExportDialog } from '@/containers/Dialogs/ExportDialog';
import { RuleFormDialog } from '@/containers/Banking/Rules/RuleFormDialog/RuleFormDialog'; import { RuleFormDialog } from '@/containers/Banking/Rules/RuleFormDialog/RuleFormDialog';
import { DisconnectBankAccountDialog } from '@/containers/CashFlow/AccountTransactions/dialogs/DisconnectBankAccountDialog/DisconnectBankAccountDialog'; import { DisconnectBankAccountDialog } from '@/containers/CashFlow/AccountTransactions/dialogs/DisconnectBankAccountDialog/DisconnectBankAccountDialog';

View File

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

View File

@@ -6,7 +6,7 @@ export enum DRAWERS {
BILL_DETAILS = 'bill-drawer', BILL_DETAILS = 'bill-drawer',
INVOICE_DETAILS = 'invoice-detail-drawer', INVOICE_DETAILS = 'invoice-detail-drawer',
RECEIPT_DETAILS = 'receipt-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', PAYMENT_MADE_DETAILS = 'payment-made-drawer',
ESTIMATE_DETAILS = 'estimate-detail-drawer', ESTIMATE_DETAILS = 'estimate-detail-drawer',
ITEM_DETAILS = 'item-detail-drawer', ITEM_DETAILS = 'item-detail-drawer',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -9,7 +9,7 @@ const Schema = Yup.object().shape({
.required() .required()
.nullable() .nullable()
.max(DATATYPES_LENGTH.STRING) .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_')), payment_date: Yup.date().required().label(intl.get('payment_date_')),
deposit_account_id: Yup.number() deposit_account_id: Yup.number()
.required() .required()

View File

@@ -70,7 +70,7 @@ function QuickPaymentReceiveForm({
// Handle request response success. // Handle request response success.
const onSaved = (response) => { const onSaved = (response) => {
AppToaster.show({ 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, intent: Intent.SUCCESS,
}); });
closeDialog(dialogName); closeDialog(dialogName);

View File

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

View File

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

View File

@@ -47,14 +47,14 @@ function InvoicePaymentTransactionsTable({
// Handles delete payment transactions. // Handles delete payment transactions.
const handleDeletePaymentTransactons = ({ payment_receive_id }) => { const handleDeletePaymentTransactons = ({ payment_receive_id }) => {
openAlert('payment-receive-delete', { openAlert('payment-received-delete', {
paymentReceiveId: payment_receive_id, paymentReceiveId: payment_receive_id,
}); });
}; };
// Handles edit payment transactions. // Handles edit payment transactions.
const handleEditPaymentTransactions = ({ payment_receive_id }) => { 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); closeDrawer(DRAWERS.INVOICE_DETAILS);
}; };
return ( return (

View File

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

View File

@@ -35,13 +35,13 @@ function PaymentReceiveDetailProvider({ paymentReceiveId, ...props }) {
return ( return (
<DrawerLoading loading={isPaymentLoading}> <DrawerLoading loading={isPaymentLoading}>
<DrawerHeaderContent <DrawerHeaderContent
name={DRAWERS.PAYMENT_RECEIVE_DETAILS} name={DRAWERS.PAYMENT_RECEIVED_DETAILS}
title={intl.get('payment_receive.drawer.title', { title={intl.get('payment_received.drawer.title', {
number: paymentReceive.payment_receive_no, number: paymentReceive.payment_receive_no,
})} })}
subTitle={ subTitle={
featureCan(Features.Branches) featureCan(Features.Branches)
? intl.get('payment_receive.drawer.subtitle', { ? intl.get('payment_received.drawer.subtitle', {
value: paymentReceive.branch?.name, value: paymentReceive.branch?.name,
}) })
: null : 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. // Redirects to payments list if the option is enabled.
if (redirectToPaymentsList) { if (redirectToPaymentsList) {
history.push('/payment-receives'); history.push('/payments-received');
} }
}) })
.catch(() => { .catch(() => {

View File

@@ -13,7 +13,7 @@ const Schema = Yup.object().shape({
payment_receive_no: Yup.string() payment_receive_no: Yup.string()
.nullable() .nullable()
.max(DATATYPES_LENGTH.STRING) .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(), reference_no: Yup.string().min(1).max(DATATYPES_LENGTH.STRING).nullable(),
// statement: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT), // statement: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT),
branch_id: Yup.string(), branch_id: Yup.string(),

View File

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

View File

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

View File

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

View File

@@ -204,7 +204,7 @@ export const transformErrors = (errors, { setFieldError }) => {
if (getError('PAYMENT_RECEIVE_NO_REQUIRED')) { if (getError('PAYMENT_RECEIVE_NO_REQUIRED')) {
setFieldError( setFieldError(
'payment_receive_no', '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')) { if (getError('PAYMENT_ACCOUNT_CURRENCY_INVALID')) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -11,17 +11,17 @@ import {
TableSkeletonHeader, TableSkeletonHeader,
} from '@/components'; } from '@/components';
import PaymentReceivesEmptyStatus from './PaymentReceivesEmptyStatus'; import PaymentReceivesEmptyStatus from './PaymentsReceivedEmptyStatus';
import withPaymentReceives from './withPaymentReceives'; import withPaymentsReceived from './withPaymentsReceived';
import withPaymentReceivesActions from './withPaymentReceivesActions'; import withPaymentsReceivedActions from './withPaymentsReceivedActions';
import withAlertsActions from '@/containers/Alert/withAlertActions'; import withAlertsActions from '@/containers/Alert/withAlertActions';
import withDrawerActions from '@/containers/Drawer/withDrawerActions'; import withDrawerActions from '@/containers/Drawer/withDrawerActions';
import withDialogActions from '@/containers/Dialog/withDialogActions'; import withDialogActions from '@/containers/Dialog/withDialogActions';
import withSettings from '@/containers/Settings/withSettings'; import withSettings from '@/containers/Settings/withSettings';
import { usePaymentReceivesColumns, ActionsMenu } from './components'; import { usePaymentReceivesColumns, ActionsMenu } from './components';
import { usePaymentReceivesListContext } from './PaymentReceiptsListProvider'; import { usePaymentsReceivedListContext } from './PaymentsReceivedListProvider';
import { useMemorizedColumnsWidths } from '@/hooks'; import { useMemorizedColumnsWidths } from '@/hooks';
import { DRAWERS } from '@/constants/drawers'; import { DRAWERS } from '@/constants/drawers';
import { DialogsName } from '@/constants/dialogs'; import { DialogsName } from '@/constants/dialogs';
@@ -29,8 +29,8 @@ import { DialogsName } from '@/constants/dialogs';
/** /**
* Payment receives datatable. * Payment receives datatable.
*/ */
function PaymentReceivesDataTable({ function PaymentsReceivedDataTable({
// #withPaymentReceivesActions // #withPaymentsReceivedActions
setPaymentReceivesTableState, setPaymentReceivesTableState,
// #withAlertsActions // #withAlertsActions
@@ -55,24 +55,24 @@ function PaymentReceivesDataTable({
isPaymentReceivesLoading, isPaymentReceivesLoading,
isPaymentReceivesFetching, isPaymentReceivesFetching,
isEmptyStatus, isEmptyStatus,
} = usePaymentReceivesListContext(); } = usePaymentsReceivedListContext();
// Payment receives columns. // Payment receives columns.
const columns = usePaymentReceivesColumns(); const columns = usePaymentReceivesColumns();
// Handles edit payment receive. // Handles edit payment receive.
const handleEditPaymentReceive = ({ id }) => { const handleEditPaymentReceive = ({ id }) => {
history.push(`/payment-receives/${id}/edit`); history.push(`/payments-received/${id}/edit`);
}; };
// Handles delete payment receive. // Handles delete payment receive.
const handleDeletePaymentReceive = ({ id }) => { const handleDeletePaymentReceive = ({ id }) => {
openAlert('payment-receive-delete', { paymentReceiveId: id }); openAlert('payment-received-delete', { paymentReceiveId: id });
}; };
// Handle view detail payment receive.. // Handle view detail payment receive..
const handleViewDetailPaymentReceive = ({ id }) => { const handleViewDetailPaymentReceive = ({ id }) => {
openDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS, { paymentReceiveId: id }); openDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS, { paymentReceiveId: id });
}; };
// Handle mail send payment receive. // Handle mail send payment receive.
@@ -82,7 +82,7 @@ function PaymentReceivesDataTable({
// Handle cell click. // Handle cell click.
const handleCellClick = (cell, event) => { const handleCellClick = (cell, event) => {
openDrawer(DRAWERS.PAYMENT_RECEIVE_DETAILS, { openDrawer(DRAWERS.PAYMENT_RECEIVED_DETAILS, {
paymentReceiveId: cell.row.original.id, paymentReceiveId: cell.row.original.id,
}); });
}; };
@@ -144,14 +144,14 @@ function PaymentReceivesDataTable({
} }
export default compose( export default compose(
withPaymentReceivesActions, withPaymentsReceivedActions,
withAlertsActions, withAlertsActions,
withDrawerActions, withDrawerActions,
withDialogActions, withDialogActions,
withPaymentReceives(({ paymentReceivesTableState }) => ({ withPaymentsReceived(({ paymentReceivesTableState }) => ({
paymentReceivesTableState, paymentReceivesTableState,
})), })),
withSettings(({ paymentReceiveSettings }) => ({ withSettings(({ paymentReceiveSettings }) => ({
paymentReceivesTableSize: paymentReceiveSettings?.tableSize, 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 { FormattedMessage as T, DashboardViewsTabs } from '@/components';
import { pick } from 'lodash'; import { pick } from 'lodash';
import withPaymentReceives from './withPaymentReceives'; import withPaymentsReceived from './withPaymentsReceived';
import withPaymentReceivesActions from './withPaymentReceivesActions'; import withPaymentsReceivedActions from './withPaymentsReceivedActions';
import { usePaymentReceivesListContext } from './PaymentReceiptsListProvider'; import { usePaymentsReceivedListContext } from './PaymentsReceivedListProvider';
import { compose } from '@/utils'; import { compose } from '@/utils';
/** /**
* Payment receive view tabs. * Payment receive view tabs.
*/ */
function PaymentReceiveViewTabs({ function PaymentsReceivedViewTabs({
// #withPaymentReceivesActions // #withPaymentsReceivedActions
addPaymentReceivesTableQueries, addPaymentReceivesTableQueries,
// #withPaymentReceives // #withPaymentsReceived
paymentReceivesTableState, paymentReceivesTableState,
}) { }) {
const history = useHistory(); const history = useHistory();
const { paymentReceivesViews, ...res } = usePaymentReceivesListContext(); const { paymentReceivesViews, ...res } = usePaymentsReceivedListContext();
const tabs = paymentReceivesViews.map((view) => ({ const tabs = paymentReceivesViews.map((view) => ({
...pick(view, ['name', 'id']), ...pick(view, ['name', 'id']),
@@ -30,7 +30,7 @@ function PaymentReceiveViewTabs({
// Handles click a new view tab. // Handles click a new view tab.
const handleClickNewView = () => { const handleClickNewView = () => {
history.push('/custom_views/payment-receives/new'); history.push('/custom_views/payment-received/new');
}; };
// Handles the active tab chaing. // Handles the active tab chaing.
@@ -56,8 +56,8 @@ function PaymentReceiveViewTabs({
} }
export default compose( export default compose(
withPaymentReceivesActions, withPaymentsReceivedActions,
withPaymentReceives(({ paymentReceivesTableState }) => ({ withPaymentsReceived(({ paymentReceivesTableState }) => ({
paymentReceivesTableState, paymentReceivesTableState,
})), })),
)(PaymentReceiveViewTabs); )(PaymentsReceivedViewTabs);

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