diff --git a/app/Jobs/Entity/CreateEntityPdf.php b/app/Jobs/Entity/CreateEntityPdf.php index ba4ca050190f..e559f2a904c3 100644 --- a/app/Jobs/Entity/CreateEntityPdf.php +++ b/app/Jobs/Entity/CreateEntityPdf.php @@ -47,7 +47,7 @@ class CreateEntityPdf implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, NumberFormatter, MakesInvoiceHtml, PdfMaker, MakesHash, PageNumbering; - public Invoice | Quote | Credit | RecurringInvoice $entity; + public $entity; public $company; diff --git a/resources/views/portal/ninja2020/plan/trial.blade.php b/resources/views/portal/ninja2020/plan/trial.blade.php index c5e65ed3dfd1..ca27057d1496 100644 --- a/resources/views/portal/ninja2020/plan/trial.blade.php +++ b/resources/views/portal/ninja2020/plan/trial.blade.php @@ -1458,7 +1458,8 @@ Ensure the default browser behavior of the `hidden` attribute. id="name" placeholder="{{ ctrans('texts.name') }}" name="name" - value="{{$client->present()->name()}}" + value="{{$client->name}}" + required />
@@ -1822,6 +1823,23 @@ var country_value = e.options[e.selectedIndex].value; .getElementById('pay-now') .addEventListener('click', () => { + //make sure the user has entered their name + + if (document.querySelector('input[name=name]').value == '') { + let errors = document.getElementById('errors'); + let payNowButton = document.getElementById('pay-now'); + + errors.textContent = ''; + errors.textContent = "{{ ctrans('texts.please_enter_a_name') }}"; + errors.hidden = false; + + payNowButton.disabled = false; + payNowButton.querySelector('svg').classList.add('hidden'); + payNowButton.querySelector('span').classList.remove('hidden'); + return; + } + + let payNowButton = document.getElementById('pay-now'); payNowButton = payNowButton; payNowButton.disabled = true; @@ -1832,6 +1850,7 @@ var country_value = e.options[e.selectedIndex].value; payment_method_data: { billing_details: { name: document.querySelector('input[name=name]').content, + email: '{{ $client->present()->email() }}', address: { line1: document.querySelector('input[name=address1]').content, line2: document.querySelector('input[name=address2]').content, diff --git a/tests/MockAccountData.php b/tests/MockAccountData.php index 15b5daf6d8a4..c81a97c6a927 100644 --- a/tests/MockAccountData.php +++ b/tests/MockAccountData.php @@ -184,6 +184,8 @@ trait MockAccountData */ public $scheduler; + public $contact; + public function makeTestData() { config(['database.default' => config('ninja.db.default')]); @@ -326,6 +328,8 @@ trait MockAccountData 'send_email' => true, ]); + $this->contact = $contact; + $this->payment = Payment::factory()->create([ 'user_id' => $user_id, 'client_id' => $this->client->id,