From afdb872c8499b099810d30250a380eb4cd68ec20 Mon Sep 17 00:00:00 2001 From: Alex Bogdanovski Date: Tue, 3 Dec 2024 15:05:18 +0200 Subject: [PATCH] fixed profile link issues with # when user discoverability is disabled --- .../com/erudika/scoold/controllers/ProfileController.java | 3 ++- .../com/erudika/scoold/utils/ScooldRequestInterceptor.java | 2 +- src/main/resources/templates/base.vm | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/erudika/scoold/controllers/ProfileController.java b/src/main/java/com/erudika/scoold/controllers/ProfileController.java index e116e418..9cd43a9f 100755 --- a/src/main/java/com/erudika/scoold/controllers/ProfileController.java +++ b/src/main/java/com/erudika/scoold/controllers/ProfileController.java @@ -115,7 +115,8 @@ public String get(@PathVariable(required = false) String id, HttpServletRequest boolean protekted = !utils.isDefaultSpacePublic() && !utils.isAuthenticated(req); boolean sameSpace = (utils.canAccessSpace(showUser, "default") && utils.canAccessSpace(authUser, "default")) || (authUser != null && showUser.getSpaces().stream().anyMatch(s -> utils.canAccessSpace(authUser, s))); - if (protekted || !sameSpace || !CONF.usersDiscoverabilityEnabled(utils.isAdmin(authUser))) { + boolean profilesAreHidden = !isMyProfile && !CONF.usersDiscoverabilityEnabled(utils.isAdmin(authUser)); + if (protekted || !sameSpace || profilesAreHidden) { return "redirect:" + PEOPLELINK; } diff --git a/src/main/java/com/erudika/scoold/utils/ScooldRequestInterceptor.java b/src/main/java/com/erudika/scoold/utils/ScooldRequestInterceptor.java index 7ac53bd9..b44e3a1e 100755 --- a/src/main/java/com/erudika/scoold/utils/ScooldRequestInterceptor.java +++ b/src/main/java/com/erudika/scoold/utils/ScooldRequestInterceptor.java @@ -144,7 +144,7 @@ public void postHandle(HttpServletRequest request, HttpServletResponse response, modelAndView.addObject("scriptslink", CONF.scriptsLink()); // do not add context path prefix! modelAndView.addObject("styleslink", CONF.stylesLink()); // do not add context path prefix! modelAndView.addObject("peoplelink", CONF.serverContextPath() + PEOPLELINK); - modelAndView.addObject("profilelink", CONF.usersDiscoverabilityEnabled(utils.isAdmin(authUser)) ? CONF.serverContextPath() + PROFILELINK : "#"); + modelAndView.addObject("profilelink", CONF.serverContextPath() + PROFILELINK); modelAndView.addObject("searchlink", CONF.serverContextPath() + SEARCHLINK); modelAndView.addObject("signinlink", CONF.serverContextPath() + SIGNINLINK); modelAndView.addObject("signoutlink", CONF.serverContextPath() + SIGNOUTLINK); diff --git a/src/main/resources/templates/base.vm b/src/main/resources/templates/base.vm index 4e95fb17..6ef5fd5a 100755 --- a/src/main/resources/templates/base.vm +++ b/src/main/resources/templates/base.vm @@ -93,7 +93,7 @@ #macro(navbarlinks)
  • $!lang.get("questions.title")
  • - #if($profilelink != "#") + #if($scooldUtils.config.usersDiscoverabilityEnabled($isAdmin))
  • $!lang.get("people.title")
  • #end
  • $!lang.get("tags.title")
  • @@ -273,7 +273,7 @@ #end
  • $!lang.get("posts.ask")
  • $!lang.get("questions.title")
  • - #if($profilelink != "#") + #if($scooldUtils.config.usersDiscoverabilityEnabled($isAdmin))
  • $!lang.get("people.title")
  • #end
  • $!lang.get("tags.title")