Merge pull request 'feature/register' (#24) from feature/register into master
Reviewed-by: Jannik Seiler <seil0@mosad.xyz>
This commit is contained in:
		@ -46,11 +46,17 @@ public class RequestController {
 | 
				
			|||||||
            return "login";
 | 
					            return "login";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!user.get().validatePassword(password)) { 
 | 
					        if (!user.get().validatePassword(password)) {
 | 
				
			||||||
            request.setAttribute("error", "Passwort falsch.");
 | 
					            request.setAttribute("error", "Passwort falsch.");
 | 
				
			||||||
            response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
 | 
					            response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
 | 
				
			||||||
            return "login";
 | 
					            return "login";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!user.get().isActive) {
 | 
				
			||||||
 | 
					            request.setAttribute("error", "User ist deaktiviert.");
 | 
				
			||||||
 | 
					            response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
 | 
				
			||||||
 | 
					            return "login";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        session.setAttribute("userId", user.get().getId());
 | 
					        session.setAttribute("userId", user.get().getId());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -69,22 +75,6 @@ public class RequestController {
 | 
				
			|||||||
        return "redirect:/";
 | 
					        return "redirect:/";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @GetMapping("/register")
 | 
					 | 
				
			||||||
    public String register() {
 | 
					 | 
				
			||||||
        return "register";
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @PostMapping("/register")
 | 
					 | 
				
			||||||
    public String registerPost(
 | 
					 | 
				
			||||||
            @RequestParam("username") String username,
 | 
					 | 
				
			||||||
            @RequestParam("password") String password,
 | 
					 | 
				
			||||||
            @RequestParam("password2") String password2,
 | 
					 | 
				
			||||||
            @RequestParam("type") String type
 | 
					 | 
				
			||||||
    ) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        return "redirect:/";
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @GetMapping("/intern/")
 | 
					    @GetMapping("/intern/")
 | 
				
			||||||
    public String intern() {
 | 
					    public String intern() {
 | 
				
			||||||
        return "intern/index";
 | 
					        return "intern/index";
 | 
				
			||||||
 | 
				
			|||||||
@ -24,6 +24,7 @@ public class LoginIntercepter implements HandlerInterceptor {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        HttpSession session = request.getSession();
 | 
					        HttpSession session = request.getSession();
 | 
				
			||||||
        Object userId = session.getAttribute("userId");
 | 
					        Object userId = session.getAttribute("userId");
 | 
				
			||||||
 | 
					        Optional<User> user = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (request.getRequestURI().startsWith("/user/")) {
 | 
					        if (request.getRequestURI().startsWith("/user/")) {
 | 
				
			||||||
            System.out.println("USER");
 | 
					            System.out.println("USER");
 | 
				
			||||||
@ -43,10 +44,24 @@ public class LoginIntercepter implements HandlerInterceptor {
 | 
				
			|||||||
                response.sendRedirect("/login");
 | 
					                response.sendRedirect("/login");
 | 
				
			||||||
                return false;
 | 
					                return false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            user = userRepository.findById((Long) userId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if(user.isPresent() && !user.get().isEmployee)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                session.setAttribute("afterLogin", request.getRequestURI());
 | 
				
			||||||
 | 
					                response.sendRedirect("/");
 | 
				
			||||||
 | 
					                return false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!request.getRequestURI().startsWith("/login")) {
 | 
				
			||||||
 | 
					            session.removeAttribute("afterLogin");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (userId != null) {
 | 
					        if (userId != null) {
 | 
				
			||||||
            Optional<User> user = userRepository.findById((Long) userId);
 | 
					            if (user == null)
 | 
				
			||||||
 | 
					                user = userRepository.findById((Long) userId);
 | 
				
			||||||
            user.ifPresent(value -> request.setAttribute("user", value));
 | 
					            user.ifPresent(value -> request.setAttribute("user", value));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					package org.hso.ecommerce.controller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.hso.ecommerce.entities.shop.Address;
 | 
				
			||||||
 | 
					import org.hso.ecommerce.entities.user.User;
 | 
				
			||||||
 | 
					import org.hso.ecommerce.repos.user.UserRepository;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import org.springframework.stereotype.Controller;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.GetMapping;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.PostMapping;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.RequestParam;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.servlet.http.HttpServletRequest;
 | 
				
			||||||
 | 
					import javax.servlet.http.HttpServletResponse;
 | 
				
			||||||
 | 
					import java.util.Optional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Controller
 | 
				
			||||||
 | 
					public class RegisterController  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Autowired
 | 
				
			||||||
 | 
					    private final UserRepository userRepository = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @PostMapping("/register")
 | 
				
			||||||
 | 
					    public String registerPost(
 | 
				
			||||||
 | 
					            HttpServletRequest request,
 | 
				
			||||||
 | 
					            HttpServletResponse response,
 | 
				
			||||||
 | 
					            @RequestParam("username") String username,
 | 
				
			||||||
 | 
					            @RequestParam("password") String password,
 | 
				
			||||||
 | 
					            @RequestParam("password2") String password2,
 | 
				
			||||||
 | 
					            @RequestParam("salutation") String salutation,
 | 
				
			||||||
 | 
					            @RequestParam("name") String name,
 | 
				
			||||||
 | 
					            @RequestParam("address") String address,
 | 
				
			||||||
 | 
					            @RequestParam("type") String type,
 | 
				
			||||||
 | 
					            @RequestParam("ad") String ad
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Optional<User> user = userRepository.findByEmail(username);
 | 
				
			||||||
 | 
					        if (user.isPresent()) {
 | 
				
			||||||
 | 
					            request.setAttribute("error", "Email Adresse existiert bereits!");
 | 
				
			||||||
 | 
					            response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
 | 
				
			||||||
 | 
					            return "register";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!password.equals(password2)){
 | 
				
			||||||
 | 
					            request.setAttribute("error", "Passwörter sind nicht gleich");
 | 
				
			||||||
 | 
					            response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
 | 
				
			||||||
 | 
					            return "register";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //set values for new user
 | 
				
			||||||
 | 
					        User newUser = new User();
 | 
				
			||||||
 | 
					        newUser.email = username;
 | 
				
			||||||
 | 
					        newUser.setPassword(password);
 | 
				
			||||||
 | 
					        newUser.email = username;
 | 
				
			||||||
 | 
					        newUser.isEmployee = false;
 | 
				
			||||||
 | 
					        //TODO for salutation, type, ad are no attributes/fields in the class/database. Add when they are there.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        newUser.isActive = true;
 | 
				
			||||||
 | 
					        newUser.created = new java.sql.Timestamp(System.currentTimeMillis());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Address newAddress = new Address();
 | 
				
			||||||
 | 
					        newAddress.name = name;
 | 
				
			||||||
 | 
					        newAddress.addressString = address;
 | 
				
			||||||
 | 
					        newUser.defaultDeliveryAddress = newAddress;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        userRepository.save(newUser); // save newUser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return "login";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @GetMapping("/register")
 | 
				
			||||||
 | 
					    public String register() {
 | 
				
			||||||
 | 
					        return "register";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,11 +1,10 @@
 | 
				
			|||||||
package org.hso.ecommerce.entities.booking;
 | 
					package org.hso.ecommerce.entities.booking;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import javax.persistence.Embeddable;
 | 
					import javax.persistence.Embeddable;
 | 
				
			||||||
import javax.validation.constraints.NotNull;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Embeddable
 | 
					@Embeddable
 | 
				
			||||||
public class PaymentMethod {
 | 
					public class PaymentMethod {
 | 
				
			||||||
    @NotNull
 | 
					
 | 
				
			||||||
    public String creditCardNumber;
 | 
					    public String creditCardNumber;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static PaymentMethod fromCreditCarNumber(String cardnumber) {
 | 
					    public static PaymentMethod fromCreditCarNumber(String cardnumber) {
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user