mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-03 06:34:33 -04:00
Inject delays in emails to allow enough time for attachment resources to upload when using S3 type storage
This commit is contained in:
parent
36462d2496
commit
4675cc92b5
@ -489,11 +489,13 @@ class LoginController extends BaseController
|
|||||||
|
|
||||||
public function redirectToProvider(string $provider)
|
public function redirectToProvider(string $provider)
|
||||||
{
|
{
|
||||||
//'https://www.googleapis.com/auth/gmail.send','email','profile','openid'
|
|
||||||
$scopes = [];
|
$scopes = [];
|
||||||
|
|
||||||
$parameters = [];
|
$parameters = [];
|
||||||
|
|
||||||
if($provider == 'google'){
|
if($provider == 'google'){
|
||||||
|
|
||||||
$scopes = ['https://www.googleapis.com/auth/gmail.send','email','profile','openid'];
|
$scopes = ['https://www.googleapis.com/auth/gmail.send','email','profile','openid'];
|
||||||
$parameters = ['access_type' => 'offline', "prompt" => "consent select_account", 'redirect_uri' => config('ninja.app_url')."/auth/google"];
|
$parameters = ['access_type' => 'offline', "prompt" => "consent select_account", 'redirect_uri' => config('ninja.app_url')."/auth/google"];
|
||||||
}
|
}
|
||||||
@ -508,6 +510,7 @@ class LoginController extends BaseController
|
|||||||
public function handleProviderCallback(string $provider)
|
public function handleProviderCallback(string $provider)
|
||||||
{
|
{
|
||||||
$socialite_user = Socialite::driver($provider)->user();
|
$socialite_user = Socialite::driver($provider)->user();
|
||||||
|
|
||||||
$oauth_user_token = '';
|
$oauth_user_token = '';
|
||||||
|
|
||||||
if($socialite_user->refreshToken){
|
if($socialite_user->refreshToken){
|
||||||
@ -517,7 +520,7 @@ class LoginController extends BaseController
|
|||||||
$client->setClientSecret(config('ninja.auth.google.client_secret'));
|
$client->setClientSecret(config('ninja.auth.google.client_secret'));
|
||||||
$client->fetchAccessTokenWithRefreshToken($socialite_user->refreshToken);
|
$client->fetchAccessTokenWithRefreshToken($socialite_user->refreshToken);
|
||||||
$oauth_user_token = $client->getAccessToken();
|
$oauth_user_token = $client->getAccessToken();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($user = OAuth::handleAuth($socialite_user, $provider))
|
if($user = OAuth::handleAuth($socialite_user, $provider))
|
||||||
@ -529,7 +532,6 @@ class LoginController extends BaseController
|
|||||||
$update_user = [
|
$update_user = [
|
||||||
'first_name' => $name[0],
|
'first_name' => $name[0],
|
||||||
'last_name' => $name[1],
|
'last_name' => $name[1],
|
||||||
// 'password' => '',
|
|
||||||
'email' => $socialite_user->getEmail(),
|
'email' => $socialite_user->getEmail(),
|
||||||
'oauth_user_id' => $socialite_user->getId(),
|
'oauth_user_id' => $socialite_user->getId(),
|
||||||
'oauth_provider_id' => $provider,
|
'oauth_provider_id' => $provider,
|
||||||
|
@ -564,7 +564,7 @@ class CreditController extends BaseController
|
|||||||
// EmailCredit::dispatch($credit, $credit->company);
|
// EmailCredit::dispatch($credit, $credit->company);
|
||||||
|
|
||||||
$credit->invitations->load('contact.client.country', 'credit.client.country', 'credit.company')->each(function ($invitation) use ($credit) {
|
$credit->invitations->load('contact.client.country', 'credit.client.country', 'credit.company')->each(function ($invitation) use ($credit) {
|
||||||
EmailEntity::dispatch($invitation, $credit->company, 'credit');
|
EmailEntity::dispatch($invitation, $credit->company, 'credit')->delay(now()->addSeconds(60));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ class EmailController extends BaseController
|
|||||||
$entity_obj->service()->markSent()->save();
|
$entity_obj->service()->markSent()->save();
|
||||||
|
|
||||||
EmailEntity::dispatch($invitation->fresh(), $invitation->company, $template, $data)
|
EmailEntity::dispatch($invitation->fresh(), $invitation->company, $template, $data)
|
||||||
->delay(now()->addSeconds(5));
|
->delay(now()->addSeconds(60));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,7 +212,8 @@ class SendReminders implements ShouldQueue
|
|||||||
if ($this->checkSendSetting($invoice, $template) && $invoice->company->account->hasFeature(Account::FEATURE_EMAIL_TEMPLATES_REMINDERS)) {
|
if ($this->checkSendSetting($invoice, $template) && $invoice->company->account->hasFeature(Account::FEATURE_EMAIL_TEMPLATES_REMINDERS)) {
|
||||||
nlog("firing email");
|
nlog("firing email");
|
||||||
|
|
||||||
EmailEntity::dispatchNow($invitation, $invitation->company, $template);
|
EmailEntity::dispatchNow($invitation, $invitation->company, $template)->delay(now()->addSeconds(60));
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ class SendRecurring implements ShouldQueue
|
|||||||
if ($invitation->contact && strlen($invitation->contact->email) >=1) {
|
if ($invitation->contact && strlen($invitation->contact->email) >=1) {
|
||||||
|
|
||||||
try{
|
try{
|
||||||
EmailEntity::dispatch($invitation, $invoice->company);
|
EmailEntity::dispatch($invitation, $invoice->company)->delay(now()->addSeconds(60));
|
||||||
}
|
}
|
||||||
catch(\Exception $e) {
|
catch(\Exception $e) {
|
||||||
nlog($e->getMessage());
|
nlog($e->getMessage());
|
||||||
|
@ -60,7 +60,7 @@ class ReminderJob implements ShouldQueue
|
|||||||
$invoice->service()->touchReminder($reminder_template)->save();
|
$invoice->service()->touchReminder($reminder_template)->save();
|
||||||
|
|
||||||
$invoice->invitations->each(function ($invitation) use ($invoice, $reminder_template) {
|
$invoice->invitations->each(function ($invitation) use ($invoice, $reminder_template) {
|
||||||
EmailEntity::dispatch($invitation, $invitation->company, $reminder_template);
|
EmailEntity::dispatch($invitation, $invitation->company, $reminder_template)->delay(now()->addSeconds(60));
|
||||||
nlog("Firing reminder email for invoice {$invoice->number}");
|
nlog("Firing reminder email for invoice {$invoice->number}");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ class SendFailedEmails implements ShouldQueue
|
|||||||
|
|
||||||
if ($invitation->invoice) {
|
if ($invitation->invoice) {
|
||||||
if ($invitation->contact->send_email && $invitation->contact->email) {
|
if ($invitation->contact->send_email && $invitation->contact->email) {
|
||||||
EmailEntity::dispatch($invitation, $invitation->company, $job_meta_array['reminder_template']);
|
EmailEntity::dispatch($invitation, $invitation->company, $job_meta_array['reminder_template'])->delay(now()->addSeconds(60));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -62,7 +62,7 @@ class TriggeredActions extends AbstractService
|
|||||||
$reminder_template = 'payment';
|
$reminder_template = 'payment';
|
||||||
|
|
||||||
$this->invoice->invitations->load('contact.client.country', 'invoice.client.country', 'invoice.company')->each(function ($invitation) use ($reminder_template) {
|
$this->invoice->invitations->load('contact.client.country', 'invoice.client.country', 'invoice.company')->each(function ($invitation) use ($reminder_template) {
|
||||||
EmailEntity::dispatch($invitation, $this->invoice->company, $reminder_template);
|
EmailEntity::dispatch($invitation, $this->invoice->company, $reminder_template)->delay(now()->addSeconds(60));
|
||||||
});
|
});
|
||||||
|
|
||||||
if ($this->invoice->invitations->count() > 0) {
|
if ($this->invoice->invitations->count() > 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user