diff --git a/app/Http/Controllers/ConnectedAccountController.php b/app/Http/Controllers/ConnectedAccountController.php
index f212396af2f2..456f519c2634 100644
--- a/app/Http/Controllers/ConnectedAccountController.php
+++ b/app/Http/Controllers/ConnectedAccountController.php
@@ -23,8 +23,8 @@ class ConnectedAccountController extends BaseController
parent::__construct();
}
-/**
- * Refreshes the data feed with the current Company User.
+ /**
+ * Connect an OAuth account to a regular email/password combination account
*
* @param Request $request
* @return User Refresh Feed.
diff --git a/app/Jobs/Entity/EmailEntity.php b/app/Jobs/Entity/EmailEntity.php
index 95c16acbf030..63b859906cd8 100644
--- a/app/Jobs/Entity/EmailEntity.php
+++ b/app/Jobs/Entity/EmailEntity.php
@@ -105,7 +105,7 @@ class EmailEntity implements ShouldQueue
MultiDB::setDB($this->company->db);
$nmo = new NinjaMailerObject;
- $nmo->mailable = new TemplateEmail($this->email_entity_builder,$this->invitation->contact);
+ $nmo->mailable = new TemplateEmail($this->email_entity_builder,$this->invitation->contact, $this->invitation);
$nmo->company = $this->company;
$nmo->settings = $this->settings;
$nmo->to_user = $this->invitation->contact;
diff --git a/app/Listeners/Mail/MailSentListener.php b/app/Listeners/Mail/MailSentListener.php
new file mode 100644
index 000000000000..603c8f2b94f5
--- /dev/null
+++ b/app/Listeners/Mail/MailSentListener.php
@@ -0,0 +1,47 @@
+company->db);
+ //$postmark_id = $message->getHeaders()->get('x-pm-message-id')->getValue();
+
+ if(property_exists($event->message, 'invitation')){
+ nlog($event->message->invitation);
+ }
+
+ }
+}
diff --git a/app/Mail/Engine/BaseEmailEngine.php b/app/Mail/Engine/BaseEmailEngine.php
index 982487ff448b..01727dfd8aef 100644
--- a/app/Mail/Engine/BaseEmailEngine.php
+++ b/app/Mail/Engine/BaseEmailEngine.php
@@ -31,6 +31,8 @@ class BaseEmailEngine implements EngineInterface
public $text;
+ public $invitation;
+
public function setFooter($footer)
{
$this->footer = $footer;
@@ -141,4 +143,15 @@ class BaseEmailEngine implements EngineInterface
public function build()
{
}
+
+ public function setInvitation($invitation)
+ {
+ $this->invitation = $invitation;
+ }
+
+ public function getInvitation()
+ {
+ return $this->invitation;
+ }
}
+
diff --git a/app/Mail/Engine/CreditEmailEngine.php b/app/Mail/Engine/CreditEmailEngine.php
index 57b0ffb45c4c..c97827b0fdb5 100644
--- a/app/Mail/Engine/CreditEmailEngine.php
+++ b/app/Mail/Engine/CreditEmailEngine.php
@@ -85,7 +85,8 @@ class CreditEmailEngine extends BaseEmailEngine
->setBody($body_template)
->setFooter("".ctrans('texts.view_credit').'')
->setViewLink($this->invitation->getLink())
- ->setViewText(ctrans('texts.view_credit'));
+ ->setViewText(ctrans('texts.view_credit'))
+ ->setInvitation($this->invitation);
if ($this->client->getSetting('pdf_email_attachment') !== false) {
$this->setAttachments(['path' => $this->credit->pdf_file_path(), 'name' => basename($this->credit->pdf_file_path())]);
diff --git a/app/Mail/Engine/InvoiceEmailEngine.php b/app/Mail/Engine/InvoiceEmailEngine.php
index 07f857aaafcb..40cd3eee7211 100644
--- a/app/Mail/Engine/InvoiceEmailEngine.php
+++ b/app/Mail/Engine/InvoiceEmailEngine.php
@@ -94,7 +94,8 @@ class InvoiceEmailEngine extends BaseEmailEngine
->setBody($body_template)
->setFooter("".ctrans('texts.view_invoice').'')
->setViewLink($this->invitation->getLink())
- ->setViewText(ctrans('texts.view_invoice'));
+ ->setViewText(ctrans('texts.view_invoice'))
+ ->setInvitation($this->invitation);
if ($this->client->getSetting('pdf_email_attachment') !== false) {
$this->setAttachments([$this->invoice->pdf_file_path()]);
diff --git a/app/Mail/Engine/QuoteEmailEngine.php b/app/Mail/Engine/QuoteEmailEngine.php
index 574ade2ea57a..a79a1fa0779b 100644
--- a/app/Mail/Engine/QuoteEmailEngine.php
+++ b/app/Mail/Engine/QuoteEmailEngine.php
@@ -85,7 +85,9 @@ class QuoteEmailEngine extends BaseEmailEngine
->setBody($body_template)
->setFooter("".ctrans('texts.view_quote').'')
->setViewLink($this->invitation->getLink())
- ->setViewText(ctrans('texts.view_quote'));
+ ->setViewText(ctrans('texts.view_quote'))
+ ->setInvitation($this->invitation);
+
if ($this->client->getSetting('pdf_email_attachment') !== false) {
// $this->setAttachments([$this->quote->pdf_file_path()]);
diff --git a/app/Mail/TemplateEmail.php b/app/Mail/TemplateEmail.php
index f6382ffafad4..62c7ed921763 100644
--- a/app/Mail/TemplateEmail.php
+++ b/app/Mail/TemplateEmail.php
@@ -29,7 +29,9 @@ class TemplateEmail extends Mailable
private $company;
- public function __construct($build_email, ClientContact $contact)
+ private $invitation;
+
+ public function __construct($build_email, ClientContact $contact, $invitation = null)
{
$this->build_email = $build_email;
@@ -38,6 +40,8 @@ class TemplateEmail extends Mailable
$this->client = $contact->client;
$this->company = $contact->company;
+
+ $this->invitation = $invitation;
}
public function build()
@@ -77,6 +81,7 @@ class TemplateEmail extends Mailable
])
->withSwiftMessage(function ($message) use($company){
$message->getHeaders()->addTextHeader('Tag', $company->company_key);
+ $message->invitation = $this->invitation;
});
//conditionally attach files
diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php
index 8a5209f6ff49..8728ecb8d81c 100644
--- a/app/Providers/EventServiceProvider.php
+++ b/app/Providers/EventServiceProvider.php
@@ -136,6 +136,7 @@ use App\Listeners\Invoice\InvoiceRestoredActivity;
use App\Listeners\Invoice\InvoiceReversedActivity;
use App\Listeners\Invoice\InvoiceViewedActivity;
use App\Listeners\Invoice\UpdateInvoiceActivity;
+use App\Listeners\Mail\MailSentListener;
use App\Listeners\Misc\InvitationViewedListener;
use App\Listeners\Payment\PaymentEmailFailureActivity;
use App\Listeners\Payment\PaymentEmailedActivity;
@@ -157,6 +158,8 @@ use App\Listeners\User\RestoredUserActivity;
use App\Listeners\User\UpdateUserLastLogin;
use App\Listeners\User\UpdatedUserActivity;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
+use Illuminate\Mail\Events\MessageSending;
+use Illuminate\Mail\Events\MessageSent;
class EventServiceProvider extends ServiceProvider
{
@@ -166,6 +169,11 @@ class EventServiceProvider extends ServiceProvider
* @var array
*/
protected $listen = [
+ MessageSending::class =>[
+ ],
+ MessageSent::class => [
+ MailSentListener::class,
+ ],
UserWasCreated::class => [
CreatedUserActivity::class,
SendVerificationNotification::class,