X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/141eecb858cce126452baeb16905e25b6ceb13c6..refs/pull/5429/head:/app/Users/Controllers/UserPreferencesController.php diff --git a/app/Users/Controllers/UserPreferencesController.php b/app/Users/Controllers/UserPreferencesController.php index b20a8aa37..0bed2d22a 100644 --- a/app/Users/Controllers/UserPreferencesController.php +++ b/app/Users/Controllers/UserPreferencesController.php @@ -3,48 +3,14 @@ namespace BookStack\Users\Controllers; use BookStack\Http\Controller; -use BookStack\Settings\UserShortcutMap; use BookStack\Users\UserRepo; use Illuminate\Http\Request; class UserPreferencesController extends Controller { - protected UserRepo $userRepo; - - public function __construct(UserRepo $userRepo) - { - $this->userRepo = $userRepo; - } - - /** - * Show the user-specific interface shortcuts. - */ - public function showShortcuts() - { - $shortcuts = UserShortcutMap::fromUserPreferences(); - $enabled = setting()->getForCurrentUser('ui-shortcuts-enabled', false); - - return view('users.preferences.shortcuts', [ - 'shortcuts' => $shortcuts, - 'enabled' => $enabled, - ]); - } - - /** - * Update the user-specific interface shortcuts. - */ - public function updateShortcuts(Request $request) - { - $enabled = $request->get('enabled') === 'true'; - $providedShortcuts = $request->get('shortcut', []); - $shortcuts = new UserShortcutMap($providedShortcuts); - - setting()->putForCurrentUser('ui-shortcuts', $shortcuts->toJson()); - setting()->putForCurrentUser('ui-shortcuts-enabled', $enabled); - - $this->showSuccessNotification(trans('preferences.shortcuts_update_success')); - - return redirect('/preferences/shortcuts'); + public function __construct( + protected UserRepo $userRepo + ) { } /** @@ -54,7 +20,7 @@ class UserPreferencesController extends Controller { $valueViewTypes = ['books', 'bookshelves', 'bookshelf']; if (!in_array($type, $valueViewTypes)) { - return redirect()->back(500); + return $this->redirectToRequest($request); } $view = $request->get('view'); @@ -65,7 +31,7 @@ class UserPreferencesController extends Controller $key = $type . '_view_type'; setting()->putForCurrentUser($key, $view); - return redirect()->back(302, [], "/"); + return $this->redirectToRequest($request); } /** @@ -75,7 +41,7 @@ class UserPreferencesController extends Controller { $validSortTypes = ['books', 'bookshelves', 'shelf_books', 'users', 'roles', 'webhooks', 'tags', 'page_revisions']; if (!in_array($type, $validSortTypes)) { - return redirect()->back(500); + return $this->redirectToRequest($request); } $sort = substr($request->get('sort') ?: 'name', 0, 50); @@ -86,18 +52,18 @@ class UserPreferencesController extends Controller setting()->putForCurrentUser($sortKey, $sort); setting()->putForCurrentUser($orderKey, $order); - return redirect()->back(302, [], "/"); + return $this->redirectToRequest($request); } /** * Toggle dark mode for the current user. */ - public function toggleDarkMode() + public function toggleDarkMode(Request $request) { - $enabled = setting()->getForCurrentUser('dark-mode-enabled', false); + $enabled = setting()->getForCurrentUser('dark-mode-enabled'); setting()->putForCurrentUser('dark-mode-enabled', $enabled ? 'false' : 'true'); - return redirect()->back(); + return $this->redirectToRequest($request); } /** @@ -123,7 +89,7 @@ class UserPreferencesController extends Controller { $validated = $this->validate($request, [ 'language' => ['required', 'string', 'max:20'], - 'active' => ['required', 'bool'], + 'active' => ['required', 'bool'], ]); $currentFavoritesStr = setting()->getForCurrentUser('code-language-favourites', '');