package com.example.baziproekt.web; import com.example.baziproekt.model.Korisnici; import com.example.baziproekt.model.exceptions.InvalidUserCredentialsException; import com.example.baziproekt.service.KorisniciService; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; @Controller @RequestMapping("") public class LoginController { private final KorisniciService service; public LoginController(KorisniciService service) { this.service = service; } @GetMapping("/login") public String getLoginPage( @RequestParam(required = false) String error, Model model) { if(error!=null&&!error.isEmpty()) {model.addAttribute("hasError",true); model.addAttribute("error",error);} return "login"; } @PostMapping("/login") public String login(HttpServletRequest request, Model model) { try { Korisnici korisnik=this.service.login(request.getParameter("korisnicko_ime"), request.getParameter("lozinka")); request.getSession().setAttribute("korisnik",korisnik); return "redirect:/home"; } catch (InvalidUserCredentialsException e) { return "redirect:/login?hasError=true&error=" + e.getMessage(); } } }