From 9f187955c2fd6d69ecb16842849e04c2ce8f2254 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 15 Mar 2023 13:34:22 +0100 Subject: [PATCH] wait #5809 @1.5 --- .../Controllers/Admin/MyAccountController.php | 38 +++++ resources/views/account/my_account.blade.php | 157 ++++++++++++++++++ routes/backpack/base.php | 65 ++++++++ 3 files changed, 260 insertions(+) create mode 100644 app/Http/Controllers/Admin/MyAccountController.php create mode 100644 resources/views/account/my_account.blade.php create mode 100644 routes/backpack/base.php diff --git a/app/Http/Controllers/Admin/MyAccountController.php b/app/Http/Controllers/Admin/MyAccountController.php new file mode 100644 index 000000000..6eae7f8b7 --- /dev/null +++ b/app/Http/Controllers/Admin/MyAccountController.php @@ -0,0 +1,38 @@ +data['title'] = __('Mon compte'); + $this->data['user'] = $this->guard()->user(); + + return view('account.my_account', $this->data); + } + + public function postMyAccountInfoForm(Request $request) + { + + $allowedSettings = ['locale']; + $data = []; + foreach ($allowedSettings as $s) { + $data[$s] = $request->get($s); + } + + $result = $this->guard()->user()->update($data); + + if ($result) { + Alert::success(__('Information enregistrées'))->flash(); + } else { + Alert::error(__('Une erreur s\'est produite'))->flash(); + } + + return redirect()->back(); + } +} diff --git a/resources/views/account/my_account.blade.php b/resources/views/account/my_account.blade.php new file mode 100644 index 000000000..9a64c940d --- /dev/null +++ b/resources/views/account/my_account.blade.php @@ -0,0 +1,157 @@ +{{--__('!! Mon compte')--}} +@extends(backpack_view('blank')) + +@section('after_styles') + +@endsection + +@php + $breadcrumbs = [ + trans('backpack::crud.admin') => url(config('backpack.base.route_prefix'), 'dashboard'), + trans('backpack::base.my_account') => false, + ]; +@endphp + +@section('header') +
+
+

{{ __('Mon compte') }}

+
+
+@endsection + +@section('content') +
+ + @if (session('success')) +
+
+ {{ session('success') }} +
+
+ @endif + + @if ($errors->count()) +
+
+
    + @foreach ($errors->all() as $e) +
  • {{ $e }}
  • + @endforeach +
+
+
+ @endif + + {{-- UPDATE INFO FORM --}} +
+
+ + {!! csrf_field() !!} + +
+ +
+ {{ __('Modifier mes paramètres') }} +
+ +
+
+
+ @php + $field = 'locale'; + $locales=['fr'=>'Français','en'=>'english']; + $v=old($field) ? old($field) : $user->$field; + @endphp + + +
+ +
+ {{-- @php--}} + {{-- $label = config('backpack.base.authentication_column_name');--}} + {{-- $field = backpack_authentication_column();--}} + {{-- @endphp--}} + {{-- --}} + {{-- --}} +
+
+
+ + +
+ +
+
+ + {{-- CHANGE PASSWORD FORM --}} +
+
+ + {!! csrf_field() !!} + +
+ +
+ {{ __('Modifier mon mot de passe') }} +
+ +
+
+
+ @php + $field = 'old_password'; + @endphp + + +
+ +
+ @php + + $field = 'new_password'; + @endphp + + +
+ +
+ @php + + $field = 'confirm_password'; + @endphp + + +
+
+
+ + + +
+ +
+
+ +
+@endsection diff --git a/routes/backpack/base.php b/routes/backpack/base.php new file mode 100644 index 000000000..607c9290a --- /dev/null +++ b/routes/backpack/base.php @@ -0,0 +1,65 @@ + 'Backpack\CRUD\app\Http\Controllers', + 'middleware' => config('backpack.base.web_middleware', 'web'), + 'prefix' => config('backpack.base.route_prefix'), + ], + function () { + // if not otherwise configured, setup the auth routes + if (config('backpack.base.setup_auth_routes')) { + // Authentication Routes... + Route::get('login', 'Auth\LoginController@showLoginForm')->name('backpack.auth.login'); + Route::post('login', 'Auth\LoginController@login'); + Route::get('logout', 'Auth\LoginController@logout')->name('backpack.auth.logout'); + Route::post('logout', 'Auth\LoginController@logout'); + + // Registration Routes... + Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('backpack.auth.register'); + Route::post('register', 'Auth\RegisterController@register'); + + // if not otherwise configured, setup the password recovery routes + if (config('backpack.base.setup_password_recovery_routes', true)) { + Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('backpack.auth.password.reset'); + Route::post('password/reset', 'Auth\ResetPasswordController@reset'); + Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('backpack.auth.password.reset.token'); + Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('backpack.auth.password.email')->middleware('backpack.throttle.password.recovery:' . config('backpack.base.password_recovery_throttle_access')); + } + } + + // if not otherwise configured, setup the dashboard routes + if (config('backpack.base.setup_dashboard_routes')) { + Route::get('dashboard', 'AdminController@dashboard')->name('backpack.dashboard'); + Route::get('/', 'AdminController@redirect')->name('backpack'); + } + }); + + +Route::group( + [ + 'namespace' => 'App\Http\Controllers\Admin', + 'middleware' => config('backpack.base.web_middleware', 'web'), + 'prefix' => config('backpack.base.route_prefix'), + ], + function () { + // if not otherwise configured, setup the "my account" routes + if (config('backpack.base.setup_my_account_routes')) { + Route::get('edit-account-info', 'MyAccountController@getAccountInfoForm')->name('backpack.account.info'); + Route::post('edit-account-info', 'MyAccountController@postMyAccountInfoForm')->name('backpack.account.info.store'); + Route::post('change-password', 'MyAccountController@postChangePasswordForm')->name('backpack.account.password'); + } + } +); -- 2.39.5