fixes for payment notifications

This commit is contained in:
David Bomba 2020-10-29 15:47:44 +11:00
parent bc688985e1
commit c21ad042ce
2 changed files with 20 additions and 15 deletions

View File

@ -53,11 +53,11 @@ class EntityPaidMailer extends BaseMailerJob implements ShouldQueue
* @param $user * @param $user
* @param $company * @param $company
*/ */
public function __construct($payment, $user, $company) public function __construct($payment, $company)
{ {
$this->company = $company; $this->company = $company;
$this->user = $user; $this->user = $payment->user;
$this->payment = $payment; $this->payment = $payment;
@ -82,16 +82,25 @@ class EntityPaidMailer extends BaseMailerJob implements ShouldQueue
//if we need to set an email driver do it now //if we need to set an email driver do it now
$this->setMailDriver(); $this->setMailDriver();
$mail_obj = (new EntityPaidObject($this->payment))->build(); try {
$mail_obj->from = [$this->payment->user->email, $this->payment->user->present()->name()];
//send email $mail_obj = (new EntityPaidObject($this->payment))->build();
Mail::to($this->user->email) $mail_obj->from = [$this->payment->user->email, $this->payment->user->present()->name()];
->send(new EntityNotificationMailer($mail_obj));
//catch errors //send email
if (count(Mail::failures()) > 0) { Mail::to($this->user->email)
return $this->logMailError(Mail::failures(), $this->payment->client); ->send(new EntityNotificationMailer($mail_obj));
} catch (Swift_TransportException $e) {
$this->failed($e->getMessage());
//$this->entityEmailFailed($e->getMessage());
} }
if (count(Mail::failures()) > 0) {
$this->logMailError(Mail::failures(), $this->entity->client);
} else {
// $this->entityEmailSucceeded();
}
} }
} }

View File

@ -62,11 +62,8 @@ class PaymentNotification implements ShouldQueue
if (($key = array_search('mail', $methods)) !== false) { if (($key = array_search('mail', $methods)) !== false) {
unset($methods[$key]); unset($methods[$key]);
//Fire mail notification here!!! EntityPaidMailer::dispatch($payment, $payment->company);
//This allows us better control of how we
//handle the mailer
EntityPaidMailer::dispatch($payment, $user, $payment->company);
} }
$notification = new NewPaymentNotification($payment, $payment->company); $notification = new NewPaymentNotification($payment, $payment->company);
@ -84,7 +81,6 @@ class PaymentNotification implements ShouldQueue
} }
/*Google Analytics Track Revenue*/ /*Google Analytics Track Revenue*/
if (isset($payment->company->google_analytics_key)) { if (isset($payment->company->google_analytics_key)) {
$this->trackRevenue($event); $this->trackRevenue($event);
} }