Commit f65a478b authored by Luca Verardo's avatar Luca Verardo
Browse files

Merge branch 'master' of github.com:Zegorax/MentorArc

parents a46f8057 228a72f9
Loading
Loading
Loading
Loading
+31 −6
Original line number Diff line number Diff line
@@ -7,15 +7,22 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.example.demo.model.HelpProposition;
import com.example.demo.model.User;
import com.example.demo.repository.HelpPropositionRepository;
import com.example.demo.service.IUserService;
import com.example.demo.validator.HelpPropositionValidator;
import com.example.demo.validator.UserRegisterValidator;

@Controller
public class HelpPropositionController {
@@ -26,6 +33,9 @@ public class HelpPropositionController {
    @Autowired 
    private IUserService userService;

    @Autowired
    private HelpPropositionValidator helpPropositionValidator;
    
    @GetMapping("/allHelpProposition")
    public String getAll(Map<String, Object> model) {
        model.put("helpPropositions", helpPropositionRepository.findAll());
@@ -39,15 +49,30 @@ public class HelpPropositionController {
    }
    
    @PostMapping("/insertHelpProposition")
    public String insertHelpProposition(@ModelAttribute HelpProposition helpProposition, Model model, HttpSession session, Principal principal) {
    public ModelAndView insertHelpProposition(@ModelAttribute HelpProposition helpProposition, BindingResult bindingResult, ModelMap modelMap, HttpSession session, Principal principal) {
        ModelAndView modelAndView = new ModelAndView();

        helpPropositionValidator.validate(helpProposition, bindingResult);

        if(bindingResult.hasErrors()) { 
            modelAndView.addObject("registerMessage", "Registration failed: correct the fields !");
            modelMap.addAttribute("bindingResult", bindingResult);
        }
        else { 
            String email = SecurityContextHolder.getContext().getAuthentication().getName();
            User user = userService.findByEmail(email);

            helpProposition.setMentor(user);

            helpPropositionRepository.save(helpProposition);
        return "formHelpProposition";

            return new ModelAndView("redirect:" + "/formHelpProposition");
        }

        modelAndView.addObject("helpProposition", new HelpProposition());
        modelAndView.setViewName("formHelpProposition");
        
        return modelAndView;
    }

    @GetMapping("/allPropositionByMentor")
+30 −6
Original line number Diff line number Diff line
@@ -9,15 +9,19 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.servlet.ModelAndView;

import com.example.demo.model.HelpRequest;
import com.example.demo.model.User;
import com.example.demo.repository.HelpRequestRepository;
import com.example.demo.service.IUserService;
import com.example.demo.validator.HelpRequestValidator;

@Controller
public class HelpRequestController {
@@ -27,6 +31,9 @@ public class HelpRequestController {
    @Autowired 
    private IUserService userService;

    @Autowired
    private HelpRequestValidator helpRequestValidator;

    
    @GetMapping("/allHelpRequest")
    public String getAll(Map<String, Object> model) {
@@ -41,14 +48,31 @@ public class HelpRequestController {
    }
    
    @PostMapping("/insertHelpRequest")
    public String insertHelpRequest(@ModelAttribute HelpRequest helpRequest, Model model, HttpSession session, Principal principal) {
    public ModelAndView insertHelpRequest(@ModelAttribute HelpRequest helpRequest, BindingResult bindingResult, ModelMap modelMap, HttpSession session, Principal principal) {
        ModelAndView modelAndView = new ModelAndView();

        helpRequestValidator.validate(helpRequest, bindingResult);

        if(bindingResult.hasErrors()) { 
            modelAndView.addObject("registerMessage", "Registration failed: correct the fields !");
            modelMap.addAttribute("bindingResult", bindingResult);
        }
        else { 
            String email = SecurityContextHolder.getContext().getAuthentication().getName();
            User user = userService.findByEmail(email);
            helpRequest.setPoulain(user);

            helpRequestRepository.save(helpRequest);
        return "formHelpRequest";

            return new ModelAndView("redirect:" + "/formHelpRequest");
        }

        modelAndView.addObject("helpRequest", new HelpRequest());
        modelAndView.setViewName("formHelpRequest");
        
        return modelAndView;
    }
    
    @GetMapping("/allRequestByPoulain")
    public String getallPropositionByPoulain(Map<String, Object> model, HttpSession session, Principal principal) {
        String email = SecurityContextHolder.getContext().getAuthentication().getName();
+1 −3
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ import com.example.demo.repository.HelpPropositionRepository;
import com.example.demo.repository.HelpRequestRepository;
import com.example.demo.repository.UserRepository;
import com.example.demo.service.IUserService;
import com.example.demo.UserRegisterValidator;
import com.example.demo.validator.UserRegisterValidator;

@Controller
public class UserController {
@@ -55,10 +55,8 @@ public class UserController {
        if(bindingResult.hasErrors()) { 
            modelAndView.addObject("registerMessage", "Registration failed: correct the fields !");
            modelMap.addAttribute("bindingResult", bindingResult);
            System.out.println("here");
        }
        else { // Saving the users
            System.out.println("gere");
            if (poulain) {
                userService.save(user, "poulain");
            }
+31 −0
Original line number Diff line number Diff line
package com.example.demo.validator;

import com.example.demo.model.HelpProposition;

import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

@Component
public class HelpPropositionValidator implements Validator {

    @Override
    public boolean supports(Class<?> clazz) {
        return HelpProposition.class.equals(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {
        HelpProposition helpProposition = (HelpProposition) target;

        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "branch", "branch.empty", "You must enter a branch!");
        if(helpProposition.getBranch().length() < 2 || helpProposition.getBranch().length() > 32){
            errors.rejectValue("branch", "branch.size", "The size must be between 2 and 32");
        }

        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "timeBegin", "timeBegin.empty", "You must enter a time begin!");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "timeEnd", "timeEnd.empty", "You must enter a time end!");
    }

}
 No newline at end of file
+32 −0
Original line number Diff line number Diff line
package com.example.demo.validator;

import com.example.demo.model.HelpRequest;

import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

@Component
public class HelpRequestValidator implements Validator {

    @Override
    public boolean supports(Class<?> clazz) {
        return HelpRequest.class.equals(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {
        HelpRequest helpRequest = (HelpRequest) target;

        
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "branch", "branch.empty", "You must enter a branch!");
        if(helpRequest.getBranch().length() < 2 || helpRequest.getBranch().length() > 32){
            errors.rejectValue("branch", "branch.size", "The size must be between 2 and 32");
        }

        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "timeBegin", "timeBegin.empty", "You must enter a time begin!");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "timeEnd", "timeEnd.empty", "You must enter a time end!");
    }

}
 No newline at end of file
Loading