settings = $payment->client->getMergedSettings(); } /** * Execute the job. * * * @return void */ public function handle() { if ($this->company->is_disabled) { return true; } if ($this->contact->email) { MultiDB::setDb($this->company->db); $this->payment->load('invoices'); $this->contact->load('client'); App::forgetInstance('translator'); $t = app('translator'); App::setLocale($this->contact->preferredLocale()); $t->replace(Ninja::transformTranslations($this->settings)); $template_data['body'] = ctrans('texts.refunded_payment').' $payment.refunded

$invoices'; $template_data['subject'] = ctrans('texts.refunded_payment'); $email_builder = new PaymentEmailEngine($this->payment, $this->contact, $template_data); $email_builder->is_refund = true; $email_builder->build(); $invitation = null; $nmo = new NinjaMailerObject; if ($this->payment->invoices && $this->payment->invoices->count() >= 1) { if($this->contact) { $invitation = $this->payment->invoices->first()->invitations()->where('client_contact_id', $this->contact->id)->first(); } else { $invitation = $this->payment->invoices->first()->invitations()->first(); } if($invitation) { $nmo->invitation = $invitation; } } $nmo->mailable = new TemplateEmail($email_builder, $this->contact, $invitation); $nmo->to_user = $this->contact; $nmo->settings = $this->settings; $nmo->company = $this->company; $nmo->entity = $this->payment; (new NinjaMailerJob($nmo))->handle(); event(new PaymentWasEmailed($this->payment, $this->payment->company, $this->contact, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); } } }