From 2391fe2dda1e0e0d168f4dbc217c29a6f8e6dbdd Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 26 Jul 2023 12:23:22 +1000 Subject: [PATCH] Fixes for signature dates and IP addresses --- app/Http/Controllers/ClientPortal/QuoteController.php | 2 +- .../Controllers/VendorPortal/PurchaseOrderController.php | 2 +- app/Jobs/Invoice/InjectSignature.php | 9 +++++++-- app/Services/ClientPortal/InstantPayment.php | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/ClientPortal/QuoteController.php b/app/Http/Controllers/ClientPortal/QuoteController.php index 4a072b4ad91b..dd56ca5edd0e 100644 --- a/app/Http/Controllers/ClientPortal/QuoteController.php +++ b/app/Http/Controllers/ClientPortal/QuoteController.php @@ -185,7 +185,7 @@ class QuoteController extends Controller $quote->service()->approve(auth()->user())->save(); if (request()->has('signature') && ! is_null(request()->signature) && ! empty(request()->signature)) { - InjectSignature::dispatch($quote, auth()->guard('contact')->user()->id, request()->signature); + InjectSignature::dispatch($quote, auth()->guard('contact')->user()->id, request()->signature, request()->getClientIp()); } } diff --git a/app/Http/Controllers/VendorPortal/PurchaseOrderController.php b/app/Http/Controllers/VendorPortal/PurchaseOrderController.php index 371cdc3212a8..108cee7667c4 100644 --- a/app/Http/Controllers/VendorPortal/PurchaseOrderController.php +++ b/app/Http/Controllers/VendorPortal/PurchaseOrderController.php @@ -186,7 +186,7 @@ class PurchaseOrderController extends Controller ->save(); if (request()->has('signature') && ! is_null(request()->signature) && ! empty(request()->signature)) { - (new InjectSignature($purchase_order, auth()->guard('vendor')->user()->id, request()->signature))->handle(); + (new InjectSignature($purchase_order, auth()->guard('vendor')->user()->id, request()->signature, request()->getClientIp()))->handle(); } event(new PurchaseOrderWasAccepted($purchase_order, auth()->guard('vendor')->user(), $purchase_order->company, Ninja::eventVars())); diff --git a/app/Jobs/Invoice/InjectSignature.php b/app/Jobs/Invoice/InjectSignature.php index a614851028f9..db67ea2b223e 100644 --- a/app/Jobs/Invoice/InjectSignature.php +++ b/app/Jobs/Invoice/InjectSignature.php @@ -25,19 +25,24 @@ class InjectSignature implements ShouldQueue public $contact_id; + public $ip; + /** * Create a new job instance. * * @param $entity * @param string $signature */ - public function __construct($entity, $contact_id, string $signature) + public function __construct($entity, $contact_id, string $signature, ?string $ip) { $this->entity = $entity; $this->contact_id = $contact_id; $this->signature = $signature; + + $this->ip = $ip; + } /** @@ -70,8 +75,8 @@ class InjectSignature implements ShouldQueue $invitation->signature_base64 = $this->signature; $invitation->signature_date = now(); + $invitation->signature_ip = $this->ip; $invitation->save(); - } } diff --git a/app/Services/ClientPortal/InstantPayment.php b/app/Services/ClientPortal/InstantPayment.php index da5e9ce2ddc0..c9366ad83b46 100644 --- a/app/Services/ClientPortal/InstantPayment.php +++ b/app/Services/ClientPortal/InstantPayment.php @@ -179,7 +179,7 @@ class InstantPayment $contact_id = auth()->guard('contact')->user() ? auth()->guard('contact')->user()->id : null; $invoices->each(function ($invoice) use($contact_id) { - InjectSignature::dispatch($invoice, $contact_id, $this->request->signature); + InjectSignature::dispatch($invoice, $contact_id, $this->request->signature, request()->getClientIp()); }); }