diff --git a/app/Console/Commands/SendRemindersCron.php b/app/Console/Commands/SendRemindersCron.php index 3f64189f25f3..9ad36e5434c6 100644 --- a/app/Console/Commands/SendRemindersCron.php +++ b/app/Console/Commands/SendRemindersCron.php @@ -66,7 +66,7 @@ class SendRemindersCron extends Command ->cursor(); $invoices->each(function ($invoice){ - WebHookHandler::dispatch(Webhook::EVENT_LATE_INVOICE, $invoice); + WebHookHandler::dispatch(Webhook::EVENT_LATE_INVOICE, $invoice, $invoice->company); }); } @@ -79,7 +79,7 @@ class SendRemindersCron extends Command ->cursor(); $quotes->each(function ($quote){ - WebHookHandler::dispatch(Webhook::EVENT_EXPIRED_QUOTE, $quote); + WebHookHandler::dispatch(Webhook::EVENT_EXPIRED_QUOTE, $quote, $quote->company); }); } } diff --git a/app/Jobs/Util/WebhookHandler.php b/app/Jobs/Util/WebhookHandler.php index e607c930bc06..7bb753dcb05f 100644 --- a/app/Jobs/Util/WebhookHandler.php +++ b/app/Jobs/Util/WebhookHandler.php @@ -21,6 +21,7 @@ use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use League\Fractal\Manager; use League\Fractal\Resource\Item; +use App\Libraries\MultiDB; class WebhookHandler implements ShouldQueue { @@ -30,16 +31,18 @@ class WebhookHandler implements ShouldQueue private $event_id; + private $company; /** * Create a new job instance. * * @param $event_id * @param $entity */ - public function __construct($event_id, $entity) + public function __construct($event_id, $entity, $company) { $this->event_id = $event_id; $this->entity = $entity; + $this->company = $company; } /** @@ -49,6 +52,9 @@ class WebhookHandler implements ShouldQueue */ public function handle() :bool {//todo set multidb here + + MultiDB::setDb($this->company->db); + if (! $this->entity->company || $this->entity->company->is_disabled) { return true; } diff --git a/app/Repositories/Migration/InvoiceMigrationRepository.php b/app/Repositories/Migration/InvoiceMigrationRepository.php index 1b28ec5c52f5..d0a0b53b4ea2 100644 --- a/app/Repositories/Migration/InvoiceMigrationRepository.php +++ b/app/Repositories/Migration/InvoiceMigrationRepository.php @@ -138,10 +138,6 @@ class InvoiceMigrationRepository extends BaseRepository $model = $model->service()->applyNumber()->save(); - if ($model->company->update_products !== false) { - UpdateOrCreateProduct::dispatch($model->line_items, $model, $model->company); - } - if ($class->name == Invoice::class || $class->name == RecurringInvoice::class) { if (($state['finished_amount'] != $state['starting_amount']) && ($model->status_id != Invoice::STATUS_DRAFT)) { @@ -152,6 +148,11 @@ class InvoiceMigrationRepository extends BaseRepository if (! $model->design_id) { $model->design_id = $this->decodePrimaryKey($client->getSetting('invoice_design_id')); } + + + if ($model->company->update_products !== false) { + UpdateOrCreateProduct::dispatchNow($model->line_items, $model, $model->company); + } } if ($class->name == Credit::class) {