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 9ab15586f..654410428 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/en/field.php +++ b/addons/default/visiosoft/profile-module/resources/lang/en/field.php @@ -109,12 +109,10 @@ return [ /*Menu Button*/ - 'menu_profile' => [ + 'profile' => [ 'name' => 'Profile' ], - 'menu_balance' => [ - 'name' => 'Balance' - ], + 'create' => [ 'name' => 'Create' ], @@ -365,8 +363,8 @@ return [ 'corporate_settings' => [ 'name' => 'Corporate Settings', ], - 'change_password' => [ - 'name' => 'Change password', + 'password' => [ + 'name' => 'Password', ], 'new_password' => [ 'name' => 'New password', @@ -424,6 +422,8 @@ return [ 'name' => 'corporate', ], - + 'details' => [ + 'name' => 'Details' + ], ]; 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 3ed8b88c6..ba7c92cc0 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/en/message.php +++ b/addons/default/visiosoft/profile-module/resources/lang/en/message.php @@ -19,4 +19,7 @@ return [ "required_add"=> "Please fill in all required lines.", "no_extend_package" => "No Extend Ad Packages", "saved" => "Saved!", + 'please_confirm_transaction' => 'Please Confirm Transaction', + 'password_do_not_match' => 'Passwords do not match', + 'your_password_changed' => 'Your password was successfully updated', ]; diff --git a/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php b/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php index f621e9d59..7b31c6af7 100644 --- a/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php +++ b/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php @@ -65,42 +65,10 @@ class MyProfileController extends PublicController $advRepository->delete_empty_advs(); $menu_fields = array(); - - $isActive = new AdvModel(); - $isActiveMessages = $isActive->is_enabled('messages'); - $isActivePackages = $isActive->is_enabled('packages'); - - - if ($isActiveMessages) { - - $myMessages = new MessageModel(); - $myMessages = $myMessages->listMessages(); - $message_count = count($myMessages); - - $menu_messages = array(); - $menu_messages['href'] = "msg"; - $menu_messages['aria-controls'] = "msg"; - $menu_messages['title'] = trans('visiosoft.module.profile::field.menu_messages.name'); - $menu_fields[] = $menu_messages; - } - - $advs_count = new AdvModel(); $advs_count = count($advs_count->myAdvsByUser()->get()); - - if ($isActivePackages) { - $packageModel = new PackageModel(); - $my_packages = $packageModel->getPackageByLoggedInUser(); - $menu_packages = array(); - $menu_packages['href'] = "packages"; - $menu_packages['aria-controls'] = "packages"; - $menu_packages['title'] = trans('visiosoft.module.profile::field.menu_packages.name'); - $menu_fields[] = $menu_packages; - } - $profileModel = new ProfileModel(); - $adressModel = new AdressModel(); $users = UsersUsersEntryModel::find(Auth::id()); $profiles = $profileModel->getProfile(Auth::id())->orderBy("id")->first(); diff --git a/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormBuilder.php b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormBuilder.php new file mode 100644 index 000000000..a72b2a450 --- /dev/null +++ b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormBuilder.php @@ -0,0 +1,34 @@ + [ + 'type' => 'anomaly.field_type.text', + 'required' => true, + 'config' => [ + 'type' => 'password' + ], + ], + 're_new_password' => [ + 'type' => 'anomaly.field_type.text', + 'required' => true, + 'config' => [ + 'type' => 'password' + ], + ], + 'confirm_password' => [ + 'type' => 'anomaly.field_type.boolean', + ], + ]; + + protected $actions = [ + 'update' => [ + 'text' => 'visiosoft.module.profile::button.update_password' + ], + ]; +} diff --git a/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormHandler.php new file mode 100644 index 000000000..61d0c7161 --- /dev/null +++ b/addons/default/visiosoft/profile-module/src/Profile/Password/PasswordFormHandler.php @@ -0,0 +1,50 @@ +canSave()) { + return; + } + + if (!$builder->getPostValue('confirm_password')) { + $messages->error(trans('visiosoft.module.profile::message.please_confirm_transaction')); + 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(); + } + $validator = $userPassword->validate($builder->getPostValue('new_password')); + foreach ($validator->errors()->all() as $error) { + $errorList[] = $error; + } + + if (count($errorList) != 0) { + $messages->error($errorList); + return redirect()->back(); + } + + $userModel->find(Auth::id()) + ->update([ + 'password' => Hash::make($builder->getPostValue('new_password')) + ]); + $messages->success(trans('visiosoft.module.profile::message.your_password_changed')); + } +} diff --git a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormBuilder.php b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormBuilder.php new file mode 100644 index 000000000..15c577695 --- /dev/null +++ b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormBuilder.php @@ -0,0 +1,27 @@ + [ + 'text' => 'visiosoft.module.profile::button.update_profile' + ], + ]; +} diff --git a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php new file mode 100644 index 000000000..025c2281e --- /dev/null +++ b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php @@ -0,0 +1,37 @@ +canSave()) { + return; + } + + $parameters = [ + 'gsm_phone' => $builder->getPostValue('gsm_phone'), + 'office_phone' => $builder->getPostValue('office_phone'), + 'land_phone' => $builder->getPostValue('land_phone'), + 'identification_number' => $builder->getPostValue('identification_number'), + 'register_type' => $builder->getPostValue('register_type'), + 'adv_listing_banner_id' => $builder->getPostValue('adv_listing_banner'), + ]; + + if ($builder->getPostValue('file') != null) + $parameters['file_id'] = $builder->getPostValue('file'); + + + $profileModel->where('user_no_id', Auth::id()) + ->update($parameters); + + $messages->success(trans('visiosoft.module.profile::message.success_update')); + } +}