Merge pull request #6818 from turbo124/v5-develop

Trigger model created event manually after model calculations have been performed
This commit is contained in:
David Bomba 2021-10-11 06:57:13 +11:00 committed by GitHub
commit 1de7b0077f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 36 additions and 15 deletions

View File

@ -58,6 +58,10 @@ class StoreDesignRequest extends Request
$input['design']['header'] = '';
}
if (! array_key_exists('body', $input['design']) || is_null($input['design']['body'])) {
$input['design']['body'] = '';
}
$this->replace($input);
}
}

View File

@ -57,6 +57,10 @@ class UpdateDesignRequest extends Request
$input['design']['header'] = '';
}
if (! array_key_exists('body', $input['design']) || is_null($input['design']['body'])) {
$input['design']['body'] = '';
}
$this->replace($input);
}
}

View File

@ -64,12 +64,12 @@ class SupportMessageSent extends Mailable
$db = str_replace("db-ninja-", "", $company->db);
$is_large = $company->is_large ? "L" : "S";
$platform = array_key_exists('platform', $this->data) ? $this->data['platform'] : "U";
$migrated = strlen($company->company_key) == 32 ? "M" : "T";
$migrated = strlen($company->company_key) == 32 ? "M" : "";
if(Ninja::isHosted())
$subject = "{$priority}Hosted-{$db}-{$is_large}{$platform}{$migrated} :: {$plan} :: ".date('M jS, g:ia');
else
$subject = "{$priority}Self Hosted :: {$plan}{$platform} :: ".date('M jS, g:ia');
$subject = "{$priority}Self Hosted :: {$plan} :: {$platform} :: ".date('M jS, g:ia');
return $this->from(config('mail.from.address'), $user->present()->name())
->replyTo($user->email, $user->present()->name())

View File

@ -84,9 +84,9 @@ class Client extends BaseModel implements HasLocalePreference
];
protected $with = [
// 'gateway_tokens',
// 'documents',
// 'contacts.company',
'gateway_tokens',
'documents',
'contacts.company',
// 'currency',
// 'primary_contact',
// 'country',

View File

@ -34,7 +34,6 @@ class InvoiceObserver
->where('event_id', Webhook::EVENT_CREATE_INVOICE)
->exists();
if ($subscriptions) {
$invoice->load('client');

View File

@ -29,8 +29,9 @@ class BaseRepository
use MakesHash;
use SavesDocuments;
public $import_mode = false;
public bool $import_mode = false;
private bool $new_model = false;
/**
* @param $entity
* @param $type
@ -207,9 +208,9 @@ class BaseRepository
$model->custom_surcharge_tax4 = $client->company->custom_surcharge_taxes4;
if(!$model->id)
$model->save();
else
$model->saveQuietly();
$this->new_model = true;
$model->saveQuietly();
/* Model now persisted, now lets do some child tasks */
@ -323,6 +324,9 @@ class BaseRepository
//links tasks and expenses back to the invoice.
$model->service()->linkEntities()->save();
if($this->new_model)
event('eloquent.created: App\Models\Invoice', $model);
}
if ($model instanceof Credit) {
@ -332,6 +336,9 @@ class BaseRepository
if (! $model->design_id)
$model->design_id = $this->decodePrimaryKey($client->getSetting('credit_design_id'));
if($this->new_model)
event('eloquent.created: App\Models\Credit', $model);
}
if ($model instanceof Quote) {
@ -341,6 +348,10 @@ class BaseRepository
$model = $model->calc()->getQuote();
if($this->new_model)
event('eloquent.created: App\Models\Quote', $model);
}
if ($model instanceof RecurringInvoice) {
@ -350,6 +361,9 @@ class BaseRepository
$model = $model->calc()->getRecurringInvoice();
if($this->new_model)
event('eloquent.created: App\Models\RecurringInvoice', $model);
}
$model->save();

View File

@ -155,7 +155,7 @@ class CreditService
*/
public function save() : ?Credit
{
$this->credit->save();
$this->credit->saveQuietly();
return $this->credit;
}

View File

@ -490,7 +490,7 @@ class InvoiceService
*/
public function save() :?Invoice
{
$this->invoice->save();
$this->invoice->saveQuietly();
return $this->invoice;
}

View File

@ -202,7 +202,7 @@ class QuoteService
*/
public function save() : ?Quote
{
$this->quote->save();
$this->quote->saveQuietly();
return $this->quote;
}

View File

@ -105,7 +105,7 @@ class RecurringService
public function save()
{
$this->recurring_entity->save();
$this->recurring_entity->saveQuietly();
return $this->recurring_entity;
}