feature/register #24
@ -46,11 +46,17 @@ public class RequestController {
 | 
			
		||||
            return "login";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!user.get().validatePassword(password)) { 
 | 
			
		||||
        if (!user.get().validatePassword(password)) {
 | 
			
		||||
            request.setAttribute("error", "Passwort falsch.");
 | 
			
		||||
            response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
 | 
			
		||||
            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());
 | 
			
		||||
 | 
			
		||||
@ -69,22 +75,6 @@ public class RequestController {
 | 
			
		||||
        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/")
 | 
			
		||||
    public String intern() {
 | 
			
		||||
        return "intern/index";
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,7 @@ public class LoginIntercepter implements HandlerInterceptor {
 | 
			
		||||
 | 
			
		||||
        HttpSession session = request.getSession();
 | 
			
		||||
        Object userId = session.getAttribute("userId");
 | 
			
		||||
        Optional<User> user = null;
 | 
			
		||||
 | 
			
		||||
        if (request.getRequestURI().startsWith("/user/")) {
 | 
			
		||||
            System.out.println("USER");
 | 
			
		||||
@ -43,10 +44,24 @@ public class LoginIntercepter implements HandlerInterceptor {
 | 
			
		||||
                response.sendRedirect("/login");
 | 
			
		||||
                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) {
 | 
			
		||||
            Optional<User> user = userRepository.findById((Long) userId);
 | 
			
		||||
            if (user == null)
 | 
			
		||||
                user = userRepository.findById((Long) userId);
 | 
			
		||||
            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";
 | 
			
		||||
    }
 | 
			
		||||
| 
					
	
	
	
	
	
	
	
	 
				
					
						Seil0
						commented  
			
		
 `defaultPaymentMethod` braucht man nicht. 
			
			
		 | 
			||||
 | 
			
		||||
    @GetMapping("/register")
 | 
			
		||||
    public String register() {
 | 
			
		||||
        return "register";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,11 +1,10 @@
 | 
			
		||||
package org.hso.ecommerce.entities.booking;
 | 
			
		||||
 | 
			
		||||
import javax.persistence.Embeddable;
 | 
			
		||||
import javax.validation.constraints.NotNull;
 | 
			
		||||
 | 
			
		||||
@Embeddable
 | 
			
		||||
public class PaymentMethod {
 | 
			
		||||
    @NotNull
 | 
			
		||||
 | 
			
		||||
    public String creditCardNumber;
 | 
			
		||||
 | 
			
		||||
    public static PaymentMethod fromCreditCarNumber(String cardnumber) {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user
	
Entweder mit Klammern oder (noch besser) vereinfachen.