Merge pull request #4314 from turbo124/v5-develop

Remove redundant entity notification
This commit is contained in:
David Bomba 2020-11-17 20:18:09 +11:00 committed by GitHub
commit c231dca308
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 25 additions and 21 deletions

View File

@ -88,14 +88,16 @@ class ImportMigrations extends Command
'confirmation_code' => $this->createDbHash(config('database.default')), 'confirmation_code' => $this->createDbHash(config('database.default')),
]); ]);
CompanyToken::unguard();
$company_token = CompanyToken::create([ $company_token = CompanyToken::create([
'user_id' => $user->id, 'user_id' => $user->id,
'company_id' => $company->id, 'company_id' => $company->id,
'account_id' => $account->id, 'account_id' => $account->id,
'name' => 'test token', 'name' => 'First token',
'token' => Str::random(64), 'token' => Str::random(64),
]); ]);
$user->companies()->attach($company->id, [ $user->companies()->attach($company->id, [
'account_id' => $account->id, 'account_id' => $account->id,
'is_owner' => 1, 'is_owner' => 1,

View File

@ -66,7 +66,7 @@ class SendRemindersCron extends Command
->cursor(); ->cursor();
$invoices->each(function ($invoice){ $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(); ->cursor();
$quotes->each(function ($quote){ $quotes->each(function ($quote){
WebHookHandler::dispatch(Webhook::EVENT_EXPIRED_QUOTE, $quote); WebHookHandler::dispatch(Webhook::EVENT_EXPIRED_QUOTE, $quote, $quote->company);
}); });
} }
} }

View File

@ -56,8 +56,6 @@ class SendRecurring implements ShouldQueue
*/ */
public function handle() : void public function handle() : void
{ {
info(" in the handle ");
// Generate Standard Invoice // Generate Standard Invoice
$invoice = RecurringInvoiceToInvoiceFactory::create($this->recurring_invoice, $this->recurring_invoice->client); $invoice = RecurringInvoiceToInvoiceFactory::create($this->recurring_invoice, $this->recurring_invoice->client);
@ -99,8 +97,9 @@ class SendRecurring implements ShouldQueue
$this->recurring_invoice->save(); $this->recurring_invoice->save();
if ($invoice->invitations->count() > 0) //this is duplicated!!
event(new InvoiceWasEmailed($invoice->invitations->first(), $invoice->company, Ninja::eventVars())); // if ($invoice->invitations->count() > 0)
// event(new InvoiceWasEmailed($invoice->invitations->first(), $invoice->company, Ninja::eventVars()));
} }

View File

@ -51,11 +51,11 @@ class StartMigration implements ShouldQueue
* @param User $user * @param User $user
* @param Company $company * @param Company $company
*/ */
public $tries = 1; public $tries = 0;
public $timeout = 86400; public $timeout = 86400;
public $backoff = 86430; //public $backoff = 86430;
public function __construct($filepath, User $user, Company $company) public function __construct($filepath, User $user, Company $company)
{ {
@ -107,7 +107,7 @@ class StartMigration implements ShouldQueue
$data = json_decode(file_get_contents($file), 1); $data = json_decode(file_get_contents($file), 1);
Import::dispatchNow($data['data'], $this->company, $this->user); Import::dispatchNow($data, $this->company, $this->user);
} catch (NonExistingMigrationFile | ProcessingMigrationArchiveFailed | ResourceNotAvailableForMigration | MigrationValidatorFailed | ResourceDependencyMissing $e) { } catch (NonExistingMigrationFile | ProcessingMigrationArchiveFailed | ResourceNotAvailableForMigration | MigrationValidatorFailed | ResourceDependencyMissing $e) {
Mail::to($this->user)->send(new MigrationFailed($e, $e->getMessage())); Mail::to($this->user)->send(new MigrationFailed($e, $e->getMessage()));

View File

@ -21,6 +21,7 @@ use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use League\Fractal\Manager; use League\Fractal\Manager;
use League\Fractal\Resource\Item; use League\Fractal\Resource\Item;
use App\Libraries\MultiDB;
class WebhookHandler implements ShouldQueue class WebhookHandler implements ShouldQueue
{ {
@ -30,16 +31,18 @@ class WebhookHandler implements ShouldQueue
private $event_id; private $event_id;
private $company;
/** /**
* Create a new job instance. * Create a new job instance.
* *
* @param $event_id * @param $event_id
* @param $entity * @param $entity
*/ */
public function __construct($event_id, $entity) public function __construct($event_id, $entity, $company)
{ {
$this->event_id = $event_id; $this->event_id = $event_id;
$this->entity = $entity; $this->entity = $entity;
$this->company = $company;
} }
/** /**
@ -49,6 +52,9 @@ class WebhookHandler implements ShouldQueue
*/ */
public function handle() :bool public function handle() :bool
{//todo set multidb here {//todo set multidb here
MultiDB::setDb($this->company->db);
if (! $this->entity->company || $this->entity->company->is_disabled) { if (! $this->entity->company || $this->entity->company->is_disabled) {
return true; return true;
} }

View File

@ -60,12 +60,9 @@ class InvoiceEmailedNotification implements ShouldQueue
if (($key = array_search('mail', $methods)) !== false && $first_notification_sent === true) { if (($key = array_search('mail', $methods)) !== false && $first_notification_sent === true) {
unset($methods[$key]); unset($methods[$key]);
//Fire mail notification here!!!
//This allows us better control of how we
//handle the mailer
EntitySentMailer::dispatch($event->invitation, 'invoice', $user, $event->invitation->company); EntitySentMailer::dispatch($event->invitation, 'invoice', $user, $event->invitation->company);
$first_notification_sent = false; $first_notification_sent = false;
} }
$notification->method = $methods; $notification->method = $methods;

View File

@ -1,5 +1,4 @@
<?php <?php
/** /**
* Invoice Ninja (https://invoiceninja.com). * Invoice Ninja (https://invoiceninja.com).
* *

View File

@ -138,10 +138,6 @@ class InvoiceMigrationRepository extends BaseRepository
$model = $model->service()->applyNumber()->save(); $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 ($class->name == Invoice::class || $class->name == RecurringInvoice::class) {
if (($state['finished_amount'] != $state['starting_amount']) && ($model->status_id != Invoice::STATUS_DRAFT)) { 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) { if (! $model->design_id) {
$model->design_id = $this->decodePrimaryKey($client->getSetting('invoice_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) { if ($class->name == Credit::class) {