diff --git a/app/Models/Client.php b/app/Models/Client.php
index a002d18828d9..d001bae63c04 100644
--- a/app/Models/Client.php
+++ b/app/Models/Client.php
@@ -276,6 +276,9 @@ class Client extends BaseModel implements HasLocalePreference
public function locale()
{
+ if(!$this->language())
+ return 'en';
+
return $this->language()->locale ?: 'en';
}
diff --git a/config/database.php b/config/database.php
index b5305f4d6547..b4136c460a6e 100644
--- a/config/database.php
+++ b/config/database.php
@@ -96,8 +96,13 @@ return [
'prefix_indexes' => true,
'strict' => env('DB_STRICT', false),
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
- 'ssl_mode' => env('SSL_MODE',''),
// 'options' => Ninja::isHosted() ? config('ninja.db_options') : [],
+ 'options' => [
+ PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
+ 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", ''),
+ ],
],
'db-ninja-01a' => [
diff --git a/config/ninja.php b/config/ninja.php
index 3f9f4a8e1bd7..f15a4b5c0d76 100644
--- a/config/ninja.php
+++ b/config/ninja.php
@@ -60,6 +60,7 @@ return [
],
'db_options' => [
+ PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
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", ''),
diff --git a/resources/views/portal/ninja2020/components/livewire/credits-table.blade.php b/resources/views/portal/ninja2020/components/livewire/credits-table.blade.php
index bac9411b2a05..0847eed3c53d 100644
--- a/resources/views/portal/ninja2020/components/livewire/credits-table.blade.php
+++ b/resources/views/portal/ninja2020/components/livewire/credits-table.blade.php
@@ -56,7 +56,7 @@
{{ App\Utils\Number::formatMoney($credit->balance, $credit->client) }}
- {{ $credit->formatDate($credit->date, $credit->client->date_format()) }}
+ {{ $credit->translateDate($credit->date, $credit->client->date_format(), $credit->client->locale()) }}
|
{{ $credit->public_notes }}
diff --git a/resources/views/portal/ninja2020/components/livewire/invoices-table.blade.php b/resources/views/portal/ninja2020/components/livewire/invoices-table.blade.php
index e730da0dc80d..483ca203682b 100644
--- a/resources/views/portal/ninja2020/components/livewire/invoices-table.blade.php
+++ b/resources/views/portal/ninja2020/components/livewire/invoices-table.blade.php
@@ -79,7 +79,7 @@
{{ $invoice->number }}
|
- {{ $invoice->formatDate($invoice->date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->date, $invoice->client->date_format(), $invoice->client->locale()) }}
|
{{ App\Utils\Number::formatMoney($invoice->amount, $invoice->client) }}
@@ -88,7 +88,7 @@
{{ App\Utils\Number::formatMoney($invoice->balance, $invoice->client) }}
|
- {{ $invoice->formatDate($invoice->due_date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->due_date, $invoice->client->date_format(), $invoice->client->locale()) }}
|
{!! App\Models\Invoice::badgeForStatus($invoice->status) !!}
diff --git a/resources/views/portal/ninja2020/components/livewire/payments-table.blade.php b/resources/views/portal/ninja2020/components/livewire/payments-table.blade.php
index 755d090791f1..0c55031a907b 100644
--- a/resources/views/portal/ninja2020/components/livewire/payments-table.blade.php
+++ b/resources/views/portal/ninja2020/components/livewire/payments-table.blade.php
@@ -54,7 +54,7 @@
{{ $payment->number }}
|
- {{ $payment->formatDate($payment->date, $payment->client->date_format()) }}
+ {{ $payment->translateDate($payment->date, $payment->client->date_format(), $payment->client->locale()) }}
|
{{ optional($payment->type)->name }}
diff --git a/resources/views/portal/ninja2020/components/livewire/quotes-table.blade.php b/resources/views/portal/ninja2020/components/livewire/quotes-table.blade.php
index 760d0249ce4e..4c306a752878 100644
--- a/resources/views/portal/ninja2020/components/livewire/quotes-table.blade.php
+++ b/resources/views/portal/ninja2020/components/livewire/quotes-table.blade.php
@@ -74,13 +74,13 @@
{{ $quote->number }}
|
- {{ $quote->formatDate($quote->date, $quote->client->date_format()) }}
+ {{ $quote->translateDate($quote->date, $quote->client->date_format(), $quote->client->locale()) }}
|
{{ App\Utils\Number::formatMoney($quote->amount, $quote->client) }}
|
- {{ $quote->formatDate($quote->due_date, $quote->client->date_format()) }}
+ {{ $quote->translateDate($quote->due_date, $quote->client->date_format(), $quote->client->locale()) }}
|
{!! App\Models\Quote::badgeForStatus($quote->status_id) !!}
diff --git a/resources/views/portal/ninja2020/components/livewire/recurring-invoices-table.blade.php b/resources/views/portal/ninja2020/components/livewire/recurring-invoices-table.blade.php
index a94c4c8d984d..3d69c361da10 100644
--- a/resources/views/portal/ninja2020/components/livewire/recurring-invoices-table.blade.php
+++ b/resources/views/portal/ninja2020/components/livewire/recurring-invoices-table.blade.php
@@ -50,10 +50,10 @@
{{ \App\Models\RecurringInvoice::frequencyForKey($invoice->frequency_id) }}
|
- {{ $invoice->formatDate($invoice->date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->date, $invoice->client->date_format(), $invoice->client->locale()) }}
|
- {{ $invoice->formatDate($invoice->next_send_date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->next_send_date, $invoice->client->date_format(), $invoice->client->locale()) }}
|
{{ $invoice->remaining_cycles == '-1' ? ctrans('texts.endless') : $invoice->remaining_cycles }}
diff --git a/resources/views/portal/ninja2020/components/livewire/subscriptions-recurring-invoices-table.blade.php b/resources/views/portal/ninja2020/components/livewire/subscriptions-recurring-invoices-table.blade.php
index 2699deb4ee48..4803fd992c82 100644
--- a/resources/views/portal/ninja2020/components/livewire/subscriptions-recurring-invoices-table.blade.php
+++ b/resources/views/portal/ninja2020/components/livewire/subscriptions-recurring-invoices-table.blade.php
@@ -63,7 +63,7 @@
{{ App\Utils\Number::formatMoney($recurring_invoice->amount, $recurring_invoice->client) }}
|
- {{ $recurring_invoice->formatDate($recurring_invoice->date, $recurring_invoice->client->date_format()) }}
+ {{ $recurring_invoice->translateDate($recurring_invoice->date, $recurring_invoice->client->date_format(), $recurring_invoice->client->locale()) }}
|
amount, $invoice->client) }}
|
- {{ $invoice->formatDate($invoice->date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->date, $invoice->client->date_format(), $invoice->client->locale()) }}
|
@empty
@@ -124,7 +124,7 @@
{{ App\Utils\Number::formatMoney($invoice->amount, $invoice->client) }}
- {{ $invoice->formatDate($invoice->date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->date, $invoice->client->date_format(), $invoice->client->locale()) }}
|
@empty
diff --git a/resources/views/portal/ninja2020/invoices/payment.blade.php b/resources/views/portal/ninja2020/invoices/payment.blade.php
index 86780037515e..a3969763b6e5 100644
--- a/resources/views/portal/ninja2020/invoices/payment.blade.php
+++ b/resources/views/portal/ninja2020/invoices/payment.blade.php
@@ -67,7 +67,7 @@
{{ ctrans('texts.invoice_date') }}
- {{ $invoice->formatDate($invoice->date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->date, $invoice->client->date_format(), $invoice->client->locale()) }}
@endif
diff --git a/resources/views/portal/ninja2020/plan/index.blade.php b/resources/views/portal/ninja2020/plan/index.blade.php
index 4ab6008db659..7ba39ba682f2 100644
--- a/resources/views/portal/ninja2020/plan/index.blade.php
+++ b/resources/views/portal/ninja2020/plan/index.blade.php
@@ -27,7 +27,7 @@
{{ ctrans('texts.expires') }}
- {{ $client->formatDate($account->plan_expires, $client->date_format()) }}
+ {{ $client->translateDate($account->plan_expires, $client->date_format(), $client->locale()) }}
diff --git a/resources/views/portal/ninja2020/quotes/approve.blade.php b/resources/views/portal/ninja2020/quotes/approve.blade.php
index b7527bc25c11..1e94252cb4d0 100644
--- a/resources/views/portal/ninja2020/quotes/approve.blade.php
+++ b/resources/views/portal/ninja2020/quotes/approve.blade.php
@@ -62,7 +62,7 @@
{{ ctrans('texts.quote_date') }}
- {{ $quote->formatDate($quote->date, $quote->client->date_format()) }}
+ {{ $quote->translateDate($quote->date, $quote->client->date_format(), $quote->client->locale()) }}
diff --git a/resources/views/portal/ninja2020/recurring_invoices/cancellation/index.blade.php b/resources/views/portal/ninja2020/recurring_invoices/cancellation/index.blade.php
index 7cf377447915..39fdc982b33b 100644
--- a/resources/views/portal/ninja2020/recurring_invoices/cancellation/index.blade.php
+++ b/resources/views/portal/ninja2020/recurring_invoices/cancellation/index.blade.php
@@ -18,7 +18,7 @@
{{ ctrans('texts.start_date') }}
- {{ $invoice->formatDate($invoice->start_date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->start_date, $invoice->client->date_format(), $invoice->client->locale()) }}
@@ -26,7 +26,7 @@
{{ ctrans('texts.next_send_date') }}
- {{ $invoice->formatDate($invoice->next_send_date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->next_send_date, $invoice->client->date_format(), $invoice->client->locale()) }}
diff --git a/resources/views/portal/ninja2020/recurring_invoices/show.blade.php b/resources/views/portal/ninja2020/recurring_invoices/show.blade.php
index 7f2bc97c6a53..5e9189751382 100644
--- a/resources/views/portal/ninja2020/recurring_invoices/show.blade.php
+++ b/resources/views/portal/ninja2020/recurring_invoices/show.blade.php
@@ -19,7 +19,7 @@
{{ ctrans('texts.start_date') }}
- {{ $invoice->formatDate($invoice->start_date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->start_date, $invoice->client->date_format(), $invoice->client->locale()) }}
@@ -27,7 +27,7 @@
{{ ctrans('texts.next_send_date') }}
- {{ $invoice->formatDate($invoice->next_send_date, $invoice->client->date_format()) }}
+ {{ $invoice->translateDate($invoice->next_send_date, $invoice->client->date_format(), $invoice->client->locale()) }}
diff --git a/tests/Feature/ClientPortal/CreditsTest.php b/tests/Feature/ClientPortal/CreditsTest.php
index 37c15613397b..4846883d7809 100644
--- a/tests/Feature/ClientPortal/CreditsTest.php
+++ b/tests/Feature/ClientPortal/CreditsTest.php
@@ -51,10 +51,14 @@ class CreditsTest extends TestCase
$company = Company::factory()->create(['account_id' => $account->id]);
$company->settings = CompanySettings::defaults();
+ $company->settings->language_id = "1";
$company->save();
$client = Client::factory()->create(['company_id' => $company->id, 'user_id' => $user->id]);
$client->settings = ClientSettings::defaults();
+ $settings = $client->settings;
+ $settings->language_id = "1";
+ $client->settings = $settings;
$client->save();
ClientContact::factory()->count(2)->create([
@@ -63,7 +67,7 @@ class CreditsTest extends TestCase
'company_id' => $company->id,
]);
- Credit::factory()->create([
+ $c1 = Credit::factory()->create([
'user_id' => $user->id,
'company_id' => $company->id,
'client_id' => $client->id,
@@ -72,7 +76,7 @@ class CreditsTest extends TestCase
'status_id' => Credit::STATUS_SENT,
]);
- Credit::factory()->create([
+ $c2 = Credit::factory()->create([
'user_id' => $user->id,
'company_id' => $company->id,
'client_id' => $client->id,
@@ -81,7 +85,7 @@ class CreditsTest extends TestCase
'status_id' => Credit::STATUS_SENT,
]);
- Credit::factory()->create([
+ $c3 = Credit::factory()->create([
'user_id' => $user->id,
'company_id' => $company->id,
'client_id' => $client->id,
@@ -92,6 +96,10 @@ class CreditsTest extends TestCase
$this->actingAs($client->contacts->first(), 'contact');
+ $c1->load('client');
+ $c2->load('client');
+ $c3->load('client');
+
Livewire::test(CreditsTable::class, ['company' => $company])
->assertDontSee('testing-number-01')
->assertSee('testing-number-02')
@@ -108,7 +116,13 @@ class CreditsTest extends TestCase
$company = Company::factory()->create(['account_id' => $account->id]);
+
$client = Client::factory()->create(['company_id' => $company->id, 'user_id' => $user->id]);
+ $client->settings = ClientSettings::defaults();
+ $settings = $client->settings;
+ $settings->language_id = "1";
+ $client->settings = $settings;
+ $client->save();
ClientContact::factory()->count(2)->create([
'user_id' => $user->id,
diff --git a/tests/Feature/ClientPortal/InvoicesTest.php b/tests/Feature/ClientPortal/InvoicesTest.php
index 49ca1423821c..01a45444c23f 100644
--- a/tests/Feature/ClientPortal/InvoicesTest.php
+++ b/tests/Feature/ClientPortal/InvoicesTest.php
@@ -13,6 +13,7 @@
namespace Tests\Feature\ClientPortal;
+use App\DataMapper\ClientSettings;
use App\Http\Livewire\InvoicesTable;
use App\Models\Account;
use App\Models\Client;
@@ -49,8 +50,14 @@ class InvoicesTest extends TestCase
);
$company = Company::factory()->create(['account_id' => $account->id]);
+ $company->settings->language_id = "1";
+ $company->save();
$client = Client::factory()->create(['company_id' => $company->id, 'user_id' => $user->id]);
+ $settings = $client->settings;
+ $settings->language_id = "1";
+ $client->settings = $settings;
+ $client->save();
ClientContact::factory()->count(2)->create([
'user_id' => $user->id,
@@ -58,21 +65,21 @@ class InvoicesTest extends TestCase
'company_id' => $company->id,
]);
- $sent = Invoice::factory()->create([
+ $sent = Invoice::factory()->for($client)->create([
'user_id' => $user->id,
'company_id' => $company->id,
'client_id' => $client->id,
'status_id' => Invoice::STATUS_SENT,
]);
- $paid = Invoice::factory()->create([
+ $paid = Invoice::factory()->for($client)->create([
'user_id' => $user->id,
'company_id' => $company->id,
'client_id' => $client->id,
'status_id' => Invoice::STATUS_PAID,
]);
- $unpaid = Invoice::factory()->create([
+ $unpaid = Invoice::factory()->for($client)->create([
'user_id' => $user->id,
'company_id' => $company->id,
'client_id' => $client->id,