From f05b17aa9985e646cb734bb9880d836fd2ed87b5 Mon Sep 17 00:00:00 2001 From: Devansh Date: Sat, 1 Aug 2020 15:07:51 +0530 Subject: [PATCH] Enahancement Done --- .../Admin/src/Listeners/PasswordChange.php | 31 +++++++++++++ .../src/Providers/EventServiceProvider.php | 2 + .../Http/Controllers/CustomerController.php | 6 +++ .../Notifications/CustomerUpdatePassword.php | 43 +++++++++++++++++++ .../Webkul/Shop/src/Resources/lang/ar/app.php | 7 +++ .../Webkul/Shop/src/Resources/lang/de/app.php | 7 +++ .../Webkul/Shop/src/Resources/lang/en/app.php | 7 +++ .../Webkul/Shop/src/Resources/lang/es/app.php | 6 +++ .../Webkul/Shop/src/Resources/lang/fa/app.php | 7 +++ .../Webkul/Shop/src/Resources/lang/it/app.php | 9 +++- .../Webkul/Shop/src/Resources/lang/ja/app.php | 6 +++ .../Webkul/Shop/src/Resources/lang/nl/app.php | 7 +++ .../Webkul/Shop/src/Resources/lang/pl/app.php | 7 +++ .../Shop/src/Resources/lang/pt_BR/app.php | 7 +++ .../Webkul/Shop/src/Resources/lang/tr/app.php | 9 +++- .../emails/admin/update-password.blade.php | 25 +++++++++++ .../emails/customer/update-password.blade.php | 21 +++++++++ .../src/Http/Controllers/UserController.php | 13 ++++-- .../src/Notifications/AdminUpdatePassword.php | 43 +++++++++++++++++++ 19 files changed, 258 insertions(+), 5 deletions(-) create mode 100644 packages/Webkul/Admin/src/Listeners/PasswordChange.php create mode 100644 packages/Webkul/Customer/src/Notifications/CustomerUpdatePassword.php create mode 100755 packages/Webkul/Shop/src/Resources/views/emails/admin/update-password.blade.php create mode 100755 packages/Webkul/Shop/src/Resources/views/emails/customer/update-password.blade.php create mode 100644 packages/Webkul/User/src/Notifications/AdminUpdatePassword.php diff --git a/packages/Webkul/Admin/src/Listeners/PasswordChange.php b/packages/Webkul/Admin/src/Listeners/PasswordChange.php new file mode 100644 index 000000000..88fedf523 --- /dev/null +++ b/packages/Webkul/Admin/src/Listeners/PasswordChange.php @@ -0,0 +1,31 @@ +guard('customer')->user()->id; $this->validate(request(), [ @@ -104,6 +105,7 @@ class CustomerController extends Controller if (isset ($data['oldpassword'])) { if ($data['oldpassword'] != "" || $data['oldpassword'] != null) { if (Hash::check($data['oldpassword'], auth()->guard('customer')->user()->password)) { + $isPasswordChanged = true; $data['password'] = bcrypt($data['password']); } else { session()->flash('warning', trans('shop::app.customer.account.profile.unmatch')); @@ -119,6 +121,10 @@ class CustomerController extends Controller if ($customer = $this->customerRepository->update($data, $id)) { + if ($isPasswordChanged) { + Event::dispatch('user.admin.update-password', $customer); + } + Event::dispatch('customer.update.after', $customer); Session()->flash('success', trans('shop::app.customer.account.profile.edit-success')); diff --git a/packages/Webkul/Customer/src/Notifications/CustomerUpdatePassword.php b/packages/Webkul/Customer/src/Notifications/CustomerUpdatePassword.php new file mode 100644 index 000000000..c12f36e97 --- /dev/null +++ b/packages/Webkul/Customer/src/Notifications/CustomerUpdatePassword.php @@ -0,0 +1,43 @@ +customer = $customer; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->from(core()->getSenderEmailDetails()['email'], core()->getSenderEmailDetails()['name']) + ->to($this->customer->email, $this->customer->name) + ->subject(trans('shop::app.mail.update-password.subject')) + ->view('shop::emails.customer.update-password', ['user' => $this->customer]); + } +} \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/lang/ar/app.php b/packages/Webkul/Shop/src/Resources/lang/ar/app.php index e26883627..1e6dad093 100644 --- a/packages/Webkul/Shop/src/Resources/lang/ar/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/ar/app.php @@ -635,6 +635,13 @@ return [ 'thanks' => 'شكرا!' ], + 'update-password' => [ + 'subject' => 'تم تحديث كلمة السر', + 'dear' => ':name عزيزي', + 'info' => 'أنت تتلقى هذا البريد الإلكتروني لأنك قمت بتحديث كلمة المرور الخاصة بك.', + 'thanks' => 'شكرا!' + ], + 'customer' => [ 'new' => [ 'dear' => ':customer_name العزيز', diff --git a/packages/Webkul/Shop/src/Resources/lang/de/app.php b/packages/Webkul/Shop/src/Resources/lang/de/app.php index 52de95e10..de30109f4 100755 --- a/packages/Webkul/Shop/src/Resources/lang/de/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/de/app.php @@ -629,6 +629,13 @@ return [ 'thanks' => 'Vielen Dank!' ], + 'update-password' => [ + 'subject' => 'Passwort aktualisiert', + 'dear' => 'Sehr geehrte/r :name', + 'info' => 'Sie erhalten diese E-Mail, weil Sie Ihr Passwort aktualisiert haben.', + 'thanks' => 'Vielen Dank!' + ], + 'customer' => [ 'new' => [ 'dear' => 'Sehr geehrte/r :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index e7af54764..226f07942 100755 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -644,6 +644,13 @@ return [ 'thanks' => 'Thanks!' ], + 'update-password' => [ + 'subject' => 'Password Updated', + 'dear' => 'Dear :name', + 'info' => 'You are receiving this email because you have updated your password.', + 'thanks' => 'Thanks!' + ], + 'customer' => [ 'new' => [ 'dear' => 'Dear :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/lang/es/app.php b/packages/Webkul/Shop/src/Resources/lang/es/app.php index 3e9ef0f50..8c8760b8e 100644 --- a/packages/Webkul/Shop/src/Resources/lang/es/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/es/app.php @@ -582,6 +582,12 @@ return [ 'final-summary' => 'Si no has solicitado cambiar de contraseña, ninguna acción es requerida por tu parte.', 'thanks' => '¡Gracias!' ], + 'update-password' => [ + 'subject' => 'Contraseña actualiza', + 'dear' => 'Estimado/a :name', + 'info' => 'Está recibiendo este correo electrónico porque ha actualizado su contraseña.', + 'thanks' => '¡Gracias!' + ], 'customer' => [ 'new' => [ 'dear' => 'Estimado/a :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/lang/fa/app.php b/packages/Webkul/Shop/src/Resources/lang/fa/app.php index 28e7c5709..5def4a1c6 100644 --- a/packages/Webkul/Shop/src/Resources/lang/fa/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/fa/app.php @@ -634,6 +634,13 @@ return [ 'thanks' => 'با تشکر' ], + 'update-password' => [ + 'subject' => 'پسورد آپدیت شد', + 'dear' => ':name عزیز', + 'info' => 'شما این ایمیل را دریافت می کنید زیرا رمز خود را به روز کرده اید.', + 'thanks' => 'با تشکر' + ], + 'customer' => [ 'new' => [ 'dear' => ':customer_name عزیز', diff --git a/packages/Webkul/Shop/src/Resources/lang/it/app.php b/packages/Webkul/Shop/src/Resources/lang/it/app.php index 55716acb2..b2d607711 100644 --- a/packages/Webkul/Shop/src/Resources/lang/it/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/it/app.php @@ -643,6 +643,13 @@ return [ 'thanks' => 'Grazie!' ], + 'update-password' => [ + 'subject' => 'Password aggiornata', + 'dear' => 'Cara :name', + 'info' => 'Ricevi questa email perché hai aggiornato la password.', + 'thanks' => 'Grazie!' + ], + 'customer' => [ 'new' => [ 'dear' => 'Gentile :customer_name', @@ -675,7 +682,7 @@ return [ 'subject' => 'Email Iscrizione', 'greeting' => ' Benvenuto ' . config('app.name') . ' - Email Iscrizione', 'unsubscribe' => 'Cancellati', - 'summary' => 'Grazie per avere scelto di ricevere le nostre email. È passato un po\' di tempo da quando hai letto le email di ' . config('app.name') . '. Non è un nostro desidero inondare la tua casella email con le nostre comunicazioni. Se desideri comunque + 'summary' => 'Grazie per avere scelto di ricevere le nostre email. È passato un po\' di tempo da quando hai letto le email di ' . config('app.name') . '. Non è un nostro desidero inondare la tua casella email con le nostre comunicazioni. Se desideri comunque non ricevere più le nostre news clicca il bottone qui sotto.' ] ] diff --git a/packages/Webkul/Shop/src/Resources/lang/ja/app.php b/packages/Webkul/Shop/src/Resources/lang/ja/app.php index e4a461ae5..216ac7c15 100644 --- a/packages/Webkul/Shop/src/Resources/lang/ja/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/ja/app.php @@ -574,6 +574,12 @@ return [ 'final-summary' => 'Si no has solicitado cambiar de contraseña, ninguna acción es requerida por tu parte.', 'thanks' => 'ありがとうございます。' ], + 'update-password' => [ + 'subject' => 'パスワードが更新されました', + 'dear' => '様 :name', + 'info' => 'パスワードを更新したため、このメールをお送りしています。', + 'thanks' => 'ありがとうございます。' + ], 'customer' => [ 'new' => [ 'dear' => '様 :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/lang/nl/app.php b/packages/Webkul/Shop/src/Resources/lang/nl/app.php index 624d2ef56..0eebe56cc 100644 --- a/packages/Webkul/Shop/src/Resources/lang/nl/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/nl/app.php @@ -639,6 +639,13 @@ return [ 'thanks' => 'Bedankt!' ], + 'update-password' => [ + 'subject' => 'Wachtwoord bijgewerkt', + 'dear' => 'Lieve :name', + 'info' => 'Je ontvangt deze e-mail omdat je je wachtwoord hebt bijgewerkt.', + 'thanks' => 'Bedankt!' + ], + 'customer' => [ 'new' => [ 'dear' => 'Lieve :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/lang/pl/app.php b/packages/Webkul/Shop/src/Resources/lang/pl/app.php index 8681d7adb..4b963bacd 100644 --- a/packages/Webkul/Shop/src/Resources/lang/pl/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/pl/app.php @@ -633,6 +633,13 @@ return [ 'thanks' => 'Dzięki!' ], + 'update-password' => [ + 'subject' => 'Hasło zaktualizowane', + 'dear' => 'Drogi/a :name', + 'info' => 'Otrzymujesz tę wiadomość e-mail, ponieważ zaktualizowałeś swoje hasło.', + 'thanks' => 'Dzięki!' + ], + 'customer' => [ 'new' => [ 'dear' => 'Drogi/a :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php index 7857f8336..a87451e19 100755 --- a/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php @@ -607,6 +607,13 @@ return [ 'thanks' => 'Obrigado!' ], + 'update-password' => [ + 'subject' => 'Senha atualizada', + 'dear' => 'Caro :name', + 'info' => 'Você está recebendo este e-mail porque atualizou sua senha.', + 'thanks' => 'Obrigado!' + ], + 'customer' => [ 'new' => [ 'dear' => 'Caro :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/lang/tr/app.php b/packages/Webkul/Shop/src/Resources/lang/tr/app.php index 91379b8ac..a63c9df53 100644 --- a/packages/Webkul/Shop/src/Resources/lang/tr/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/tr/app.php @@ -574,7 +574,7 @@ return [ 'final-summary' => 'Bizi tercih ettiğiniz için teşekkür ederiz. Ürün kargoya teslim edildikten sonra takip numarası iletilecektir.', 'help' => 'Soru ve görüşleriniz için lütfen bizimle iletişime geçiniz: :support_email', 'thanks' => 'Teşekkürler!', - + 'comment' => [ 'subject' => 'Siparişinize yeni yorum yapıldı.', 'dear' => 'Sayın :customer_name', @@ -639,6 +639,13 @@ return [ 'thanks' => 'Teşekkürler!' ], + 'update-password' => [ + 'subject' => 'Şifre güncellendi', + 'dear' => 'Sayın :name', + 'info' => 'Bu e-postayı, şifrenizi güncellediğiniz için alıyorsunuz.', + 'thanks' => 'Teşekkürler!' + ], + 'customer' => [ 'new' => [ 'dear' => 'Sayın :customer_name', diff --git a/packages/Webkul/Shop/src/Resources/views/emails/admin/update-password.blade.php b/packages/Webkul/Shop/src/Resources/views/emails/admin/update-password.blade.php new file mode 100755 index 000000000..f1759daed --- /dev/null +++ b/packages/Webkul/Shop/src/Resources/views/emails/admin/update-password.blade.php @@ -0,0 +1,25 @@ +@component('shop::emails.layouts.master') +
+ + @if (core()->getConfigData('general.design.admin_logo.logo_image')) + {{ config('app.name') }} + @else + {{ config('app.name') }} + @endif + +
+ +
+

+ {{ __('shop::app.mail.update-password.dear', ['name' => $user->name]) }}, +

+ +

+ {{ __('shop::app.mail.update-password.info') }} +

+ +

+ {{ __('shop::app.mail.update-password.thanks') }} +

+
+@endcomponent \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/views/emails/customer/update-password.blade.php b/packages/Webkul/Shop/src/Resources/views/emails/customer/update-password.blade.php new file mode 100755 index 000000000..4d616875f --- /dev/null +++ b/packages/Webkul/Shop/src/Resources/views/emails/customer/update-password.blade.php @@ -0,0 +1,21 @@ +@component('shop::emails.layouts.master') +
+ + @include ('shop::emails.layouts.logo') + +
+ +
+

+ {{ __('shop::app.mail.update-password.dear', ['name' => $user->name]) }}, +

+ +

+ {{ __('shop::app.mail.update-password.info') }} +

+ +

+ {{ __('shop::app.mail.update-password.thanks') }} +

+
+@endcomponent \ No newline at end of file diff --git a/packages/Webkul/User/src/Http/Controllers/UserController.php b/packages/Webkul/User/src/Http/Controllers/UserController.php index 50980e304..06d58e228 100755 --- a/packages/Webkul/User/src/Http/Controllers/UserController.php +++ b/packages/Webkul/User/src/Http/Controllers/UserController.php @@ -2,12 +2,12 @@ namespace Webkul\User\Http\Controllers; +use Hash; use Illuminate\Support\Str; use Illuminate\Support\Facades\Event; -use Webkul\User\Repositories\AdminRepository; -use Webkul\User\Repositories\RoleRepository; use Webkul\User\Http\Requests\UserForm; -use Hash; +use Webkul\User\Repositories\RoleRepository; +use Webkul\User\Repositories\AdminRepository; class UserController extends Controller { @@ -125,11 +125,14 @@ class UserController extends Controller */ public function update(UserForm $request, $id) { + $isPasswordChanged = false; + $data = $request->all(); if (! $data['password']) { unset($data['password']); } else { + $isPasswordChanged = true; $data['password'] = bcrypt($data['password']); } @@ -143,6 +146,10 @@ class UserController extends Controller $admin = $this->adminRepository->update($data, $id); + if ($isPasswordChanged) { + Event::dispatch('user.admin.update-password', $admin); + } + Event::dispatch('user.admin.update.after', $admin); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'User'])); diff --git a/packages/Webkul/User/src/Notifications/AdminUpdatePassword.php b/packages/Webkul/User/src/Notifications/AdminUpdatePassword.php new file mode 100644 index 000000000..a53ad1d91 --- /dev/null +++ b/packages/Webkul/User/src/Notifications/AdminUpdatePassword.php @@ -0,0 +1,43 @@ +admin = $admin; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->from(core()->getSenderEmailDetails()['email'], core()->getSenderEmailDetails()['name']) + ->to($this->admin->email, $this->admin->name) + ->subject(trans('shop::app.mail.update-password.subject')) + ->view('shop::emails.admin.update-password', ['user' => $this->admin]); + } +} \ No newline at end of file