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();