package com.sybit.education.taschengeldboerse.controller; import com.sybit.education.taschengeldboerse.domain.Job; import com.sybit.education.taschengeldboerse.domain.Schueler; import com.sybit.education.taschengeldboerse.service.JobsService; import com.sybit.education.taschengeldboerse.service.SchuelerService; import com.sybit.education.taschengeldboerse.service.UserService; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; /** * Handles requests for the application home page. */ @Controller public class SchuelerController { @Autowired private UserService userService; @Autowired private JobsService jobService; @Autowired SchuelerService schuelerService; /** * Liste der dem Anbieter alle Bewerber auf. * * @param request needed to get the referring url * @return the logical view to be returned */ @RequestMapping(value = "/anbieter/schueler", method = RequestMethod.GET) public String home(final HttpServletRequest request) { return "schueler-liste"; } /** * Lade das Formular für die Anlage eines Schülers. * * @param request needed to get the referring url * @return the logical view to be returned */ @RequestMapping(value = "/registrieren/schueler", method = RequestMethod.GET) public ModelAndView registrierenFormular(final HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("schueler", new Schueler()); modelAndView.setViewName("registrieren-schueler"); return modelAndView; } @RequestMapping(value = "/schueler/schueler-uebernommen", method = RequestMethod.GET) public ModelAndView meineJobsList(final HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView(); //aktuell eingeloggter Benutzer (ist die Email) Authentication auth = SecurityContextHolder.getContext().getAuthentication(); String username = auth.getName(); //anbieter suchen und dem Job zuweisen Schueler schueler = schuelerService.getByEmail(username); List<Job> jobList = jobService.findJobsBySchuelerID(schueler.getId()); modelAndView.addObject("jobList", jobList); modelAndView.setViewName("job-liste"); return modelAndView; } /** * Speichere neuen Schüler. * * @param schueler * @return the logical view to be returned */ @RequestMapping(value = "/registrieren/schueler", method = RequestMethod.POST) public ModelAndView saveForm(@Valid Schueler schueler, BindingResult result) { ModelAndView modelAndView = new ModelAndView(); if (result.hasErrors()) { modelAndView.addObject(result.getModel()); modelAndView.setViewName("registrieren-schueler"); } else { schueler = userService.saveSchueler(schueler); modelAndView.addObject("schueler", schueler); modelAndView.setViewName("login"); } return modelAndView; } }