diff --git a/addons/default/visiosoft/profile-module/resources/lang/en/field.php b/addons/default/visiosoft/profile-module/resources/lang/en/field.php index 2f577d9ae..12092bfb3 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/en/field.php +++ b/addons/default/visiosoft/profile-module/resources/lang/en/field.php @@ -375,6 +375,9 @@ return [ 'password' => [ 'name' => 'Password', ], + 'old_password' => [ + 'name' => 'Old password', + ], 'new_password' => [ 'name' => 'New password', ], diff --git a/addons/default/visiosoft/profile-module/resources/lang/en/message.php b/addons/default/visiosoft/profile-module/resources/lang/en/message.php index fbd74ccb0..01da8faa1 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/en/message.php +++ b/addons/default/visiosoft/profile-module/resources/lang/en/message.php @@ -29,6 +29,7 @@ return [ 'empty_password_sms_message' => 'Due to security issues, we changed your password! Your new password is:', 'required_all' => "All Field is Required!", 'can_not_remove_filled_fields' => "You can not remove filled fields!", + 'wrong_password' => "The password you entered is not correct!", // Forgot Password 'email_phone_not_found' => 'The E-mail, Phone Number is not correct!', diff --git a/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig b/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig index c84551599..2f649fb22 100644 --- a/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig +++ b/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig @@ -236,6 +236,12 @@ {{ passwordForm.open()|raw }}
+
+
+ + {{ passwordForm.fields.old_password.input|raw }} +
+
diff --git a/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormBuilder.php b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormBuilder.php index 5f5578422..fe5ea5c1a 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormBuilder.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormBuilder.php @@ -6,6 +6,13 @@ use Anomaly\Streams\Platform\Ui\Form\FormBuilder; class PasswordFormBuilder extends FormBuilder { protected $fields = [ + 'old_password' => [ + 'type' => 'anomaly.field_type.text', + 'required' => true, + 'config' => [ + 'type' => 'password' + ], + ], 'new_password' => [ 'type' => 'anomaly.field_type.text', 'required' => true, diff --git a/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormHandler.php index ab88a1bd5..77b93ba91 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormHandler.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormHandler.php @@ -4,6 +4,7 @@ use Anomaly\Streams\Platform\Message\MessageBag; use Anomaly\UsersModule\User\User; use Anomaly\UsersModule\User\UserPassword; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; class PasswordFormHandler { @@ -20,6 +21,11 @@ class PasswordFormHandler return; } + if (!Hash::check($builder->getPostValue('old_password'), \auth()->user()->password)) { + $messages->error(trans('visiosoft.module.profile::message.wrong_password')); + return redirect()->back(); + } + if ($builder->getPostValue('new_password') != $builder->getPostValue('re_new_password')) { $messages->error(trans('visiosoft.module.profile::message.password_do_not_match')); return redirect()->back();