--- /dev/null
+<?php
+
+// __('!! Mon compte')
+
+namespace App\Http\Controllers\Admin;
+use Illuminate\Http\Request;
+use Prologue\Alerts\Facades\Alert;
+
+class MyAccountController extends \Backpack\CRUD\app\Http\Controllers\MyAccountController
+{
+ public function getAccountInfoForm()
+ {
+ $this->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();
+ }
+}
--- /dev/null
+{{--__('!! Mon compte')--}}
+@extends(backpack_view('blank'))
+
+@section('after_styles')
+ <style media="screen">
+ .backpack-profile-form .required::after {
+ content: ' *';
+ color: red;
+ }
+ </style>
+@endsection
+
+@php
+ $breadcrumbs = [
+ trans('backpack::crud.admin') => url(config('backpack.base.route_prefix'), 'dashboard'),
+ trans('backpack::base.my_account') => false,
+ ];
+@endphp
+
+@section('header')
+ <section class="content-header">
+ <div class="container-fluid mb-3">
+ <h1>{{ __('Mon compte') }}</h1>
+ </div>
+ </section>
+@endsection
+
+@section('content')
+ <div class="row">
+
+ @if (session('success'))
+ <div class="col-lg-8">
+ <div class="alert alert-success">
+ {{ session('success') }}
+ </div>
+ </div>
+ @endif
+
+ @if ($errors->count())
+ <div class="col-lg-8">
+ <div class="alert alert-danger">
+ <ul class="mb-1">
+ @foreach ($errors->all() as $e)
+ <li>{{ $e }}</li>
+ @endforeach
+ </ul>
+ </div>
+ </div>
+ @endif
+
+ {{-- UPDATE INFO FORM --}}
+ <div class="col-lg-8">
+ <form class="form" action="{{ route('backpack.account.info.store') }}" method="post">
+
+ {!! csrf_field() !!}
+
+ <div class="card padding-10">
+
+ <div class="card-header">
+ {{ __('Modifier mes paramètres') }}
+ </div>
+
+ <div class="card-body backpack-profile-form bold-labels">
+ <div class="row">
+ <div class="col-md-6 form-group">
+ @php
+ $field = 'locale';
+ $locales=['fr'=>'Français','en'=>'english'];
+ $v=old($field) ? old($field) : $user->$field;
+ @endphp
+ <label>{{ __('Langue') }}</label>
+ <select class="form-control" name="{{ $field }}">
+ @foreach($locales as $code=>$label)
+ <option value="{{$code}}" @if($v==$code) selected @endif>{{$label}}</option>
+ @endforeach
+ </select>
+ </div>
+
+ <div class="col-md-6 form-group">
+ {{-- @php--}}
+ {{-- $label = config('backpack.base.authentication_column_name');--}}
+ {{-- $field = backpack_authentication_column();--}}
+ {{-- @endphp--}}
+ {{-- <label class="required">{{ $label }}</label>--}}
+ {{-- <input required class="form-control" type="{{ backpack_authentication_column()=='email'?'email':'text' }}" name="{{ $field }}" value="{{ old($field) ? old($field) : $user->$field }}">--}}
+ </div>
+ </div>
+ </div>
+
+ <div class="card-footer">
+ <button type="submit" class="btn btn-success"><i
+ class="la la-save"></i> {{ __('Enregistrer') }}</button>
+ <a href="{{ backpack_url() }}" class="btn">{{ __('Annuler') }}</a>
+ </div>
+ </div>
+
+ </form>
+ </div>
+
+ {{-- CHANGE PASSWORD FORM --}}
+ <div class="col-lg-8">
+ <form class="form" action="{{ route('backpack.account.password') }}" method="post">
+
+ {!! csrf_field() !!}
+
+ <div class="card padding-10">
+
+ <div class="card-header">
+ {{ __('Modifier mon mot de passe') }}
+ </div>
+
+ <div class="card-body backpack-profile-form bold-labels">
+ <div class="row">
+ <div class="col-md-4 form-group">
+ @php
+ $field = 'old_password';
+ @endphp
+ <label class="required">{{ __('Mot de passe actuel') }}</label>
+ <input autocomplete="new-password" required class="form-control" type="password"
+ name="{{ $field }}" id="{{ $field }}" value="">
+ </div>
+
+ <div class="col-md-4 form-group">
+ @php
+
+ $field = 'new_password';
+ @endphp
+ <label class="required">{{ __('Nouveau mot de passe') }}</label>
+ <input autocomplete="new-password" required class="form-control" type="password"
+ name="{{ $field }}" id="{{ $field }}" value="">
+ </div>
+
+ <div class="col-md-4 form-group">
+ @php
+
+ $field = 'confirm_password';
+ @endphp
+ <label class="required">{{ __('Confirmation du mot de passe') }}</label>
+ <input autocomplete="new-password" required class="form-control" type="password"
+ name="{{ $field }}" id="{{ $field }}" value="">
+ </div>
+ </div>
+ </div>
+
+ <div class="card-footer">
+ <button type="submit" class="btn btn-success"><i
+ class="la la-save"></i> {{ __('Modifier mon mot de passe') }}</button>
+ <a href="{{ backpack_url() }}" class="btn">{{__('Annuler') }}</a>
+ </div>
+
+ </div>
+
+ </form>
+ </div>
+
+ </div>
+@endsection
--- /dev/null
+<?php
+
+use Illuminate\Support\Facades\Route;
+
+/*
+|--------------------------------------------------------------------------
+| Backpack\Base Routes
+|--------------------------------------------------------------------------
+|
+| This file is where you may define all of the routes that are
+| handled by the Backpack\Base package.
+|
+*/
+
+Route::group(
+ [
+ 'namespace' => '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');
+ }
+ }
+);