1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 08:21:34 +02:00

Fixes for logic around contact passwords - handling blank email strings

This commit is contained in:
David Bomba 2024-02-02 07:24:05 +11:00
parent 894d675e2a
commit 9c5253cd1b

View File

@ -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)) {