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,