-
- /**
- * Show the user profile page
- * @param $id
- * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
- */
- public function showProfilePage($id)
- {
- $user = $this->userRepo->getById($id);
- $userActivity = $this->userRepo->getActivity($user);
- $recentlyCreated = $this->userRepo->getRecentlyCreated($user, 5, 0);
- $assetCounts = $this->userRepo->getAssetCounts($user);
- return view('users/profile', [
- 'user' => $user,
- 'activity' => $userActivity,
- 'recentlyCreated' => $recentlyCreated,
- 'assetCounts' => $assetCounts
- ]);
- }
-
- public function switchBookView($id, Request $request) {
- $this->checkPermissionOr('users-manage', function () use ($id) {
- return $this->currentUser->id == $id;
- });
- $viewType = $request->get('book_view_type');
-
- if (!in_array($viewType, ['grid', 'list'])) {
- $viewType = 'list';
- }
-
- $user = $this->user->findOrFail($id);
- setting()->putUser($user, 'books_view_type', $viewType);
-
- $previousUrl = url()->previous();
- if (empty($previousUrl)) {
- // if no previous URL, redirect to settings
- return redirect("/settings/users/$id");
- } else {
- // redirect to the previous page.
- return redirect($previousUrl);
- }
- }