diff --git a/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php b/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php index 23f45236d..fc2b76390 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php @@ -1,6 +1,7 @@ where('status', 'passive') ->get(); } + ), + new \Twig_SimpleFunction( + 'fn', + function (Twig_Environment $twig, $name, ...$args) { + $fn = $twig->getFunction($name); + + if ($fn === false) { + return null; + } + + return $fn->getCallable()(...$args); + }, ['needs_environment' => true] ) ]; } 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 efe6bb1a3..e35fde682 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/en/message.php +++ b/addons/default/visiosoft/profile-module/resources/lang/en/message.php @@ -33,4 +33,8 @@ return [ 'email_phone_not_found' => 'The E-mail, Phone Number is not correct!', 'disable_account' => 'Do you want to close your account? This operation cannot be undone.', + + // Mail + 'update_email_mail_subject' => 'Email Updated!', + 'update_email_mail_message' => 'Your Email Has Been Updated!', ]; 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 1db314103..ffe021537 100644 --- a/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig +++ b/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig @@ -79,7 +79,7 @@ - + {{ userForm.fields.email.input|raw }}
{{ userForm.actions|raw }} diff --git a/addons/default/visiosoft/profile-module/src/Profile/User/UserFormBuilder.php b/addons/default/visiosoft/profile-module/src/Profile/User/UserFormBuilder.php index beb5f5685..dea2ed4fa 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/User/UserFormBuilder.php +++ b/addons/default/visiosoft/profile-module/src/Profile/User/UserFormBuilder.php @@ -16,6 +16,9 @@ class UserFormBuilder extends FormBuilder 'last_name' => [ 'required' => true, ], + 'email' => [ + 'required' => true, + ], ]; protected $actions = [ diff --git a/addons/default/visiosoft/profile-module/src/Profile/User/UserFormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/User/UserFormHandler.php index dd9121d76..e374d813a 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/User/UserFormHandler.php +++ b/addons/default/visiosoft/profile-module/src/Profile/User/UserFormHandler.php @@ -3,6 +3,7 @@ use Anomaly\Streams\Platform\Message\MessageBag; use Anomaly\UsersModule\User\UserModel; use Illuminate\Support\Facades\Auth; +use Visiosoft\NotificationsModule\Notify\Notification\UserUpdateEmailMail; class UserFormHandler { @@ -16,8 +17,14 @@ class UserFormHandler return; } - $userModel->find(Auth::id()) - ->update($builder->getPostData()); + $data = $builder->getPostData(); + + $user = $userModel->find(\auth()->id()); + if ($user->email != $data['email']) { + $user->notify(new UserUpdateEmailMail()); + } + + $user->update($builder->getPostData()); $messages->success(trans('visiosoft.module.profile::message.success_update')); } }