diff --git a/app/Listeners/Invoice/CreateInvoiceHtmlBackup.php b/app/Listeners/Invoice/InvoicePaidActivity.php similarity index 76% rename from app/Listeners/Invoice/CreateInvoiceHtmlBackup.php rename to app/Listeners/Invoice/InvoicePaidActivity.php index d50a799ca537..4cd38ec75c67 100644 --- a/app/Listeners/Invoice/CreateInvoiceHtmlBackup.php +++ b/app/Listeners/Invoice/InvoicePaidActivity.php @@ -13,11 +13,15 @@ namespace App\Listeners\Invoice; use App\Libraries\MultiDB; use App\Models\Activity; +use App\Models\ClientContact; +use App\Models\InvoiceInvitation; use App\Repositories\ActivityRepository; +use App\Utils\Traits\MakesHash; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; +use Illuminate\Support\Facades\Log; -class CreateInvoiceHtmlBackup implements ShouldQueue +class InvoicePaidActivity implements ShouldQueue { protected $activity_repo; /** @@ -38,15 +42,14 @@ class CreateInvoiceHtmlBackup implements ShouldQueue */ public function handle($event) { - MultiDB::setDB($event->company->db); + MultiDB::setDb($event->company->db); $fields = new \stdClass; $fields->invoice_id = $event->invoice->id; - $fields->client_id = $event->invoice->client_id; - $fields->user_id = $event->invoice->user_id; + $fields->user_id = $event->invoice->user_id; $fields->company_id = $event->invoice->company_id; - $fields->activity_type_id = Activity::MARK_SENT_INVOICE; + $fields->activity_type_id = Activity::PAID_INVOICE; $this->activity_repo->save($fields, $event->invoice, $event->event_vars); } diff --git a/app/Models/Activity.php b/app/Models/Activity.php index 36831aebb94f..d79f10fd4513 100644 --- a/app/Models/Activity.php +++ b/app/Models/Activity.php @@ -56,8 +56,9 @@ class Activity extends StaticModel const ARCHIVE_EXPENSE=35; const DELETE_EXPENSE=36; const RESTORE_EXPENSE=37; - const VOIDED_PAYMENT=39; - const REFUNDED_PAYMENT=40; + + const VOIDED_PAYMENT=39; // + const REFUNDED_PAYMENT=40; // const FAILED_PAYMENT=41; const CREATE_TASK=42; const UPDATE_TASK=43; @@ -65,12 +66,13 @@ class Activity extends StaticModel const DELETE_TASK=45; const RESTORE_TASK=46; const UPDATE_EXPENSE=47; - const CREATE_USER=48; - const UPDATE_USER=49; - const ARCHIVE_USER=50; - const DELETE_USER=51; - const RESTORE_USER=52; - const MARK_SENT_INVOICE=53; + + const CREATE_USER=48; // only used in CreateUser::job + const UPDATE_USER=49; // not needed? + const ARCHIVE_USER=50; // not needed? + const DELETE_USER=51; // not needed? + const RESTORE_USER=52; // not needed? + const MARK_SENT_INVOICE=53; // not needed? const PAID_INVOICE=54; const EMAIL_INVOICE_FAILED=57; const REVERSED_INVOICE=58; diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 29b981249f8c..103963a7d669 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -86,6 +86,7 @@ use App\Listeners\Invoice\InvoiceDeletedActivity; use App\Listeners\Invoice\InvoiceEmailActivity; use App\Listeners\Invoice\InvoiceEmailFailedActivity; use App\Listeners\Invoice\InvoiceEmailedNotification; +use App\Listeners\Invoice\InvoicePaidActivity; use App\Listeners\Invoice\InvoiceRestoredActivity; use App\Listeners\Invoice\InvoiceViewedActivity; use App\Listeners\Invoice\UpdateInvoiceActivity; @@ -216,7 +217,7 @@ class EventServiceProvider extends ServiceProvider // CreateInvoicePdf::class, ], InvoiceWasPaid::class => [ - // CreateInvoiceHtmlBackup::class, + InvoicePaidActivity::class, ], InvoiceWasViewed::class => [ InvoiceViewedActivity::class, diff --git a/app/Services/Invoice/MarkPaid.php b/app/Services/Invoice/MarkPaid.php index be9c38d562a7..65cdb607400a 100644 --- a/app/Services/Invoice/MarkPaid.php +++ b/app/Services/Invoice/MarkPaid.php @@ -11,6 +11,7 @@ namespace App\Services\Invoice; +use App\Events\Invoice\InvoiceWasPaid; use App\Events\Payment\PaymentWasCreated; use App\Factory\PaymentFactory; use App\Models\Invoice; @@ -72,6 +73,7 @@ class MarkPaid extends AbstractService /* Update Invoice balance */ event(new PaymentWasCreated($payment, $payment->company, Ninja::eventVars())); + event(new InvoiceWasPaid($this->invoice, $payment->company, Ninja::eventVars())); $payment->ledger() ->updatePaymentBalance($payment->amount*-1); diff --git a/app/Services/Invoice/MarkSent.php b/app/Services/Invoice/MarkSent.php index b42831d83a0f..6442213bcb64 100644 --- a/app/Services/Invoice/MarkSent.php +++ b/app/Services/Invoice/MarkSent.php @@ -11,7 +11,7 @@ namespace App\Services\Invoice; -use App\Events\Invoice\InvoiceWasMarkedSent; +use App\Events\Invoice\InvoiceWasUpdated; use App\Models\Client; use App\Models\Invoice; use App\Services\AbstractService; @@ -41,8 +41,6 @@ class MarkSent extends AbstractService $this->invoice->setReminder(); - event(new InvoiceWasMarkedSent($this->invoice, $this->invoice->company, Ninja::eventVars())); - $this->invoice ->service() ->setStatus(Invoice::STATUS_SENT) @@ -54,6 +52,8 @@ class MarkSent extends AbstractService $this->invoice->ledger()->updateInvoiceBalance($this->invoice->balance); + event(new InvoiceWasUpdated($this->invoice, $this->invoice->company, Ninja::eventVars())); + return $this->invoice->fresh(); } } diff --git a/database/seeds/RandomDataSeeder.php b/database/seeds/RandomDataSeeder.php index 013fe1df92ea..c6ec55d476a2 100644 --- a/database/seeds/RandomDataSeeder.php +++ b/database/seeds/RandomDataSeeder.php @@ -3,7 +3,6 @@ use App\DataMapper\ClientSettings; use App\DataMapper\CompanySettings; use App\DataMapper\DefaultSettings; -use App\Events\Invoice\InvoiceWasMarkedSent; use App\Events\Invoice\InvoiceWasUpdated; use App\Events\Payment\PaymentWasCreated; use App\Helpers\Invoice\InvoiceSum; @@ -200,8 +199,6 @@ class RandomDataSeeder extends Seeder $invoice->ledger()->updateInvoiceBalance($invoice->balance); - event(new InvoiceWasMarkedSent($invoice, $company, Ninja::eventVars())); - if (rand(0, 1)) { $payment = App\Models\Payment::create([ 'date' => now(),