mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Add functionality to keep payment_balance up to date.
:
This commit is contained in:
parent
8ee294703a
commit
19104ec0d5
49
app/Listeners/Payment/PaymentBalanceActivity.php
Normal file
49
app/Listeners/Payment/PaymentBalanceActivity.php
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Invoice Ninja (https://invoiceninja.com).
|
||||||
|
*
|
||||||
|
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||||
|
*
|
||||||
|
* @copyright Copyright (c) 2023. Invoice Ninja LLC (https://invoiceninja.com)
|
||||||
|
*
|
||||||
|
* @license https://www.elastic.co/licensing/elastic-license
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace App\Listeners\Payment;
|
||||||
|
|
||||||
|
use App\Libraries\MultiDB;
|
||||||
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use Illuminate\Queue\Middleware\WithoutOverlapping;
|
||||||
|
|
||||||
|
class PaymentBalanceActivity implements ShouldQueue
|
||||||
|
{
|
||||||
|
use InteractsWithQueue;
|
||||||
|
/**
|
||||||
|
* Create the event listener.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle the event.
|
||||||
|
*
|
||||||
|
* @param object $event
|
||||||
|
*/
|
||||||
|
public function handle($event)
|
||||||
|
{
|
||||||
|
|
||||||
|
MultiDB::setDb($event->company->db);
|
||||||
|
|
||||||
|
$event->payment->client->service()->updatePaymentBalance();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function middleware($event): array
|
||||||
|
{
|
||||||
|
return [(new WithoutOverlapping($event->payment->client->id))];
|
||||||
|
}
|
||||||
|
}
|
@ -19,8 +19,6 @@ class PaymentEmailFailureActivity implements ShouldQueue
|
|||||||
{
|
{
|
||||||
use UserNotifies;
|
use UserNotifies;
|
||||||
|
|
||||||
public $delay = 5;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create the event listener.
|
* Create the event listener.
|
||||||
*
|
*
|
||||||
|
@ -17,7 +17,6 @@ use Illuminate\Contracts\Queue\ShouldQueue;
|
|||||||
|
|
||||||
class PaymentEmailedActivity implements ShouldQueue
|
class PaymentEmailedActivity implements ShouldQueue
|
||||||
{
|
{
|
||||||
public $delay = 5;
|
|
||||||
|
|
||||||
use UserNotifies;
|
use UserNotifies;
|
||||||
|
|
||||||
|
@ -11,259 +11,258 @@
|
|||||||
|
|
||||||
namespace App\Providers;
|
namespace App\Providers;
|
||||||
|
|
||||||
use App\Events\Account\AccountCreated;
|
use App\Models\Task;
|
||||||
use App\Events\Client\ClientWasArchived;
|
use App\Models\User;
|
||||||
use App\Events\Client\ClientWasCreated;
|
use App\Models\Quote;
|
||||||
use App\Events\Client\ClientWasDeleted;
|
|
||||||
use App\Events\Client\ClientWasRestored;
|
|
||||||
use App\Events\Client\ClientWasUpdated;
|
|
||||||
use App\Events\Client\DesignWasDeleted;
|
|
||||||
use App\Events\Client\DesignWasRestored;
|
|
||||||
use App\Events\Client\DesignWasUpdated;
|
|
||||||
use App\Events\Company\CompanyDocumentsDeleted;
|
|
||||||
use App\Events\Contact\ContactLoggedIn;
|
|
||||||
use App\Events\Credit\CreditWasArchived;
|
|
||||||
use App\Events\Credit\CreditWasCreated;
|
|
||||||
use App\Events\Credit\CreditWasDeleted;
|
|
||||||
use App\Events\Credit\CreditWasEmailed;
|
|
||||||
use App\Events\Credit\CreditWasEmailedAndFailed;
|
|
||||||
use App\Events\Credit\CreditWasMarkedSent;
|
|
||||||
use App\Events\Credit\CreditWasRestored;
|
|
||||||
use App\Events\Credit\CreditWasUpdated;
|
|
||||||
use App\Events\Credit\CreditWasViewed;
|
|
||||||
use App\Events\Design\DesignWasArchived;
|
|
||||||
use App\Events\Expense\ExpenseWasArchived;
|
|
||||||
use App\Events\Expense\ExpenseWasCreated;
|
|
||||||
use App\Events\Expense\ExpenseWasDeleted;
|
|
||||||
use App\Events\Expense\ExpenseWasRestored;
|
|
||||||
use App\Events\Expense\ExpenseWasUpdated;
|
|
||||||
use App\Events\Invoice\InvoiceReminderWasEmailed;
|
|
||||||
use App\Events\Invoice\InvoiceWasArchived;
|
|
||||||
use App\Events\Invoice\InvoiceWasCancelled;
|
|
||||||
use App\Events\Invoice\InvoiceWasCreated;
|
|
||||||
use App\Events\Invoice\InvoiceWasDeleted;
|
|
||||||
use App\Events\Invoice\InvoiceWasEmailed;
|
|
||||||
use App\Events\Invoice\InvoiceWasEmailedAndFailed;
|
|
||||||
use App\Events\Invoice\InvoiceWasMarkedSent;
|
|
||||||
use App\Events\Invoice\InvoiceWasPaid;
|
|
||||||
use App\Events\Invoice\InvoiceWasRestored;
|
|
||||||
use App\Events\Invoice\InvoiceWasReversed;
|
|
||||||
use App\Events\Invoice\InvoiceWasUpdated;
|
|
||||||
use App\Events\Invoice\InvoiceWasViewed;
|
|
||||||
use App\Events\Misc\InvitationWasViewed;
|
|
||||||
use App\Events\Payment\PaymentWasArchived;
|
|
||||||
use App\Events\Payment\PaymentWasCreated;
|
|
||||||
use App\Events\Payment\PaymentWasDeleted;
|
|
||||||
use App\Events\Payment\PaymentWasEmailed;
|
|
||||||
use App\Events\Payment\PaymentWasEmailedAndFailed;
|
|
||||||
use App\Events\Payment\PaymentWasRefunded;
|
|
||||||
use App\Events\Payment\PaymentWasRestored;
|
|
||||||
use App\Events\Payment\PaymentWasUpdated;
|
|
||||||
use App\Events\Payment\PaymentWasVoided;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasAccepted;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasArchived;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasCreated;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasDeleted;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasEmailed;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasRestored;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasUpdated;
|
|
||||||
use App\Events\PurchaseOrder\PurchaseOrderWasViewed;
|
|
||||||
use App\Events\Quote\QuoteWasApproved;
|
|
||||||
use App\Events\Quote\QuoteWasArchived;
|
|
||||||
use App\Events\Quote\QuoteWasCreated;
|
|
||||||
use App\Events\Quote\QuoteWasDeleted;
|
|
||||||
use App\Events\Quote\QuoteWasEmailed;
|
|
||||||
use App\Events\Quote\QuoteWasRestored;
|
|
||||||
use App\Events\Quote\QuoteWasUpdated;
|
|
||||||
use App\Events\Quote\QuoteWasViewed;
|
|
||||||
use App\Events\RecurringExpense\RecurringExpenseWasArchived;
|
|
||||||
use App\Events\RecurringExpense\RecurringExpenseWasCreated;
|
|
||||||
use App\Events\RecurringExpense\RecurringExpenseWasDeleted;
|
|
||||||
use App\Events\RecurringExpense\RecurringExpenseWasRestored;
|
|
||||||
use App\Events\RecurringExpense\RecurringExpenseWasUpdated;
|
|
||||||
use App\Events\RecurringInvoice\RecurringInvoiceWasArchived;
|
|
||||||
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated;
|
|
||||||
use App\Events\RecurringInvoice\RecurringInvoiceWasDeleted;
|
|
||||||
use App\Events\RecurringInvoice\RecurringInvoiceWasRestored;
|
|
||||||
use App\Events\RecurringInvoice\RecurringInvoiceWasUpdated;
|
|
||||||
use App\Events\RecurringQuote\RecurringQuoteWasArchived;
|
|
||||||
use App\Events\RecurringQuote\RecurringQuoteWasCreated;
|
|
||||||
use App\Events\RecurringQuote\RecurringQuoteWasDeleted;
|
|
||||||
use App\Events\RecurringQuote\RecurringQuoteWasRestored;
|
|
||||||
use App\Events\RecurringQuote\RecurringQuoteWasUpdated;
|
|
||||||
use App\Events\Subscription\SubscriptionWasArchived;
|
|
||||||
use App\Events\Subscription\SubscriptionWasCreated;
|
|
||||||
use App\Events\Subscription\SubscriptionWasDeleted;
|
|
||||||
use App\Events\Subscription\SubscriptionWasRestored;
|
|
||||||
use App\Events\Subscription\SubscriptionWasUpdated;
|
|
||||||
use App\Events\Task\TaskWasArchived;
|
|
||||||
use App\Events\Task\TaskWasCreated;
|
|
||||||
use App\Events\Task\TaskWasDeleted;
|
|
||||||
use App\Events\Task\TaskWasRestored;
|
|
||||||
use App\Events\Task\TaskWasUpdated;
|
|
||||||
use App\Events\User\UserLoggedIn;
|
|
||||||
use App\Events\User\UserWasArchived;
|
|
||||||
use App\Events\User\UserWasCreated;
|
|
||||||
use App\Events\User\UserWasDeleted;
|
|
||||||
use App\Events\User\UserWasRestored;
|
|
||||||
use App\Events\User\UserWasUpdated;
|
|
||||||
use App\Events\Vendor\VendorWasArchived;
|
|
||||||
use App\Events\Vendor\VendorWasCreated;
|
|
||||||
use App\Events\Vendor\VendorWasDeleted;
|
|
||||||
use App\Events\Vendor\VendorWasRestored;
|
|
||||||
use App\Events\Vendor\VendorWasUpdated;
|
|
||||||
use App\Listeners\Activity\ArchivedClientActivity;
|
|
||||||
use App\Listeners\Activity\ClientUpdatedActivity;
|
|
||||||
use App\Listeners\Activity\CreatedClientActivity;
|
|
||||||
use App\Listeners\Activity\CreatedCreditActivity;
|
|
||||||
use App\Listeners\Activity\CreatedExpenseActivity;
|
|
||||||
use App\Listeners\Activity\CreatedQuoteActivity;
|
|
||||||
use App\Listeners\Activity\CreatedSubscriptionActivity;
|
|
||||||
use App\Listeners\Activity\CreatedTaskActivity;
|
|
||||||
use App\Listeners\Activity\CreatedVendorActivity;
|
|
||||||
use App\Listeners\Activity\CreditArchivedActivity;
|
|
||||||
use App\Listeners\Activity\DeleteClientActivity;
|
|
||||||
use App\Listeners\Activity\DeleteCreditActivity;
|
|
||||||
use App\Listeners\Activity\ExpenseArchivedActivity;
|
|
||||||
use App\Listeners\Activity\ExpenseDeletedActivity;
|
|
||||||
use App\Listeners\Activity\ExpenseRestoredActivity;
|
|
||||||
use App\Listeners\Activity\ExpenseUpdatedActivity;
|
|
||||||
use App\Listeners\Activity\PaymentArchivedActivity;
|
|
||||||
use App\Listeners\Activity\PaymentCreatedActivity;
|
|
||||||
use App\Listeners\Activity\PaymentDeletedActivity;
|
|
||||||
use App\Listeners\Activity\PaymentRefundedActivity;
|
|
||||||
use App\Listeners\Activity\PaymentUpdatedActivity;
|
|
||||||
use App\Listeners\Activity\PaymentVoidedActivity;
|
|
||||||
use App\Listeners\Activity\QuoteUpdatedActivity;
|
|
||||||
use App\Listeners\Activity\RestoreClientActivity;
|
|
||||||
use App\Listeners\Activity\SubscriptionArchivedActivity;
|
|
||||||
use App\Listeners\Activity\SubscriptionDeletedActivity;
|
|
||||||
use App\Listeners\Activity\SubscriptionRestoredActivity;
|
|
||||||
use App\Listeners\Activity\SubscriptionUpdatedActivity;
|
|
||||||
use App\Listeners\Activity\TaskArchivedActivity;
|
|
||||||
use App\Listeners\Activity\TaskDeletedActivity;
|
|
||||||
use App\Listeners\Activity\TaskRestoredActivity;
|
|
||||||
use App\Listeners\Activity\TaskUpdatedActivity;
|
|
||||||
use App\Listeners\Activity\UpdatedCreditActivity;
|
|
||||||
use App\Listeners\Activity\VendorArchivedActivity;
|
|
||||||
use App\Listeners\Activity\VendorDeletedActivity;
|
|
||||||
use App\Listeners\Activity\VendorRestoredActivity;
|
|
||||||
use App\Listeners\Activity\VendorUpdatedActivity;
|
|
||||||
use App\Listeners\Contact\UpdateContactLastLogin;
|
|
||||||
use App\Listeners\Credit\CreditCreatedNotification;
|
|
||||||
use App\Listeners\Credit\CreditEmailedNotification;
|
|
||||||
use App\Listeners\Credit\CreditRestoredActivity;
|
|
||||||
use App\Listeners\Credit\CreditViewedActivity;
|
|
||||||
use App\Listeners\Document\DeleteCompanyDocuments;
|
|
||||||
use App\Listeners\Invoice\CreateInvoiceActivity;
|
|
||||||
use App\Listeners\Invoice\CreateInvoicePdf;
|
|
||||||
use App\Listeners\Invoice\InvoiceArchivedActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceCancelledActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceCreatedNotification;
|
|
||||||
use App\Listeners\Invoice\InvoiceDeletedActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceEmailActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceEmailedNotification;
|
|
||||||
use App\Listeners\Invoice\InvoiceEmailFailedActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceFailedEmailNotification;
|
|
||||||
use App\Listeners\Invoice\InvoicePaidActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceReminderEmailActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceRestoredActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceReversedActivity;
|
|
||||||
use App\Listeners\Invoice\InvoiceViewedActivity;
|
|
||||||
use App\Listeners\Invoice\UpdateInvoiceActivity;
|
|
||||||
use App\Listeners\Mail\MailSentListener;
|
|
||||||
use App\Listeners\Misc\InvitationViewedListener;
|
|
||||||
use App\Listeners\Payment\PaymentEmailedActivity;
|
|
||||||
use App\Listeners\Payment\PaymentEmailFailureActivity;
|
|
||||||
use App\Listeners\Payment\PaymentNotification;
|
|
||||||
use App\Listeners\Payment\PaymentRestoredActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\CreatePurchaseOrderActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderAcceptedActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderAcceptedListener;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderArchivedActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderCreatedListener;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderDeletedActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderEmailActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderEmailedNotification;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderRestoredActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\PurchaseOrderViewedActivity;
|
|
||||||
use App\Listeners\PurchaseOrder\UpdatePurchaseOrderActivity;
|
|
||||||
use App\Listeners\Quote\QuoteApprovedActivity;
|
|
||||||
use App\Listeners\Quote\QuoteApprovedNotification;
|
|
||||||
use App\Listeners\Quote\QuoteApprovedWebhook;
|
|
||||||
use App\Listeners\Quote\QuoteArchivedActivity;
|
|
||||||
use App\Listeners\Quote\QuoteCreatedNotification;
|
|
||||||
use App\Listeners\Quote\QuoteDeletedActivity;
|
|
||||||
use App\Listeners\Quote\QuoteEmailActivity;
|
|
||||||
use App\Listeners\Quote\QuoteEmailedNotification;
|
|
||||||
use App\Listeners\Quote\QuoteRestoredActivity;
|
|
||||||
use App\Listeners\Quote\QuoteViewedActivity;
|
|
||||||
use App\Listeners\Quote\ReachWorkflowSettings;
|
|
||||||
use App\Listeners\RecurringExpense\CreatedRecurringExpenseActivity;
|
|
||||||
use App\Listeners\RecurringExpense\RecurringExpenseArchivedActivity;
|
|
||||||
use App\Listeners\RecurringExpense\RecurringExpenseDeletedActivity;
|
|
||||||
use App\Listeners\RecurringExpense\RecurringExpenseRestoredActivity;
|
|
||||||
use App\Listeners\RecurringExpense\RecurringExpenseUpdatedActivity;
|
|
||||||
use App\Listeners\RecurringInvoice\CreateRecurringInvoiceActivity;
|
|
||||||
use App\Listeners\RecurringInvoice\RecurringInvoiceArchivedActivity;
|
|
||||||
use App\Listeners\RecurringInvoice\RecurringInvoiceDeletedActivity;
|
|
||||||
use App\Listeners\RecurringInvoice\RecurringInvoiceRestoredActivity;
|
|
||||||
use App\Listeners\RecurringInvoice\UpdateRecurringInvoiceActivity;
|
|
||||||
use App\Listeners\RecurringQuote\CreateRecurringQuoteActivity;
|
|
||||||
use App\Listeners\RecurringQuote\RecurringQuoteArchivedActivity;
|
|
||||||
use App\Listeners\RecurringQuote\RecurringQuoteDeletedActivity;
|
|
||||||
use App\Listeners\RecurringQuote\RecurringQuoteRestoredActivity;
|
|
||||||
use App\Listeners\RecurringQuote\UpdateRecurringQuoteActivity;
|
|
||||||
use App\Listeners\SendVerificationNotification;
|
|
||||||
use App\Listeners\User\ArchivedUserActivity;
|
|
||||||
use App\Listeners\User\CreatedUserActivity;
|
|
||||||
use App\Listeners\User\DeletedUserActivity;
|
|
||||||
use App\Listeners\User\RestoredUserActivity;
|
|
||||||
use App\Listeners\User\UpdatedUserActivity;
|
|
||||||
use App\Listeners\User\UpdateUserLastLogin;
|
|
||||||
use App\Models\Account;
|
|
||||||
use App\Models\Client;
|
use App\Models\Client;
|
||||||
use App\Models\ClientContact;
|
|
||||||
use App\Models\Company;
|
|
||||||
use App\Models\CompanyGateway;
|
|
||||||
use App\Models\CompanyToken;
|
|
||||||
use App\Models\Credit;
|
use App\Models\Credit;
|
||||||
|
use App\Models\Vendor;
|
||||||
|
use App\Models\Account;
|
||||||
|
use App\Models\Company;
|
||||||
use App\Models\Expense;
|
use App\Models\Expense;
|
||||||
use App\Models\Invoice;
|
use App\Models\Invoice;
|
||||||
use App\Models\Payment;
|
use App\Models\Payment;
|
||||||
use App\Models\Product;
|
use App\Models\Product;
|
||||||
use App\Models\Project;
|
use App\Models\Project;
|
||||||
use App\Models\Proposal;
|
use App\Models\Proposal;
|
||||||
use App\Models\PurchaseOrder;
|
use App\Models\CompanyToken;
|
||||||
use App\Models\Quote;
|
|
||||||
use App\Models\Subscription;
|
use App\Models\Subscription;
|
||||||
use App\Models\Task;
|
use App\Models\ClientContact;
|
||||||
use App\Models\User;
|
use App\Models\PurchaseOrder;
|
||||||
use App\Models\Vendor;
|
|
||||||
use App\Models\VendorContact;
|
use App\Models\VendorContact;
|
||||||
use App\Observers\AccountObserver;
|
use App\Models\CompanyGateway;
|
||||||
use App\Observers\ClientContactObserver;
|
use App\Observers\TaskObserver;
|
||||||
|
use App\Observers\UserObserver;
|
||||||
|
use App\Observers\QuoteObserver;
|
||||||
|
use App\Events\User\UserLoggedIn;
|
||||||
use App\Observers\ClientObserver;
|
use App\Observers\ClientObserver;
|
||||||
use App\Observers\CompanyGatewayObserver;
|
|
||||||
use App\Observers\CompanyObserver;
|
|
||||||
use App\Observers\CompanyTokenObserver;
|
|
||||||
use App\Observers\CreditObserver;
|
use App\Observers\CreditObserver;
|
||||||
|
use App\Observers\VendorObserver;
|
||||||
|
use App\Observers\AccountObserver;
|
||||||
|
use App\Observers\CompanyObserver;
|
||||||
use App\Observers\ExpenseObserver;
|
use App\Observers\ExpenseObserver;
|
||||||
use App\Observers\InvoiceObserver;
|
use App\Observers\InvoiceObserver;
|
||||||
use App\Observers\PaymentObserver;
|
use App\Observers\PaymentObserver;
|
||||||
use App\Observers\ProductObserver;
|
use App\Observers\ProductObserver;
|
||||||
use App\Observers\ProjectObserver;
|
use App\Observers\ProjectObserver;
|
||||||
|
use App\Events\Task\TaskWasCreated;
|
||||||
|
use App\Events\Task\TaskWasDeleted;
|
||||||
|
use App\Events\Task\TaskWasUpdated;
|
||||||
|
use App\Events\User\UserWasCreated;
|
||||||
|
use App\Events\User\UserWasDeleted;
|
||||||
|
use App\Events\User\UserWasUpdated;
|
||||||
use App\Observers\ProposalObserver;
|
use App\Observers\ProposalObserver;
|
||||||
use App\Observers\PurchaseOrderObserver;
|
use App\Events\Quote\QuoteWasViewed;
|
||||||
use App\Observers\QuoteObserver;
|
use App\Events\Task\TaskWasArchived;
|
||||||
|
use App\Events\Task\TaskWasRestored;
|
||||||
|
use App\Events\User\UserWasArchived;
|
||||||
|
use App\Events\User\UserWasRestored;
|
||||||
|
use App\Events\Quote\QuoteWasCreated;
|
||||||
|
use App\Events\Quote\QuoteWasDeleted;
|
||||||
|
use App\Events\Quote\QuoteWasEmailed;
|
||||||
|
use App\Events\Quote\QuoteWasUpdated;
|
||||||
|
use App\Events\Account\AccountCreated;
|
||||||
|
use App\Events\Credit\CreditWasViewed;
|
||||||
|
use App\Events\Invoice\InvoiceWasPaid;
|
||||||
|
use App\Events\Quote\QuoteWasApproved;
|
||||||
|
use App\Events\Quote\QuoteWasArchived;
|
||||||
|
use App\Events\Quote\QuoteWasRestored;
|
||||||
|
use App\Events\Client\ClientWasCreated;
|
||||||
|
use App\Events\Client\ClientWasDeleted;
|
||||||
|
use App\Events\Client\ClientWasUpdated;
|
||||||
|
use App\Events\Client\DesignWasDeleted;
|
||||||
|
use App\Events\Client\DesignWasUpdated;
|
||||||
|
use App\Events\Contact\ContactLoggedIn;
|
||||||
|
use App\Events\Credit\CreditWasCreated;
|
||||||
|
use App\Events\Credit\CreditWasDeleted;
|
||||||
|
use App\Events\Credit\CreditWasEmailed;
|
||||||
|
use App\Events\Credit\CreditWasUpdated;
|
||||||
|
use App\Events\Vendor\VendorWasCreated;
|
||||||
|
use App\Events\Vendor\VendorWasDeleted;
|
||||||
|
use App\Events\Vendor\VendorWasUpdated;
|
||||||
|
use App\Observers\CompanyTokenObserver;
|
||||||
use App\Observers\SubscriptionObserver;
|
use App\Observers\SubscriptionObserver;
|
||||||
use App\Observers\TaskObserver;
|
|
||||||
use App\Observers\UserObserver;
|
|
||||||
use App\Observers\VendorContactObserver;
|
|
||||||
use App\Observers\VendorObserver;
|
|
||||||
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
|
||||||
use Illuminate\Mail\Events\MessageSending;
|
|
||||||
use Illuminate\Mail\Events\MessageSent;
|
use Illuminate\Mail\Events\MessageSent;
|
||||||
|
use App\Events\Client\ClientWasArchived;
|
||||||
|
use App\Events\Client\ClientWasRestored;
|
||||||
|
use App\Events\Client\DesignWasRestored;
|
||||||
|
use App\Events\Credit\CreditWasArchived;
|
||||||
|
use App\Events\Credit\CreditWasRestored;
|
||||||
|
use App\Events\Design\DesignWasArchived;
|
||||||
|
use App\Events\Invoice\InvoiceWasViewed;
|
||||||
|
use App\Events\Misc\InvitationWasViewed;
|
||||||
|
use App\Events\Payment\PaymentWasVoided;
|
||||||
|
use App\Events\Vendor\VendorWasArchived;
|
||||||
|
use App\Events\Vendor\VendorWasRestored;
|
||||||
|
use App\Listeners\Mail\MailSentListener;
|
||||||
|
use App\Observers\ClientContactObserver;
|
||||||
|
use App\Observers\PurchaseOrderObserver;
|
||||||
|
use App\Observers\VendorContactObserver;
|
||||||
|
use App\Events\Expense\ExpenseWasCreated;
|
||||||
|
use App\Events\Expense\ExpenseWasDeleted;
|
||||||
|
use App\Events\Expense\ExpenseWasUpdated;
|
||||||
|
use App\Events\Invoice\InvoiceWasCreated;
|
||||||
|
use App\Events\Invoice\InvoiceWasDeleted;
|
||||||
|
use App\Events\Invoice\InvoiceWasEmailed;
|
||||||
|
use App\Events\Invoice\InvoiceWasUpdated;
|
||||||
|
use App\Events\Payment\PaymentWasCreated;
|
||||||
|
use App\Events\Payment\PaymentWasDeleted;
|
||||||
|
use App\Events\Payment\PaymentWasEmailed;
|
||||||
|
use App\Events\Payment\PaymentWasUpdated;
|
||||||
|
use App\Observers\CompanyGatewayObserver;
|
||||||
|
use App\Events\Credit\CreditWasMarkedSent;
|
||||||
|
use App\Events\Expense\ExpenseWasArchived;
|
||||||
|
use App\Events\Expense\ExpenseWasRestored;
|
||||||
|
use App\Events\Invoice\InvoiceWasArchived;
|
||||||
|
use App\Events\Invoice\InvoiceWasRestored;
|
||||||
|
use App\Events\Invoice\InvoiceWasReversed;
|
||||||
|
use App\Events\Payment\PaymentWasArchived;
|
||||||
|
use App\Events\Payment\PaymentWasRefunded;
|
||||||
|
use App\Events\Payment\PaymentWasRestored;
|
||||||
|
use Illuminate\Mail\Events\MessageSending;
|
||||||
|
use App\Events\Invoice\InvoiceWasCancelled;
|
||||||
|
use App\Listeners\Invoice\CreateInvoicePdf;
|
||||||
|
use App\Listeners\Quote\QuoteEmailActivity;
|
||||||
|
use App\Listeners\User\CreatedUserActivity;
|
||||||
|
use App\Listeners\User\DeletedUserActivity;
|
||||||
|
use App\Listeners\User\UpdatedUserActivity;
|
||||||
|
use App\Listeners\User\UpdateUserLastLogin;
|
||||||
|
use App\Events\Invoice\InvoiceWasMarkedSent;
|
||||||
|
use App\Listeners\Quote\QuoteViewedActivity;
|
||||||
|
use App\Listeners\User\ArchivedUserActivity;
|
||||||
|
use App\Listeners\User\RestoredUserActivity;
|
||||||
|
use App\Listeners\Quote\QuoteApprovedWebhook;
|
||||||
|
use App\Listeners\Quote\QuoteDeletedActivity;
|
||||||
|
use App\Listeners\Credit\CreditViewedActivity;
|
||||||
|
use App\Listeners\Invoice\InvoicePaidActivity;
|
||||||
|
use App\Listeners\Payment\PaymentNotification;
|
||||||
|
use App\Listeners\Quote\QuoteApprovedActivity;
|
||||||
|
use App\Listeners\Quote\QuoteArchivedActivity;
|
||||||
|
use App\Listeners\Quote\QuoteRestoredActivity;
|
||||||
|
use App\Listeners\Quote\ReachWorkflowSettings;
|
||||||
|
use App\Events\Company\CompanyDocumentsDeleted;
|
||||||
|
use App\Listeners\Activity\CreatedTaskActivity;
|
||||||
|
use App\Listeners\Activity\TaskDeletedActivity;
|
||||||
|
use App\Listeners\Activity\TaskUpdatedActivity;
|
||||||
|
use App\Listeners\Invoice\InvoiceEmailActivity;
|
||||||
|
use App\Listeners\SendVerificationNotification;
|
||||||
|
use App\Events\Credit\CreditWasEmailedAndFailed;
|
||||||
|
use App\Listeners\Activity\CreatedQuoteActivity;
|
||||||
|
use App\Listeners\Activity\DeleteClientActivity;
|
||||||
|
use App\Listeners\Activity\DeleteCreditActivity;
|
||||||
|
use App\Listeners\Activity\QuoteUpdatedActivity;
|
||||||
|
use App\Listeners\Activity\TaskArchivedActivity;
|
||||||
|
use App\Listeners\Activity\TaskRestoredActivity;
|
||||||
|
use App\Listeners\Credit\CreditRestoredActivity;
|
||||||
|
use App\Listeners\Invoice\CreateInvoiceActivity;
|
||||||
|
use App\Listeners\Invoice\InvoiceViewedActivity;
|
||||||
|
use App\Listeners\Invoice\UpdateInvoiceActivity;
|
||||||
|
use App\Listeners\Misc\InvitationViewedListener;
|
||||||
|
use App\Events\Invoice\InvoiceReminderWasEmailed;
|
||||||
|
use App\Listeners\Activity\ClientUpdatedActivity;
|
||||||
|
use App\Listeners\Activity\CreatedClientActivity;
|
||||||
|
use App\Listeners\Activity\CreatedCreditActivity;
|
||||||
|
use App\Listeners\Activity\CreatedVendorActivity;
|
||||||
|
use App\Listeners\Activity\PaymentVoidedActivity;
|
||||||
|
use App\Listeners\Activity\RestoreClientActivity;
|
||||||
|
use App\Listeners\Activity\UpdatedCreditActivity;
|
||||||
|
use App\Listeners\Activity\VendorDeletedActivity;
|
||||||
|
use App\Listeners\Activity\VendorUpdatedActivity;
|
||||||
|
use App\Listeners\Contact\UpdateContactLastLogin;
|
||||||
|
use App\Listeners\Invoice\InvoiceDeletedActivity;
|
||||||
|
use App\Listeners\Payment\PaymentBalanceActivity;
|
||||||
|
use App\Listeners\Quote\QuoteCreatedNotification;
|
||||||
|
use App\Listeners\Quote\QuoteEmailedNotification;
|
||||||
|
use App\Events\Invoice\InvoiceWasEmailedAndFailed;
|
||||||
|
use App\Events\Payment\PaymentWasEmailedAndFailed;
|
||||||
|
use App\Listeners\Activity\ArchivedClientActivity;
|
||||||
|
use App\Listeners\Activity\CreatedExpenseActivity;
|
||||||
|
use App\Listeners\Activity\CreditArchivedActivity;
|
||||||
|
use App\Listeners\Activity\ExpenseDeletedActivity;
|
||||||
|
use App\Listeners\Activity\ExpenseUpdatedActivity;
|
||||||
|
use App\Listeners\Activity\PaymentCreatedActivity;
|
||||||
|
use App\Listeners\Activity\PaymentDeletedActivity;
|
||||||
|
use App\Listeners\Activity\PaymentUpdatedActivity;
|
||||||
|
use App\Listeners\Activity\VendorArchivedActivity;
|
||||||
|
use App\Listeners\Activity\VendorRestoredActivity;
|
||||||
|
use App\Listeners\Document\DeleteCompanyDocuments;
|
||||||
|
use App\Listeners\Invoice\InvoiceArchivedActivity;
|
||||||
|
use App\Listeners\Invoice\InvoiceRestoredActivity;
|
||||||
|
use App\Listeners\Invoice\InvoiceReversedActivity;
|
||||||
|
use App\Listeners\Payment\PaymentRestoredActivity;
|
||||||
|
use App\Listeners\Quote\QuoteApprovedNotification;
|
||||||
|
use App\Events\Subscription\SubscriptionWasCreated;
|
||||||
|
use App\Events\Subscription\SubscriptionWasDeleted;
|
||||||
|
use App\Events\Subscription\SubscriptionWasUpdated;
|
||||||
|
use App\Listeners\Activity\ExpenseArchivedActivity;
|
||||||
|
use App\Listeners\Activity\ExpenseRestoredActivity;
|
||||||
|
use App\Listeners\Activity\PaymentArchivedActivity;
|
||||||
|
use App\Listeners\Activity\PaymentRefundedActivity;
|
||||||
|
use App\Listeners\Credit\CreditCreatedNotification;
|
||||||
|
use App\Listeners\Credit\CreditEmailedNotification;
|
||||||
|
use App\Listeners\Invoice\InvoiceCancelledActivity;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasViewed;
|
||||||
|
use App\Events\Subscription\SubscriptionWasArchived;
|
||||||
|
use App\Events\Subscription\SubscriptionWasRestored;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasCreated;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasDeleted;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasEmailed;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasUpdated;
|
||||||
|
use App\Listeners\Invoice\InvoiceCreatedNotification;
|
||||||
|
use App\Listeners\Invoice\InvoiceEmailedNotification;
|
||||||
|
use App\Listeners\Invoice\InvoiceEmailFailedActivity;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasAccepted;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasArchived;
|
||||||
|
use App\Events\PurchaseOrder\PurchaseOrderWasRestored;
|
||||||
|
use App\Events\RecurringQuote\RecurringQuoteWasCreated;
|
||||||
|
use App\Events\RecurringQuote\RecurringQuoteWasDeleted;
|
||||||
|
use App\Events\RecurringQuote\RecurringQuoteWasUpdated;
|
||||||
|
use App\Listeners\Activity\CreatedSubscriptionActivity;
|
||||||
|
use App\Listeners\Activity\SubscriptionDeletedActivity;
|
||||||
|
use App\Listeners\Activity\SubscriptionUpdatedActivity;
|
||||||
|
use App\Listeners\Invoice\InvoiceReminderEmailActivity;
|
||||||
|
use App\Events\RecurringQuote\RecurringQuoteWasArchived;
|
||||||
|
use App\Events\RecurringQuote\RecurringQuoteWasRestored;
|
||||||
|
use App\Listeners\Activity\SubscriptionArchivedActivity;
|
||||||
|
use App\Listeners\Activity\SubscriptionRestoredActivity;
|
||||||
|
use App\Listeners\Invoice\InvoiceFailedEmailNotification;
|
||||||
|
use App\Events\RecurringExpense\RecurringExpenseWasCreated;
|
||||||
|
use App\Events\RecurringExpense\RecurringExpenseWasDeleted;
|
||||||
|
use App\Events\RecurringExpense\RecurringExpenseWasUpdated;
|
||||||
|
use App\Events\RecurringInvoice\RecurringInvoiceWasCreated;
|
||||||
|
use App\Events\RecurringInvoice\RecurringInvoiceWasDeleted;
|
||||||
|
use App\Events\RecurringInvoice\RecurringInvoiceWasUpdated;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderEmailActivity;
|
||||||
|
use App\Events\RecurringExpense\RecurringExpenseWasArchived;
|
||||||
|
use App\Events\RecurringExpense\RecurringExpenseWasRestored;
|
||||||
|
use App\Events\RecurringInvoice\RecurringInvoiceWasArchived;
|
||||||
|
use App\Events\RecurringInvoice\RecurringInvoiceWasRestored;
|
||||||
|
use App\Listeners\PurchaseOrder\CreatePurchaseOrderActivity;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderViewedActivity;
|
||||||
|
use App\Listeners\PurchaseOrder\UpdatePurchaseOrderActivity;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderCreatedListener;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderDeletedActivity;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderAcceptedActivity;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderAcceptedListener;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderArchivedActivity;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderRestoredActivity;
|
||||||
|
use App\Listeners\RecurringQuote\CreateRecurringQuoteActivity;
|
||||||
|
use App\Listeners\RecurringQuote\UpdateRecurringQuoteActivity;
|
||||||
|
use App\Listeners\RecurringQuote\RecurringQuoteDeletedActivity;
|
||||||
|
use App\Listeners\RecurringQuote\RecurringQuoteArchivedActivity;
|
||||||
|
use App\Listeners\RecurringQuote\RecurringQuoteRestoredActivity;
|
||||||
|
use App\Listeners\PurchaseOrder\PurchaseOrderEmailedNotification;
|
||||||
|
use App\Listeners\RecurringInvoice\CreateRecurringInvoiceActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\UpdateRecurringInvoiceActivity;
|
||||||
|
use App\Listeners\RecurringExpense\CreatedRecurringExpenseActivity;
|
||||||
|
use App\Listeners\RecurringExpense\RecurringExpenseDeletedActivity;
|
||||||
|
use App\Listeners\RecurringExpense\RecurringExpenseUpdatedActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\RecurringInvoiceDeletedActivity;
|
||||||
|
use App\Listeners\RecurringExpense\RecurringExpenseArchivedActivity;
|
||||||
|
use App\Listeners\RecurringExpense\RecurringExpenseRestoredActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\RecurringInvoiceArchivedActivity;
|
||||||
|
use App\Listeners\RecurringInvoice\RecurringInvoiceRestoredActivity;
|
||||||
|
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
||||||
|
|
||||||
class EventServiceProvider extends ServiceProvider
|
class EventServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
@ -305,24 +304,30 @@ class EventServiceProvider extends ServiceProvider
|
|||||||
PaymentWasCreated::class => [
|
PaymentWasCreated::class => [
|
||||||
PaymentCreatedActivity::class,
|
PaymentCreatedActivity::class,
|
||||||
PaymentNotification::class,
|
PaymentNotification::class,
|
||||||
|
PaymentBalanceActivity::class,
|
||||||
],
|
],
|
||||||
PaymentWasDeleted::class => [
|
PaymentWasDeleted::class => [
|
||||||
PaymentDeletedActivity::class,
|
PaymentDeletedActivity::class,
|
||||||
|
PaymentBalanceActivity::class,
|
||||||
],
|
],
|
||||||
PaymentWasArchived::class => [
|
PaymentWasArchived::class => [
|
||||||
PaymentArchivedActivity::class,
|
PaymentArchivedActivity::class,
|
||||||
],
|
],
|
||||||
PaymentWasUpdated::class => [
|
PaymentWasUpdated::class => [
|
||||||
PaymentUpdatedActivity::class,
|
PaymentUpdatedActivity::class,
|
||||||
|
PaymentBalanceActivity::class,
|
||||||
],
|
],
|
||||||
PaymentWasRefunded::class => [
|
PaymentWasRefunded::class => [
|
||||||
PaymentRefundedActivity::class,
|
PaymentRefundedActivity::class,
|
||||||
|
PaymentBalanceActivity::class,
|
||||||
],
|
],
|
||||||
PaymentWasVoided::class => [
|
PaymentWasVoided::class => [
|
||||||
PaymentVoidedActivity::class,
|
PaymentVoidedActivity::class,
|
||||||
|
PaymentBalanceActivity::class,
|
||||||
],
|
],
|
||||||
PaymentWasRestored::class => [
|
PaymentWasRestored::class => [
|
||||||
PaymentRestoredActivity::class,
|
PaymentRestoredActivity::class,
|
||||||
|
PaymentBalanceActivity::class,
|
||||||
],
|
],
|
||||||
// Clients
|
// Clients
|
||||||
ClientWasCreated::class => [
|
ClientWasCreated::class => [
|
||||||
|
@ -14,6 +14,7 @@ namespace App\Services\Client;
|
|||||||
use App\Utils\Number;
|
use App\Utils\Number;
|
||||||
use App\Models\Client;
|
use App\Models\Client;
|
||||||
use App\Models\Credit;
|
use App\Models\Credit;
|
||||||
|
use App\Models\Payment;
|
||||||
use App\Services\Email\Email;
|
use App\Services\Email\Email;
|
||||||
use App\Utils\Traits\MakesDates;
|
use App\Utils\Traits\MakesDates;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
@ -75,6 +76,23 @@ class ClientService
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function updatePaymentBalance()
|
||||||
|
{
|
||||||
|
$amount = Payment::where('client_id', $this->client->id)
|
||||||
|
->where('is_deleted', 0)
|
||||||
|
->whereIn('status_id', [Payment::STATUS_COMPLETED, Payment::STATUS_PENDING, Payment::STATUS_PARTIALLY_REFUNDED, Payment::STATUS_REFUNDED])
|
||||||
|
->sum(DB::Raw('amount - refunded - applied'));
|
||||||
|
|
||||||
|
DB::connection(config('database.default'))->transaction(function () use ($amount) {
|
||||||
|
$this->client = Client::withTrashed()->where('id', $this->client->id)->lockForUpdate()->first();
|
||||||
|
$this->client->payment_balance = $amount;
|
||||||
|
$this->client->saveQuietly();
|
||||||
|
}, 2);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function adjustCreditBalance(float $amount)
|
public function adjustCreditBalance(float $amount)
|
||||||
{
|
{
|
||||||
$this->client->credit_balance += $amount;
|
$this->client->credit_balance += $amount;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user