diff --git a/VERSION.txt b/VERSION.txt index a0155533fef6..2caede1122e7 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.3.46 \ No newline at end of file +5.3.47 \ No newline at end of file diff --git a/app/Http/Middleware/Locale.php b/app/Http/Middleware/Locale.php index e8c9e4e14835..d9f5513b8f16 100644 --- a/app/Http/Middleware/Locale.php +++ b/app/Http/Middleware/Locale.php @@ -35,7 +35,13 @@ class Locale } elseif (auth('contact')->user()) { App::setLocale(auth('contact')->user()->client->locale()); } elseif (auth()->user()) { - App::setLocale(auth()->user()->company()->getLocale()); + + try{ + App::setLocale(auth()->user()->company()->getLocale()); + } + catch(\Exception $e){ + } + } else { App::setLocale(config('ninja.i18n.locale')); } diff --git a/app/Jobs/Mail/NinjaMailerJob.php b/app/Jobs/Mail/NinjaMailerJob.php index 83a5b62bff7e..fc7eb610590f 100644 --- a/app/Jobs/Mail/NinjaMailerJob.php +++ b/app/Jobs/Mail/NinjaMailerJob.php @@ -210,6 +210,12 @@ class NinjaMailerJob implements ShouldQueue $user = $user->fresh(); } + //17-01-2022 - ensure we have a token otherwise we fail gracefully to default sending engine + if(strlen($user->oauth_user_token) == 0){ + $this->nmo->settings->email_sending_method = 'default'; + return $this->setMailDriver(); + } + $google->getClient()->setAccessToken(json_encode($user->oauth_user_token)); //need to slow down gmail requests otherwise we hit 429's diff --git a/app/Mail/Company/CompanyDeleted.php b/app/Mail/Company/CompanyDeleted.php index 5f32f7d6071f..30af1c606a35 100644 --- a/app/Mail/Company/CompanyDeleted.php +++ b/app/Mail/Company/CompanyDeleted.php @@ -48,7 +48,6 @@ class CompanyDeleted extends Mailable */ public function build() { - App::setLocale($this->company->getLocale()); return $this->from(config('mail.from.address'), config('mail.from.name')) ->subject(ctrans('texts.company_deleted')) diff --git a/app/PaymentDrivers/Eway/Token.php b/app/PaymentDrivers/Eway/Token.php index 63b83b9c4840..b49bf12a1439 100644 --- a/app/PaymentDrivers/Eway/Token.php +++ b/app/PaymentDrivers/Eway/Token.php @@ -43,6 +43,8 @@ class Token $amount = array_sum(array_column($payment_hash->invoices(), 'amount')) + $payment_hash->fee_total; + $this->eway_driver->payment_hash = $payment_hash; + $transaction = [ 'Customer' => [ 'TokenCustomerID' => $cgt->token, @@ -74,10 +76,10 @@ class Token $data = [ 'gateway_type_id' => GatewayType::CREDIT_CARD, 'payment_type' => PaymentType::CREDIT_CARD_OTHER, - 'transaction_reference' => $response->Customer->Reference, + 'transaction_reference' => $response->TransactionID, 'amount' => $amount, ]; - + $payment = $this->eway_driver->createPayment($data); $payment->meta = $cgt->meta; $payment->save(); diff --git a/app/PaymentDrivers/EwayPaymentDriver.php b/app/PaymentDrivers/EwayPaymentDriver.php index 65559abd41dc..4c25496c858a 100644 --- a/app/PaymentDrivers/EwayPaymentDriver.php +++ b/app/PaymentDrivers/EwayPaymentDriver.php @@ -167,12 +167,6 @@ class EwayPaymentDriver extends BaseDriver $fields[] = ['name' => 'client_name', 'label' => ctrans('texts.client_name'), 'type' => 'text', 'validation' => 'required']; } - // if ($this->company_gateway->require_contact_name) { - // } - - // if ($this->company_gateway->require_contact_email) { - // } - if ($this->company_gateway->require_client_phone) { $fields[] = ['name' => 'client_phone', 'label' => ctrans('texts.client_phone'), 'type' => 'tel', 'validation' => 'required']; } diff --git a/config/database.php b/config/database.php index 8c0d15cdf936..b5305f4d6547 100644 --- a/config/database.php +++ b/config/database.php @@ -1,5 +1,7 @@ true, 'strict' => env('DB_STRICT', false), 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', - // 'options' => array( - // PDO::ATTR_EMULATE_PREPARES => true - // ), + 'ssl_mode' => env('SSL_MODE',''), + // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], ], 'db-ninja-01a' => [ @@ -112,9 +113,8 @@ return [ 'prefix_indexes' => true, 'strict' => env('DB_STRICT', false), 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', - // 'options' => array( - // PDO::ATTR_EMULATE_PREPARES => true - // ), + 'ssl_mode' => env('SSL_MODE',''), //required + // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], ], 'db-ninja-02' => [ @@ -130,9 +130,8 @@ return [ 'prefix_indexes' => true, 'strict' => env('DB_STRICT', false), 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', - // 'options' => array( - // PDO::ATTR_EMULATE_PREPARES => true - // ), + 'ssl_mode' => env('SSL_MODE',''), + // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], ], 'db-ninja-02a' => [ @@ -148,9 +147,8 @@ return [ 'prefix_indexes' => true, 'strict' => env('DB_STRICT', false), 'engine' => 'InnoDB ROW_FORMAT=DYNAMIC', - // 'options' => array( - // PDO::ATTR_EMULATE_PREPARES => true - // ), + 'ssl_mode' => env('SSL_MODE',''), + // 'options' => Ninja::isHosted() ? config('ninja.db_options') : [], ], ], diff --git a/config/ninja.php b/config/ninja.php index d8292a5e6435..3f9f4a8e1bd7 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -14,8 +14,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'), - 'app_version' => '5.3.46', - 'app_tag' => '5.3.46', + 'app_version' => '5.3.47', + 'app_tag' => '5.3.47', 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', ''), @@ -59,6 +59,12 @@ return [ 'default' => env('DB_CONNECTION', 'mysql'), ], + 'db_options' => [ + PDO::MYSQL_ATTR_SSL_KEY => env("DB_CLIENT_KEY", ''), + PDO::MYSQL_ATTR_SSL_CERT => env("DB_CLIENT_CERT", ''), + PDO::MYSQL_ATTR_SSL_CA => env("DB_CA_CERT", ''), + ], + 'i18n' => [ 'timezone_id' => env('DEFAULT_TIMEZONE', 1), 'country_id' => env('DEFAULT_COUNTRY', 840), // United Stated