-
- /**
- * 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
- ]);
- }
-
- /**
- * Update the user's preferred book-list display setting.
- * @param $id
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function switchBookView($id, Request $request)
- {
- $this->checkPermissionOr('users-manage', function () use ($id) {
- return $this->currentUser->id == $id;
- });
-
- $viewType = $request->get('view_type');
- if (!in_array($viewType, ['grid', 'list'])) {
- $viewType = 'list';
- }
-
- $user = $this->user->findOrFail($id);
- setting()->putUser($user, 'books_view_type', $viewType);
-
- return redirect()->back(302, [], "/settings/users/$id");
- }
-
- /**
- * Update the user's preferred shelf-list display setting.
- * @param $id
- * @param Request $request
- * @return \Illuminate\Http\RedirectResponse
- */
- public function switchShelfView($id, Request $request)
- {
- $this->checkPermissionOr('users-manage', function () use ($id) {
- return $this->currentUser->id == $id;
- });
-
- $viewType = $request->get('view_type');
- if (!in_array($viewType, ['grid', 'list'])) {
- $viewType = 'list';
- }
-
- $user = $this->user->findOrFail($id);
- setting()->putUser($user, 'bookshelves_view_type', $viewType);
-
- return redirect()->back(302, [], "/settings/users/$id");
- }