From 89dcd43e47efb120d0e6ee1426b6d67f25ea0b44 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 12 Sep 2020 19:53:28 +1000 Subject: [PATCH] Fixes for contact password not sticking on update --- app/Http/Requests/Client/UpdateClientRequest.php | 6 +++++- app/Repositories/ClientContactRepository.php | 10 ++++------ ...0_08_18_140557_add_is_public_to_documents_table.php | 4 ++++ resources/lang/en/texts.php | 1 + 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/Http/Requests/Client/UpdateClientRequest.php b/app/Http/Requests/Client/UpdateClientRequest.php index 42a05dd6db6e..7d9e05f4966f 100644 --- a/app/Http/Requests/Client/UpdateClientRequest.php +++ b/app/Http/Requests/Client/UpdateClientRequest.php @@ -81,6 +81,9 @@ class UpdateClientRequest extends Request 'email' => ctrans('validation.email', ['attribute' => 'email']), 'name.required' => ctrans('validation.required', ['attribute' => 'name']), 'required' => ctrans('validation.required', ['attribute' => 'email']), + 'contacts.*.password.min' => ctrans('texts.password_strength'), + 'contacts.*.password.regex' => ctrans('texts.password_strength'), + 'contacts.*.password.string' => ctrans('texts.password_strength'), ]; } @@ -109,11 +112,12 @@ class UpdateClientRequest extends Request if (strlen($contact['password']) == 0) { $input['contacts'][$key]['password'] = ''; } else { - $contact['password'] = str_replace('*', '', $contact['password']); + $input['contacts'][$key]['password'] = str_replace('*', '', $contact['password']); if (strlen($contact['password']) == 0) { unset($input['contacts'][$key]['password']); } + } } } diff --git a/app/Repositories/ClientContactRepository.php b/app/Repositories/ClientContactRepository.php index 3267bb20f84b..79f0ce397dcd 100644 --- a/app/Repositories/ClientContactRepository.php +++ b/app/Repositories/ClientContactRepository.php @@ -58,12 +58,10 @@ class ClientContactRepository extends BaseRepository $update_contact->fill($contact); - if (array_key_exists('password', $contact)) { - if (strlen($contact['password']) == 0) { - $update_contact->password = ''; - } else { - $update_contact->password = Hash::make($contact['password']); - } + if (array_key_exists('password', $contact) && strlen($contact['password']) > 1) { + + $update_contact->password = Hash::make($contact['password']); + } $update_contact->save(); diff --git a/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php b/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php index 73e37c195f27..c60cdb56f2e1 100644 --- a/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php +++ b/database/migrations/2020_08_18_140557_add_is_public_to_documents_table.php @@ -66,6 +66,10 @@ class AddIsPublicToDocumentsTable extends Migration Schema::table('companies', function ($table) { $table->enum('default_auto_bill', ['off', 'always', 'optin', 'optout'])->default('off'); }); + + Schema::table('recurring_invoices', function (Blueprint $table) { + $table->integer('remaining_cycles')->nullable()->change(); + }); } /** diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 4323653b70aa..82e47e29f195 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -3269,4 +3269,5 @@ return [ 'payment_due' => 'Payment due', 'account_balance' => 'Account balance', + 'password_strength' => 'Password strength too weak', ];