aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/www
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2022-12-07 15:54:04 +0300
committerGravatar Vitaly Takmazov2022-12-07 15:54:04 +0300
commit206742aed99a20fea014c83408fb44ff36089351 (patch)
treeddc7858c8b2d9e94787fdd7a7ea3dae05f07c047 /src/main/java/com/juick/www
parent360c42ee8a5a4e190195670e1f19c262801eb45f (diff)
Remove login popup
Diffstat (limited to 'src/main/java/com/juick/www')
-rw-r--r--src/main/java/com/juick/www/controllers/Login.java69
-rw-r--r--src/main/java/com/juick/www/controllers/Site.java33
2 files changed, 33 insertions, 69 deletions
diff --git a/src/main/java/com/juick/www/controllers/Login.java b/src/main/java/com/juick/www/controllers/Login.java
deleted file mode 100644
index f78ccef0..00000000
--- a/src/main/java/com/juick/www/controllers/Login.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2008-2020, Juick
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.juick.www.controllers;
-
-import com.juick.model.User;
-import com.juick.service.UserService;
-import com.juick.service.security.annotation.Visitor;
-
-import jakarta.servlet.http.HttpSession;
-
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.web.WebAttributes;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import javax.inject.Inject;
-
-/**
- * @author Ugnich Anton
- */
-@Controller
-public class Login {
- @Inject
- private UserService userService;
-
- @GetMapping("/login")
- public String getloginForm(@Visitor User visitor, HttpSession session,
- @RequestParam(required = false, defaultValue = "true") boolean redirect, ModelMap model) {
- if (!visitor.isAnonymous()) {
- return redirect ? "redirect:/" : "redirect:/login/success";
- }
- AuthenticationException authEx = (AuthenticationException) session
- .getAttribute(WebAttributes.AUTHENTICATION_EXCEPTION);
-
- if (authEx != null) {
- model.addAttribute("authErrorMessage", authEx.getLocalizedMessage());
- }
-
- String socialLoginError = (String) session.getAttribute(SocialLogin.AUTH_ERROR);
-
- if (socialLoginError != null) {
- model.addAttribute("authErrorMessage", socialLoginError);
- }
-
- return "layouts/login";
- }
-
- @GetMapping("/login/success")
- public String getSuccessLogin(@Visitor User visitor, ModelMap model) {
- model.addAttribute("hash", userService.getHashByUID(visitor.getUid()));
- return "views/login_success";
- }
-}
diff --git a/src/main/java/com/juick/www/controllers/Site.java b/src/main/java/com/juick/www/controllers/Site.java
index 46440b2b..a0b8c5b0 100644
--- a/src/main/java/com/juick/www/controllers/Site.java
+++ b/src/main/java/com/juick/www/controllers/Site.java
@@ -26,6 +26,7 @@ import com.juick.util.WebUtils;
import com.juick.www.WebApp;
import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
import com.juick.service.*;
import com.juick.service.security.annotation.Visitor;
@@ -36,6 +37,8 @@ import org.apache.commons.text.StringEscapeUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.WebAttributes;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.CookieValue;
@@ -92,6 +95,36 @@ public class Site {
.map(t -> t.getTag().getName()).collect(Collectors.toList()));
}
+ @GetMapping("/login")
+ public String getloginForm(@Visitor User visitor, HttpSession session,
+ @RequestParam(required = false, defaultValue = "true") boolean redirect, ModelMap model) {
+ if (!visitor.isAnonymous()) {
+ return redirect ? "redirect:/" : "redirect:/login/success";
+ }
+ model.addAttribute("visitor", visitor);
+ model.addAttribute("tags", tagService.getPopularTags());
+ AuthenticationException authEx = (AuthenticationException) session
+ .getAttribute(WebAttributes.AUTHENTICATION_EXCEPTION);
+
+ if (authEx != null) {
+ model.addAttribute("authErrorMessage", authEx.getLocalizedMessage());
+ }
+
+ String socialLoginError = (String) session.getAttribute(SocialLogin.AUTH_ERROR);
+
+ if (socialLoginError != null) {
+ model.addAttribute("authErrorMessage", socialLoginError);
+ }
+
+ return "views/login";
+ }
+
+ @GetMapping("/login/success")
+ public String getSuccessLogin(@Visitor User visitor, ModelMap model) {
+ model.addAttribute("hash", userService.getHashByUID(visitor.getUid()));
+ return "views/login_success";
+ }
+
@GetMapping("/")
protected String doGet(@Visitor User visitor, Locale locale, @RequestParam(required = false) String tag,
@RequestParam(name = "show", required = false) String paramShow,