mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Fixes for mailers
This commit is contained in:
parent
ebb03e945b
commit
48c36d0004
@ -34,8 +34,8 @@ class GmailTransport extends AbstractTransport
|
||||
nlog("in Do Send");
|
||||
$message = MessageConverter::toEmail($message->getOriginalMessage());
|
||||
|
||||
$token = $message->getHeaders()->get('GmailToken')->getValue();
|
||||
$message->getHeaders()->remove('GmailToken');
|
||||
$token = $message->getHeaders()->get('gmailtoken')->getValue();
|
||||
$message->getHeaders()->remove('gmailtoken');
|
||||
|
||||
$client = new Client();
|
||||
$client->setClientId(config('ninja.auth.google.client_id'));
|
||||
|
@ -33,8 +33,8 @@ class Office365MailTransport extends AbstractTransport
|
||||
$symfony_message = MessageConverter::toEmail($message->getOriginalMessage());
|
||||
|
||||
$graph = new Graph();
|
||||
$token = $symfony_message->getHeaders()->get('GmailToken')->getValue();
|
||||
$symfony_message->getHeaders()->remove('GmailToken');
|
||||
$token = $symfony_message->getHeaders()->get('gmailtoken')->getValue();
|
||||
$symfony_message->getHeaders()->remove('gmailtoken');
|
||||
|
||||
$graph->setAccessToken($token);
|
||||
|
||||
|
@ -105,7 +105,7 @@ class ImportController extends Controller
|
||||
public function import(ImportRequest $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
nlog($data);
|
||||
|
||||
if (empty($data['hash'])) {
|
||||
// Create a reference
|
||||
$data['hash'] = $hash = Str::random(32);
|
||||
@ -113,7 +113,6 @@ nlog($data);
|
||||
/** @var UploadedFile $file */
|
||||
foreach ($request->files->get('files') as $entityType => $file) {
|
||||
$contents = file_get_contents($file->getPathname());
|
||||
|
||||
// Store the csv in cache with an expiry of 10 minutes
|
||||
Cache::put($hash.'-'.$entityType, base64_encode($contents), 600);
|
||||
}
|
||||
|
@ -35,9 +35,9 @@ class QueryLogging
|
||||
{
|
||||
|
||||
// Enable query logging for development
|
||||
if (! Ninja::isHosted() || ! config('beacon.enabled')) {
|
||||
return $next($request);
|
||||
}
|
||||
// if (! Ninja::isHosted() || ! config('beacon.enabled')) {
|
||||
// return $next($request);
|
||||
// }
|
||||
|
||||
$timeStart = microtime(true);
|
||||
DB::enableQueryLog();
|
||||
@ -50,8 +50,8 @@ class QueryLogging
|
||||
$timeEnd = microtime(true);
|
||||
$time = $timeEnd - $timeStart;
|
||||
|
||||
nlog("Query count = {$count}");
|
||||
nlog($queries);
|
||||
// nlog("Query count = {$count}");
|
||||
// nlog($queries);
|
||||
|
||||
if ($count > 175) {
|
||||
nlog("Query count = {$count}");
|
||||
|
@ -72,7 +72,7 @@ class CSVIngest implements ShouldQueue
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
$engine = $this->bootEngine($this->import_type);
|
||||
$engine = $this->bootEngine();
|
||||
|
||||
foreach (['client', 'product', 'invoice', 'payment', 'vendor', 'expense'] as $entity) {
|
||||
$engine->import($entity);
|
||||
@ -106,29 +106,23 @@ class CSVIngest implements ShouldQueue
|
||||
}
|
||||
}
|
||||
|
||||
private function bootEngine(string $import_type)
|
||||
private function bootEngine()
|
||||
{
|
||||
switch ($import_type) {
|
||||
switch ($this->import_type) {
|
||||
case 'csv':
|
||||
return new Csv($this->request, $this->company);
|
||||
break;
|
||||
case 'waveaccounting':
|
||||
return new Wave($this->request, $this->company);
|
||||
break;
|
||||
case 'invoicely':
|
||||
return new Invoicely($this->request, $this->company);
|
||||
break;
|
||||
case 'invoice2go':
|
||||
return new Invoice2Go($this->request, $this->company);
|
||||
break;
|
||||
case 'zoho':
|
||||
return new Zoho($this->request, $this->company);
|
||||
break;
|
||||
case 'freshbooks':
|
||||
return new Freshbooks($this->request, $this->company);
|
||||
break;
|
||||
default:
|
||||
// code...
|
||||
nlog("could not return provider");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -228,7 +228,7 @@ class NinjaMailerJob implements ShouldQueue
|
||||
$this->nmo
|
||||
->mailable
|
||||
->from($user->email, $user->name())
|
||||
->withSwiftMessage(function ($message) use($token) {
|
||||
->withSymfonyMessage(function ($message) use($token) {
|
||||
$message->getHeaders()->addTextHeader('GmailToken', $token);
|
||||
});
|
||||
|
||||
@ -298,7 +298,7 @@ class NinjaMailerJob implements ShouldQueue
|
||||
$this->nmo
|
||||
->mailable
|
||||
->from($user->email, $user->name())
|
||||
->withSwiftMessage(function ($message) use($token) {
|
||||
->withSymfonyMessage(function ($message) use($token) {
|
||||
$message->getHeaders()->addTextHeader('GmailToken', $token);
|
||||
});
|
||||
|
||||
|
@ -134,6 +134,8 @@ class TemplateEmail extends Mailable
|
||||
elseif($this->invitation->credit)
|
||||
$path = $this->client->credit_filepath($this->invitation).$this->invitation->credit->numberFormatter().'.pdf';
|
||||
|
||||
sleep(1);
|
||||
|
||||
if($path && !Storage::disk(config('filesystems.default'))->exists($path)){
|
||||
|
||||
sleep(2);
|
||||
|
@ -127,6 +127,8 @@ class VendorTemplateEmail extends Mailable
|
||||
if($this->invitation->purchase_order)
|
||||
$path = $this->vendor->purchase_order_filepath($this->invitation).$this->invitation->purchase_order->numberFormatter().'.pdf';
|
||||
|
||||
sleep(1);
|
||||
|
||||
if($path && !Storage::disk(config('filesystems.default'))->exists($path)){
|
||||
|
||||
sleep(2);
|
||||
|
@ -45,10 +45,7 @@ class SendEmail
|
||||
|
||||
$this->credit->invitations->each(function ($invitation) {
|
||||
if (! $invitation->contact->trashed() && $invitation->contact->email) {
|
||||
|
||||
// $email_builder = (new CreditEmail())->build($invitation, $this->reminder_template);
|
||||
// EmailCredit::dispatchNow($email_builder, $invitation, $invitation->company);
|
||||
EmailEntity::dispatchSync($invitation, $invitation->company, $this->reminder_template);
|
||||
EmailEntity::dispatch($invitation, $invitation->company, $this->reminder_template);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -421,7 +421,8 @@ class InvoiceService
|
||||
try {
|
||||
if ($force) {
|
||||
$this->invoice->invitations->each(function ($invitation) {
|
||||
CreateEntityPdf::dispatchSync($invitation);
|
||||
// CreateEntityPdf::dispatchSync($invitation);
|
||||
(new CreateEntityPdf($invitation))->handle();
|
||||
});
|
||||
|
||||
return $this;
|
||||
@ -560,7 +561,8 @@ class InvoiceService
|
||||
public function adjustInventory($old_invoice = [])
|
||||
{
|
||||
if ($this->invoice->company->track_inventory) {
|
||||
AdjustProductInventory::dispatchSync($this->invoice->company, $this->invoice, $old_invoice);
|
||||
(new AdjustProductInventory($this->invoice->company, $this->invoice, $old_invoice))->handle();
|
||||
// AdjustProductInventory::dispatchSync($this->invoice->company, $this->invoice, $old_invoice);
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
@ -124,7 +124,6 @@ return [
|
||||
'emergency' => [
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
],
|
||||
],
|
||||
|
||||
'gelf' => [
|
||||
'driver' => 'custom',
|
||||
@ -188,5 +187,6 @@ return [
|
||||
'extra_prefix' => null,
|
||||
],
|
||||
|
||||
]
|
||||
|
||||
];
|
||||
|
@ -44,57 +44,56 @@ return [
|
||||
'ses' => [
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'region' => env('SES_REGION', 'us-east-1'),
|
||||
],
|
||||
'sparkpost' => [
|
||||
'secret' => env('SPARKPOST_SECRET'),
|
||||
],
|
||||
|
||||
'sparkpost' => [
|
||||
'secret' => env('SPARKPOST_SECRET'),
|
||||
],
|
||||
'gmail' => [
|
||||
'token' => '',
|
||||
],
|
||||
|
||||
'gmail' => [
|
||||
'token' => '',
|
||||
],
|
||||
'stripe' => [
|
||||
'model' => App\Models\User::class,
|
||||
'key' => env('STRIPE_KEY'),
|
||||
'secret' => env('STRIPE_SECRET'),
|
||||
],
|
||||
|
||||
'stripe' => [
|
||||
'model' => App\Models\User::class,
|
||||
'key' => env('STRIPE_KEY'),
|
||||
'secret' => env('STRIPE_SECRET'),
|
||||
],
|
||||
'github' => [
|
||||
'client_id' => env('GITHUB_CLIENT_ID'),
|
||||
'client_secret' => env('GITHUB_CLIENT_SECRET'),
|
||||
'redirect' => env('GITHUB_OAUTH_REDIRECT'),
|
||||
],
|
||||
|
||||
'github' => [
|
||||
'client_id' => env('GITHUB_CLIENT_ID'),
|
||||
'client_secret' => env('GITHUB_CLIENT_SECRET'),
|
||||
'redirect' => env('GITHUB_OAUTH_REDIRECT'),
|
||||
],
|
||||
'google' => [
|
||||
'client_id' => env('GOOGLE_CLIENT_ID'),
|
||||
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
|
||||
'redirect' => env('GOOGLE_OAUTH_REDIRECT'),
|
||||
],
|
||||
|
||||
'google' => [
|
||||
'client_id' => env('GOOGLE_CLIENT_ID'),
|
||||
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
|
||||
'redirect' => env('GOOGLE_OAUTH_REDIRECT'),
|
||||
],
|
||||
'facebook' => [
|
||||
'client_id' => env('FACEBOOK_CLIENT_ID'),
|
||||
'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
|
||||
'redirect' => env('FACEBOOK_OAUTH_REDIRECT'),
|
||||
],
|
||||
|
||||
'facebook' => [
|
||||
'client_id' => env('FACEBOOK_CLIENT_ID'),
|
||||
'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
|
||||
'redirect' => env('FACEBOOK_OAUTH_REDIRECT'),
|
||||
],
|
||||
'linkedin' => [
|
||||
'client_id' => env('LINKEDIN_CLIENT_ID'),
|
||||
'client_secret' => env('LINKEDIN_CLIENT_SECRET'),
|
||||
'redirect' => env('LINKEDIN_OAUTH_REDIRECT'),
|
||||
],
|
||||
|
||||
'linkedin' => [
|
||||
'client_id' => env('LINKEDIN_CLIENT_ID'),
|
||||
'client_secret' => env('LINKEDIN_CLIENT_SECRET'),
|
||||
'redirect' => env('LINKEDIN_OAUTH_REDIRECT'),
|
||||
],
|
||||
'twitter' => [
|
||||
'client_id' => env('TWITTER_CLIENT_ID'),
|
||||
'client_secret' => env('TWITTER_CLIENT_SECRET'),
|
||||
'redirect' => env('TWITTER_OAUTH_REDIRECT'),
|
||||
],
|
||||
|
||||
'twitter' => [
|
||||
'client_id' => env('TWITTER_CLIENT_ID'),
|
||||
'client_secret' => env('TWITTER_CLIENT_SECRET'),
|
||||
'redirect' => env('TWITTER_OAUTH_REDIRECT'),
|
||||
],
|
||||
|
||||
'bitbucket' => [
|
||||
'client_id' => env('BITBUCKET_CLIENT_ID'),
|
||||
'client_secret' => env('BITBUCKET_CLIENT_SECRET'),
|
||||
'redirect' => env('BITBUCKET_OAUTH_REDIRECT'),
|
||||
],
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
'bitbucket' => [
|
||||
'client_id' => env('BITBUCKET_CLIENT_ID'),
|
||||
'client_secret' => env('BITBUCKET_CLIENT_SECRET'),
|
||||
'redirect' => env('BITBUCKET_OAUTH_REDIRECT'),
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -259,7 +259,7 @@ Route::group(['middleware' => ['throttle:300,1', 'api_db', 'token_auth', 'locale
|
||||
Route::resource('task_scheduler', TaskSchedulerController::class)->except('edit')->parameters(['task_scheduler' => 'scheduler']);
|
||||
|
||||
Route::get('scheduler', [SchedulerController::class, 'index']);
|
||||
Route::post('support/messages/send', [SendingController::class]);
|
||||
Route::post('support/messages/send', SendingController::class);
|
||||
|
||||
Route::post('self-update', [SelfUpdateController::class, 'update'])->middleware('password_protected');
|
||||
Route::post('self-update/check_version', [SelfUpdateController::class, 'checkVersion']);
|
||||
@ -287,7 +287,7 @@ Route::group(['middleware' => ['throttle:300,1', 'api_db', 'token_auth', 'locale
|
||||
Route::post('settings/disable_two_factor', [TwoFactorController::class, 'disableTwoFactor']);
|
||||
|
||||
|
||||
Route::post('verify', [TwilioController::class, 'generate'])->name('verify.generate')->middleware('throttle:5,1');
|
||||
Route::post('verify', [TwilioController::class, 'generate'])->name('verify.generate')->middleware('throttle:100,1');
|
||||
Route::post('verify/confirm', [TwilioController::class, 'confirm'])->name('verify.confirm');
|
||||
|
||||
Route::resource('vendors', VendorController::class); // name = (vendors. index / create / show / update / destroy / edit
|
||||
@ -333,11 +333,11 @@ Route::group(['middleware' => ['throttle:300,1', 'api_db', 'token_auth', 'locale
|
||||
});
|
||||
|
||||
Route::match(['get', 'post'], 'payment_webhook/{company_key}/{company_gateway_id}', PaymentWebhookController::class)
|
||||
->middleware(['throttle:1000,1','guest'])
|
||||
->middleware('throttle:1000,1')
|
||||
->name('payment_webhook');
|
||||
|
||||
Route::match(['get', 'post'], 'payment_notification_webhook/{company_key}/{company_gateway_id}/{client}', PaymentNotificationWebhookController::class)
|
||||
->middleware(['throttle:1000,1', 'guest'])
|
||||
->middleware('throttle:1000,1')
|
||||
->name('payment_notification_webhook');
|
||||
|
||||
Route::post('api/v1/postmark_webhook', [PostMarkController::class, 'webhook'])->middleware('throttle:1000,1');
|
||||
|
@ -90,7 +90,7 @@ Route::group(['middleware' => ['auth:contact', 'locale', 'domain_db','check_clie
|
||||
|
||||
Route::get('credits/{credit_invitation}', [App\Http\Controllers\ClientPortal\CreditController::class,'show'])->name('credits.show_invitation');
|
||||
|
||||
Route::get('client/switch_company/{contact}', [App\Http\Controllers\ClientPortal\SwitchCompanyController::class])->name('switch_company');
|
||||
Route::get('client/switch_company/{contact}', App\Http\Controllers\ClientPortal\SwitchCompanyController::class)->name('switch_company');
|
||||
|
||||
Route::post('documents/download_multiple', [App\Http\Controllers\ClientPortal\DocumentController::class, 'downloadMultiple'])->name('documents.download_multiple');
|
||||
Route::get('documents/{document}/download', [App\Http\Controllers\ClientPortal\DocumentController::class, 'download'])->name('documents.download');
|
||||
|
Loading…
x
Reference in New Issue
Block a user