diff --git a/app/Http/Controllers/ConnectedAccountController.php b/app/Http/Controllers/ConnectedAccountController.php index ae26922f8b..20fc66deea 100644 --- a/app/Http/Controllers/ConnectedAccountController.php +++ b/app/Http/Controllers/ConnectedAccountController.php @@ -160,6 +160,9 @@ class ConnectedAccountController extends BaseController 'email_verified_at' =>now() ]; + if(auth()->user()->email != $google->harvestEmail($user)) + return response()->json(['message' => 'Primary Email differs to OAuth email. Emails must match.'], 400); + auth()->user()->update($connected_account); auth()->user()->email_verified_at = now(); auth()->user()->save(); diff --git a/app/Http/Requests/Company/StoreCompanyRequest.php b/app/Http/Requests/Company/StoreCompanyRequest.php index 8bfe7e6696..12b3c9a26e 100644 --- a/app/Http/Requests/Company/StoreCompanyRequest.php +++ b/app/Http/Requests/Company/StoreCompanyRequest.php @@ -49,7 +49,7 @@ class StoreCompanyRequest extends Request } else { if(Ninja::isHosted()){ - $rules['subdomain'] = ['nullable|alpha_num', new ValidSubdomain($this->all())]; + $rules['subdomain'] = ['nullable', 'alpha_num', new ValidSubdomain($this->all())]; } else $rules['subdomain'] = 'nullable|alpha_num'; diff --git a/app/Http/Requests/Company/UpdateCompanyRequest.php b/app/Http/Requests/Company/UpdateCompanyRequest.php index 6c391c233e..42fb295e7f 100644 --- a/app/Http/Requests/Company/UpdateCompanyRequest.php +++ b/app/Http/Requests/Company/UpdateCompanyRequest.php @@ -50,7 +50,7 @@ class UpdateCompanyRequest extends Request } else { if(Ninja::isHosted()){ - $rules['subdomain'] = ['nullable|alpha_num', new ValidSubdomain($this->all())]; + $rules['subdomain'] = ['nullable', 'alpha_num', new ValidSubdomain($this->all())]; } else $rules['subdomain'] = 'nullable|alpha_num'; diff --git a/app/Listeners/Invoice/InvoiceEmailFailedActivity.php b/app/Listeners/Invoice/InvoiceEmailFailedActivity.php index feebbfd923..ea55738d98 100644 --- a/app/Listeners/Invoice/InvoiceEmailFailedActivity.php +++ b/app/Listeners/Invoice/InvoiceEmailFailedActivity.php @@ -43,6 +43,9 @@ class InvoiceEmailFailedActivity implements ShouldQueue MultiDB::setDb($event->company->db); + if(strpos($event->message, 'shared/public') !== false) + $event->message = "Unable to open attachment file for reading"; + $fields = new stdClass; $fields->invoice_id = $event->invitation->invoice->id; diff --git a/app/Mail/Engine/CreditEmailEngine.php b/app/Mail/Engine/CreditEmailEngine.php index 286371b858..0b7f48b801 100644 --- a/app/Mail/Engine/CreditEmailEngine.php +++ b/app/Mail/Engine/CreditEmailEngine.php @@ -95,9 +95,12 @@ class CreditEmailEngine extends BaseEmailEngine ->setInvitation($this->invitation); if ($this->client->getSetting('pdf_email_attachment') !== false && $this->credit->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) { - $this->setAttachments([$this->credit->pdf_file_path()]); - // $this->setAttachments(['path' => $this->credit->pdf_file_path(), 'name' => basename($this->credit->pdf_file_path())]); + if(Ninja::isHosted()) + $this->setAttachments([$this->credit->pdf_file_path(null, 'url', true)]); + else + $this->setAttachments([$this->credit->pdf_file_path()]); + } //attach third party documents diff --git a/app/Mail/Engine/InvoiceEmailEngine.php b/app/Mail/Engine/InvoiceEmailEngine.php index d6ee2258e2..e7bb397120 100644 --- a/app/Mail/Engine/InvoiceEmailEngine.php +++ b/app/Mail/Engine/InvoiceEmailEngine.php @@ -106,7 +106,12 @@ class InvoiceEmailEngine extends BaseEmailEngine ->setInvitation($this->invitation); if ($this->client->getSetting('pdf_email_attachment') !== false && $this->invoice->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) { - $this->setAttachments([$this->invoice->pdf_file_path()]); + + if(Ninja::isHosted()) + $this->setAttachments([$this->invoice->pdf_file_path(null, 'url', true)]); + else + $this->setAttachments([$this->invoice->pdf_file_path()]); + // $this->setAttachments(['path' => $this->invoice->pdf_file_path(), 'name' => basename($this->invoice->pdf_file_path())]); } diff --git a/app/Mail/Engine/QuoteEmailEngine.php b/app/Mail/Engine/QuoteEmailEngine.php index 28519cb375..5320e29183 100644 --- a/app/Mail/Engine/QuoteEmailEngine.php +++ b/app/Mail/Engine/QuoteEmailEngine.php @@ -97,8 +97,11 @@ class QuoteEmailEngine extends BaseEmailEngine if ($this->client->getSetting('pdf_email_attachment') !== false && $this->quote->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) { - $this->setAttachments([$this->quote->pdf_file_path()]); - //$this->setAttachments(['path' => $this->quote->pdf_file_path(), 'name' => basename($this->quote->pdf_file_path())]); + + if(Ninja::isHosted()) + $this->setAttachments([$this->quote->pdf_file_path(null, 'url', true)]); + else + $this->setAttachments([$this->quote->pdf_file_path()]); } diff --git a/app/PaymentDrivers/Stripe/UpdatePaymentMethods.php b/app/PaymentDrivers/Stripe/UpdatePaymentMethods.php index 842ee78fa9..79097c2a1d 100644 --- a/app/PaymentDrivers/Stripe/UpdatePaymentMethods.php +++ b/app/PaymentDrivers/Stripe/UpdatePaymentMethods.php @@ -74,15 +74,15 @@ class UpdatePaymentMethods $this->addOrUpdateCard($method, $token, GatewayType::SOFORT); } - $bank_accounts = Customer::allSources( - $token->gateway_customer_reference, - ['object' => 'bank_account', 'limit' => 300] - ); + // $bank_accounts = Customer::allSources( + // $token->gateway_customer_reference, + // ['object' => 'bank_account', 'limit' => 300] + // ); - foreach($bank_accounts as $bank_account) - { - $this->addOrUpdateBankAccount($bank_account, $token); - } + // foreach($bank_accounts as $bank_account) + // { + // $this->addOrUpdateBankAccount($bank_account, $token); + // } });