Fixes for sent notifications for reminders + recurring invoices
This commit is contained in:
parent
869a3df065
commit
9d52b76747
|
|
@ -89,6 +89,9 @@ class SendRemindersCron extends Command
|
|||
|
||||
if ($invoice->invitations->count() > 0) {
|
||||
// event(new InvoiceWasEmailed($invoice->invitations->first(), $invoice->company, Ninja::eventVars(), $reminder_template));
|
||||
|
||||
event(new \App\Events\General\EntityWasEmailed($invoice->invitations->first(), $invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null), $reminder_template));
|
||||
|
||||
$invoice->entityEmailEvent($invoice->invitations->first(), $reminder_template);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,6 +154,8 @@ class SendRecurring implements ShouldQueue
|
|||
{
|
||||
//Admin notification for recurring invoice sent.
|
||||
if ($invoice->invitations->count() >= 1) {
|
||||
|
||||
event(new \App\Events\General\EntityWasEmailed($invoice->invitations->first(), $invoice->company, \App\Utils\Ninja::eventVars(auth()->user() ? auth()->user()->id : null), 'invoice'));
|
||||
$invoice->entityEmailEvent($invoice->invitations->first(), 'invoice', 'email_template_invoice');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -146,13 +146,22 @@ class ReminderJob implements ShouldQueue
|
|||
$invoice->client->getSetting($enabled_reminder) &&
|
||||
$invoice->client->getSetting('send_reminders') &&
|
||||
(Ninja::isSelfHost() || $invoice->company->account->isPaidHostedClient())) {
|
||||
$invoice->invitations->each(function ($invitation) use ($invoice, $reminder_template) {
|
||||
|
||||
$event_fired = false;
|
||||
|
||||
$invoice->invitations->each(function ($invitation) use ($invoice, $reminder_template, &$event_fired) {
|
||||
if ($invitation->contact && !$invitation->contact->trashed() && $invitation->contact->email) {
|
||||
EmailEntity::dispatch($invitation->withoutRelations(), $invitation->company->db, $reminder_template);
|
||||
nrlog("Firing reminder email for invoice {$invoice->number} - {$reminder_template}");
|
||||
$invoice->entityEmailEvent($invitation, $reminder_template);
|
||||
$invoice->sendEvent(Webhook::EVENT_REMIND_INVOICE, "client");
|
||||
usleep(300000);
|
||||
|
||||
if (!$event_fired) {
|
||||
event(new \App\Events\General\EntityWasEmailed($invitation, $invoice->company, \App\Utils\Ninja::eventVars(auth()->user() ? auth()->user()->id : null), $reminder_template));
|
||||
$event_fired = true;
|
||||
}
|
||||
|
||||
usleep(200000);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,8 +140,14 @@ class TemplateService
|
|||
}));
|
||||
$this->twig->addFilter($filter);
|
||||
|
||||
$filter = new \Twig\TwigFilter('json_decode', \Closure::fromCallable(function (?string $json_string) {
|
||||
return json_decode($json_string ?? '', true, 512);
|
||||
}));
|
||||
$this->twig->addFilter($filter);
|
||||
|
||||
|
||||
$allowedTags = ['if', 'for', 'set', 'filter'];
|
||||
$allowedFilters = ['date_modify','trim','round','format_spellout_number','split','replace', 'escape', 'e', 'upper', 'lower', 'capitalize', 'filter', 'length', 'merge','format_currency', 'format_number','format_percent_number','map', 'join', 'first', 'date', 'sum', 'number_format','nl2br','striptags','markdown_to_html'];
|
||||
$allowedFilters = ['format_date','json_decode','date_modify','trim','round','format_spellout_number','split','replace', 'escape', 'e', 'upper', 'lower', 'capitalize', 'filter', 'length', 'merge','format_currency', 'format_number','format_percent_number','map', 'join', 'first', 'date', 'sum', 'number_format','nl2br','striptags','markdown_to_html'];
|
||||
$allowedFunctions = ['range', 'cycle', 'constant', 'date','img','t'];
|
||||
$allowedProperties = ['type_id'];
|
||||
// $allowedMethods = ['img','t'];
|
||||
|
|
|
|||
Loading…
Reference in New Issue