From dcb246407993de5927efc1c83dbfda2093bc6a22 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Tue, 22 Sep 2020 13:51:03 +0300 Subject: [PATCH] =?UTF-8?q?#1947=20puan=20mod=C3=BCl=C3=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../profile-module/src/Events/UserUpdated.php | 13 ++++++++++++ .../Profile/Profile/ProfileFormHandler.php | 21 +++++++++++++++++-- .../src/Profile/User/UserFormHandler.php | 20 ++++++++++++++++-- 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 addons/default/visiosoft/profile-module/src/Events/UserUpdated.php diff --git a/addons/default/visiosoft/profile-module/src/Events/UserUpdated.php b/addons/default/visiosoft/profile-module/src/Events/UserUpdated.php new file mode 100644 index 000000000..74b6fdb4c --- /dev/null +++ b/addons/default/visiosoft/profile-module/src/Events/UserUpdated.php @@ -0,0 +1,13 @@ +oldCustomerInfo = $oldCustomerInfo; + $this->changes = $changes; + } +} \ No newline at end of file diff --git a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php index c6a4bc663..de21b46c2 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php @@ -2,7 +2,7 @@ use Anomaly\Streams\Platform\Message\MessageBag; use Anomaly\UsersModule\User\UserModel; -use Illuminate\Support\Facades\Auth; +use Visiosoft\ProfileModule\Events\UserUpdated; class ProfileFormHandler { @@ -30,8 +30,25 @@ class ProfileFormHandler $parameters['file_id'] = null; } - $userModel->newQuery()->where('id', Auth::id())->update($parameters); + $user = $userModel->newQuery()->find(\auth()->id()); + + $oldCustomerInfo = $user->toArray(); + + $changes = $this->change($user, $parameters); + + event(new UserUpdated($oldCustomerInfo, $changes)); $messages->success(trans('visiosoft.module.profile::message.success_update')); } + + public function change($user, $data) + { + $user->fill($data); + $changes = $user->getDirty(); + $user->save(); + if (count($changes) == 0) { + return false; + } + return $changes; + } } 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 e374d813a..b5eaeb29a 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/User/UserFormHandler.php +++ b/addons/default/visiosoft/profile-module/src/Profile/User/UserFormHandler.php @@ -2,8 +2,8 @@ use Anomaly\Streams\Platform\Message\MessageBag; use Anomaly\UsersModule\User\UserModel; -use Illuminate\Support\Facades\Auth; use Visiosoft\NotificationsModule\Notify\Notification\UserUpdateEmailMail; +use Visiosoft\ProfileModule\Events\UserUpdated; class UserFormHandler { @@ -24,7 +24,23 @@ class UserFormHandler $user->notify(new UserUpdateEmailMail()); } - $user->update($builder->getPostData()); + $oldCustomerInfo = $user->toArray(); + + $changes = $this->change($user, $data); + + event(new UserUpdated($oldCustomerInfo, $changes)); + $messages->success(trans('visiosoft.module.profile::message.success_update')); } + + public function change($user, $data) + { + $user->fill($data); + $changes = $user->getDirty(); + $user->save(); + if (count($changes) == 0) { + return false; + } + return $changes; + } }