Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace App\Http\Controllers\User;
- use App\Http\Controllers\Controller;
- use App\Services\UsersService;
- use Illuminate\Http\RedirectResponse;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\View\View;
- use Throwable;
- class UserCabinetController extends Controller
- {
- public function __construct()
- {
- $this->middleware('auth');
- }
- /**
- * Отображение страницы редактирования профиля текущего пользователя
- * @return View
- */
- public function cabinet(): View
- {
- $user = Auth::user();
- return view('user.app.pages.cabinet', [
- 'user' => $user,
- 'genders' => UsersService::GENDERS,
- 'levels' => UsersService::LEVELS,
- ]);
- }
- /**
- * Сохранение профиля текущего пользователя
- * @param Request $request
- * @return RedirectResponse
- * @throws Throwable
- */
- public function cabinetSave( Request $request ): RedirectResponse
- {
- users()->saveCabinet( $request );
- return redirect()
- ->route('cabinet')
- ->with('status', 'Профиль сохранён');
- }
- /**
- * Смена пароля себе самим пользователем
- * @param Request $request
- * @return RedirectResponse
- */
- public function cabinetChangePassword( Request $request ): RedirectResponse
- {
- users()->changePassword( $request );
- return redirect()
- ->route('cabinet_password_edit')
- ->with('status', __('passwords.changed'));
- }
- /**
- * Страница изменения уведомлений
- * @return View
- */
- public function cabinetNotifications(): View
- {
- $user = Auth::user();
- $settings = users()->getSettings($user->id);
- return view('user.app.pages.cabinet-notifications', [
- 'settings' => UsersService::SETTINGS,
- 'values' => $settings,
- ]);
- }
- /**
- * Сохраняем галочки настроек пользователя
- * @param Request $request
- * @return RedirectResponse
- */
- public function saveCabinetNotifications(Request $request): RedirectResponse
- {
- users()->saveNotifications(Auth::user(), $request->post('notifications'));
- return redirect()
- ->route('cabinet_notifications')
- ->with('status', 'Настройки сохранены');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement