Commit 0890984d authored by ourfbht's avatar ourfbht
Browse files

close #5

parent d65d8fc6
Loading
Loading
Loading
Loading
+19 −16
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ public class HelpRequestController {
    @Autowired
    private HelpRequestValidator helpRequestValidator;

    
    @GetMapping("/allHelpRequest")
    public String getAll(Map<String, Object> model) {
        model.put("helpRequests", helpRequestRepository.findAll());
@@ -48,7 +47,8 @@ public class HelpRequestController {
    }

    @PostMapping("/insertHelpRequest")
    public ModelAndView insertHelpRequest(@ModelAttribute HelpRequest helpRequest, BindingResult bindingResult, ModelMap modelMap, 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);
@@ -56,8 +56,7 @@ public class HelpRequestController {
        if (bindingResult.hasErrors()) {
            modelAndView.addObject("registerMessage", "Registration failed: correct the fields !");
            modelMap.addAttribute("bindingResult", bindingResult);
        }
        else { 
        } else {
            String email = SecurityContextHolder.getContext().getAuthentication().getName();
            User user = userService.findByEmail(email);
            helpRequest.setPoulain(user);
@@ -80,6 +79,7 @@ public class HelpRequestController {
        model.put("helpRequests", helpRequestRepository.findByPoulain(user));
        return "ProfileHelpRequest";
    }

    @GetMapping("/allRequestByMentor")
    public String getallPropositionByMentor(Map<String, Object> model, HttpSession session, Principal principal) {
        String email = SecurityContextHolder.getContext().getAuthentication().getName();
@@ -89,7 +89,8 @@ public class HelpRequestController {
    }

    @PostMapping("/acceptRequest")
    public String acceptRequest(@ModelAttribute HelpRequest helpRequest, Model model, HttpSession session, Principal principal) {
    public String acceptRequest(@ModelAttribute HelpRequest helpRequest, Model model, HttpSession session,
            Principal principal) {
        String email = SecurityContextHolder.getContext().getAuthentication().getName();
        User user = userService.findByEmail(email);
        helpRequest.setMentor(user);
@@ -98,7 +99,8 @@ public class HelpRequestController {
    }

    @GetMapping("/editRequest/{id}")
    public String editRequest(@PathVariable("id") Integer helpId, Model model, HttpSession session, Principal principal) {
    public String editRequest(@PathVariable("id") Integer helpId, Model model, HttpSession session,
            Principal principal) {
        HelpRequest helpRequest = helpRequestRepository.findById(helpId);

        String email = SecurityContextHolder.getContext().getAuthentication().getName();
@@ -108,4 +110,5 @@ public class HelpRequestController {
        helpRequestRepository.save(helpRequest);
        return "allHelpRequest";
    }

}
+81 −0
Original line number Diff line number Diff line
package com.example.demo.controller;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import com.example.demo.model.HelpProposition;
import com.example.demo.model.HelpRequest;
import com.example.demo.repository.HelpPropositionRepository;
import com.example.demo.repository.HelpRequestRepository;

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.RequestParam;

@Controller
public class MainController {

    @Autowired
    HelpRequestRepository helpRequestRepository;

    @Autowired 
    HelpPropositionRepository helpPropositionRepository;

    @GetMapping("/search")
    public String search(Map<String, Object> model, @RequestParam(name = "branch") String branch, @RequestParam(name = "datebegin", required = false) String datebegin, @RequestParam(name = "dateend", required = false) String dateend, @RequestParam(name = "timebegin", required = false) String timebegin, @RequestParam(name = "timeend", required = false) String timeend, @RequestParam(name = "type") int type) throws ParseException {

        List<HelpRequest> allListHelpRequest = new ArrayList<>();
        List<HelpProposition> allListHelpProposition = new ArrayList<>();

        if (type == 1){ // HelpRequest
            allListHelpRequest = helpRequestRepository.findByBranchLike("%"+branch+"%");
        }
        else if (type == 2){ // HelpProposition 
            allListHelpProposition = helpPropositionRepository.findByBranchLike("%"+branch+"%");
        }
        else { // both
            allListHelpRequest = helpRequestRepository.findByBranchLike("%"+branch+"%");
            allListHelpProposition = helpPropositionRepository.findByBranchLike("%"+branch+"%");
        }

        // Date begin
        if (datebegin != null && datebegin.length() > 0){
            Date dateBegin = new SimpleDateFormat("yyyy-MM-dd").parse(datebegin);
            if (timebegin != null && timebegin.length() > 0){ // time begin
                dateBegin.setHours(Integer.parseInt(timebegin.substring(0, 2)));
                dateBegin.setMinutes(Integer.parseInt(timebegin.substring(3, 5)));
            }
            allListHelpRequest = allListHelpRequest.stream().filter(x -> x.getDateBegin().after(dateBegin)).collect(Collectors.toList());
            allListHelpProposition = allListHelpProposition.stream().filter(x -> x.getDateBegin().after(dateBegin)).collect(Collectors.toList());
            model.put("dateBegin", dateBegin);
        }

        // Date end
        if (dateend != null && dateend.length() > 0){
            Date dateEnd = new SimpleDateFormat("yyyy-MM-dd").parse(dateend);
            if (timeend != null && timeend.length() > 0){ // time end
                dateEnd.setHours(Integer.parseInt(timeend.substring(0, 2)));
                dateEnd.setMinutes(Integer.parseInt(timeend.substring(3, 5)));
            }
            allListHelpRequest = allListHelpRequest.stream().filter(x -> x.getDateBegin().before(dateEnd)).collect(Collectors.toList());
            allListHelpProposition = allListHelpProposition.stream().filter(x -> x.getDateEnd().after(dateEnd)).collect(Collectors.toList());
            model.put("dateEnd", dateEnd);
        }

        model.put("helpRequests", allListHelpRequest);
        model.put("helpPropositions", allListHelpProposition);
        model.put("helpRequestsSize", allListHelpRequest.size());
        model.put("helpPropositionsSize", allListHelpProposition.size());
        model.put("type", type);
        model.put("branch", branch);

        return "search";
    }
    
}
 No newline at end of file
+2 −1
Original line number Diff line number Diff line
@@ -10,4 +10,5 @@ public interface HelpPropositionRepository extends JpaRepository <HelpPropositio
    List<HelpProposition> findByMentor(User mentor);
    List<HelpProposition> findByPoulain(User poulain);
    HelpProposition findById(Integer id);
    List<HelpProposition> findByBranchLike(String branch);
}
+1 −0
Original line number Diff line number Diff line
@@ -11,4 +11,5 @@ public interface HelpRequestRepository extends JpaRepository <HelpRequest, Long>
    List<HelpRequest> findByPoulain(User poulain);
    List<HelpRequest> findByMentor(User mentor);
    HelpRequest findById(Integer id);
    List<HelpRequest> findByBranchLike(String branch);
}
Loading