diff --git a/app/Jobs/RecurringInvoice/SendRecurring.php b/app/Jobs/RecurringInvoice/SendRecurring.php index ad6074309f80..3c98c00a4387 100644 --- a/app/Jobs/RecurringInvoice/SendRecurring.php +++ b/app/Jobs/RecurringInvoice/SendRecurring.php @@ -11,22 +11,24 @@ namespace App\Jobs\RecurringInvoice; -use App\DataMapper\Analytics\SendRecurringFailure; -use App\Factory\InvoiceInvitationFactory; -use App\Factory\RecurringInvoiceToInvoiceFactory; -use App\Jobs\Cron\AutoBill; -use App\Jobs\Entity\EmailEntity; +use Carbon\Carbon; +use App\Utils\Ninja; use App\Models\Invoice; +use App\Jobs\Cron\AutoBill; +use Illuminate\Bus\Queueable; +use App\Utils\Traits\MakesHash; +use App\Jobs\Entity\EmailEntity; use App\Models\RecurringInvoice; use App\Utils\Traits\GeneratesCounter; -use App\Utils\Traits\MakesHash; -use Carbon\Carbon; -use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; -use Illuminate\Foundation\Bus\Dispatchable; -use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Turbo124\Beacon\Facades\LightLogs; +use Illuminate\Queue\InteractsWithQueue; +use App\Events\Invoice\InvoiceWasCreated; +use App\Factory\InvoiceInvitationFactory; +use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Foundation\Bus\Dispatchable; +use App\Factory\RecurringInvoiceToInvoiceFactory; +use App\DataMapper\Analytics\SendRecurringFailure; class SendRecurring implements ShouldQueue { @@ -105,6 +107,7 @@ class SendRecurring implements ShouldQueue $this->recurring_invoice->save(); event('eloquent.created: App\Models\Invoice', $invoice); + event(new InvoiceWasCreated($invoice, $invoice->company, Ninja::eventVars())); //auto bill, BUT NOT DRAFTS!! if ($invoice->auto_bill_enabled && $invoice->client->getSetting('auto_bill_date') == 'on_send_date' && $invoice->client->getSetting('auto_email_invoice')) { diff --git a/app/Listeners/Invoice/CreateInvoiceActivity.php b/app/Listeners/Invoice/CreateInvoiceActivity.php index 42a5ccb34a19..f5baea05f0ea 100644 --- a/app/Listeners/Invoice/CreateInvoiceActivity.php +++ b/app/Listeners/Invoice/CreateInvoiceActivity.php @@ -52,7 +52,8 @@ class CreateInvoiceActivity implements ShouldQueue $fields->client_id = $event->invoice->client_id; $fields->company_id = $event->invoice->company_id; $fields->activity_type_id = Activity::CREATE_INVOICE; - + $fields->recurring_invoice_id = $event->invoice->recurring_id; + $this->activity_repo->save($fields, $event->invoice, $event->event_vars); } } diff --git a/app/Models/Activity.php b/app/Models/Activity.php index 2677a149d5c5..1b9d89ce59d7 100644 --- a/app/Models/Activity.php +++ b/app/Models/Activity.php @@ -416,6 +416,9 @@ class Activity extends StaticModel if($this->vendor) $replacements['vendor'] = ['label' => $this?->vendor?->present()->name() ?? '', 'hashed_id' => $this->vendor->hashed_id ?? '']; + if($this->activity_type_id == 4 && $this->recurring_invoice) + $replacements['recurring_invoice'] = ['label' => $this?->recurring_invoice?->number ?? '', 'hashed_id' => $this->recurring_invoice->hashed_id ?? '']; + $replacements['activity_type_id'] = $this->activity_type_id; $replacements['id'] = $this->id; $replacements['hashed_id'] = $this->hashed_id;