From 9c5253cd1ba13c44ce4569fabfd768330000fb36 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 2 Feb 2024 07:24:05 +1100 Subject: [PATCH] Fixes for logic around contact passwords - handling blank email strings --- app/Repositories/ClientContactRepository.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Repositories/ClientContactRepository.php b/app/Repositories/ClientContactRepository.php index 9419c40127..7e1ce9d207 100644 --- a/app/Repositories/ClientContactRepository.php +++ b/app/Repositories/ClientContactRepository.php @@ -82,10 +82,14 @@ class ClientContactRepository extends BaseRepository $update_contact->fill($contact); - if (array_key_exists('password', $contact) && strlen($contact['password']) > 1) { + if (array_key_exists('password', $contact) && strlen($contact['password']) > 1 && strlen($update_contact->email) > 3) { //updating on a blank contact email will cause large table scanning $update_contact->password = Hash::make($contact['password']); - $client->company->client_contacts()->where('email', $update_contact->email)->update(['password' => $update_contact->password]); + $client->company->client_contacts()->where('email', $update_contact->email)->cursor() + ->each(function ($saveable_contact) use ($update_contact){ + $saveable_contact->password = $update_contact->password; + $saveable_contact->save(); + }); } if (array_key_exists('email', $contact)) {